If you try sending something like a emote to the vault, then you get the error back "The Vendor you requested was not found."
Assuming I was sending a Bygones, I was a little confused til I realised it wasn't a Bygones.
I was sending the emote in error (cause why would you send an emote to the vault anyway?!)
I would consider this a bug (cause the error message could be clearer about what is going on). But I'll be happy if this post helps the next idiot who makes the same mistake.
Example Curl Request (Here I am trying to send the "Stylish Fist Bump" emote to the vault.)
curl 'https://www.bungie.net/Platform/Destiny2/Actions/Items/TransferItem/' -H 'Accept: application/json' -H 'Content-Type: application/json' --data-binary '{"characterId":"2305843009309410383","membershipType":4,"itemId":"6917529092313335902","itemReferenceHash":3946927545,"stackSize":1,"transferToVault":true}'
Response:
{"Response":0,"ErrorCode":1627,"ThrottleSeconds":0,"ErrorStatus":"DestinyVendorNotFound","Message":"The Vendor you requested was not found.","MessageData":{}}
Cheers
Ah, that's actually a funny repercussion of the fact that item transfers are actually a vendor action! It's sneaky - the vault is a vendor that defines source and destination buckets.
I do think it'd be worthwhile for clarity's sake to make a different error code come up in this scenario, as it is not at all clear/doesn't make much sense from a user perspective!
I'm going to switch this to return DestinyItemNotTransferrable instead, which will give you "Item is not transferrable" as the response message: which in this case is true, as you can't transfer Emotes, and hopefully will be more clear to users!
When replaying this get the response
{"Response":0,"ErrorCode":1660,"ThrottleSeconds":0,"ErrorStatus":"DestinyItemNotTransferrable","Message":"Item is not transferrable.","MessageData":{}}
I'll consider this closed then thanks.