Я пытаюсь отправить запрос в API Bitmex с JS и PHP.
Вот что я сделал:
Javascript:
var post_data = {"symbol" : symbol, "side": side, "simpleOrderQty" : qty, "ordType" : ordType};
var path = '/api/v1/order';
var expire = Math.round((new Date()).getTime() / 1000) + 10;
var message = "POST" + path+ expire.toString() + data;
var secret = CryptoJS.HmacSHA256(message, secret).toString(CryptoJS.enc.Hex); // this is the secret that I will use in my php code
//hash from this string: POST/api/v1/order1541770067{"symbol":"XBTUSD","side":"Buy","simpleOrderQty":5,"ordType":"Market"} which looks like their example
Тем не менее, когда я использую curl PHP, если я устанавливаю поле записи на это:
{"symbol":"XBTUSD","side":"Buy","simpleOrderQty":5,"ordType":"Market"} // as a string
это дает мне «символ» - обязательный параметр, который я считаю правильным, потому что эта строка не должна работать в любом случае.
но если я использую
http_build_query(json_decode($that_string, true));
Вместо этого будет выдана ошибка подписи.
Так, как я должен пойти с этим, чтобы это работало?
Для справки: https://www.bitmex.com/app/apiKeysUsage