blue-sky blue-sky - 2 months ago 21
JSON Question

Sending post request to shapeshift

Using the example pose request from :

method: POST
data type: JSON
data required:
withdrawal = the address for resulting coin to be sent to
pair = what coins are being exchanged in the form [input coin]_[output coin] ie btc_ltc
returnAddress = (Optional) address to return deposit to if anything goes wrong with exchange
destTag = (Optional) Destination tag that you want appended to a Ripple payment to you
rsAddress = (Optional) For new NXT accounts to be funded, you supply this on NXT payment to you
apiKey = (Optional) Your affiliate PUBLIC KEY, for volume tracking, affiliate payments, split-shifts, etc...

example data: {"withdrawal":"AAAAAAAAAAAAA", "pair":"btc_ltc", returnAddress:"BBBBBBBBBBB"}

Success Output:
deposit: [Deposit Address (or memo field if input coin is BTS / BITUSD)],
depositType: [Deposit Type (input coin symbol)],
withdrawal: [Withdrawal Address], //-- will match address submitted in post
withdrawalType: [Withdrawal Type (output coin symbol)],
public: [NXT RS-Address pubkey (if input coin is NXT)],
xrpDestTag : [xrpDestTag (if input coin is XRP)],
apiPubKey: [public API attached to this shift, if one was given]

I send post request to :

with parameters

{"withdrawal":"AAAAAAAAAAAAA", "pair":"btc_ltc", returnAddress:"BBBBBBBBBBB"}

But do not receive a response.

Is my post format correct ?


Ah, there is a mistake in the documentation. The example POST string is no valid JSON "returnAddress" needs to be enquoted.


 $ curl -H "Content-Type: application/json" -X POST -d '{"withdrawal":"LZwZMi6i9suK1wzFaw1NHqcYLcLGAo1Fs3", "pair":"btc_ltc", "returnAddress":"1HpnZkPHDMdiezuxT1sbKgLgBGTb1Q7eEP"}'

Gives me the following response:


You did not state how you query the API, if you use curl you will get always an error string back, whatever you do, e.g.,

{"error":"No Withdrawal Address Specified"}