Запрос API GDAX возвращает ошибку 400 BadRequest

Я пытаюсь разместить заказ, используя конечные точки API GDAX, но продолжаю получать код статуса 400 с единственным описанием «BadRequest».

параметры ниже:

httpMethod: "POST"

конечная точка: https://api.gdax.com/orders

Тело JSON: { "product_id": BTC-USD, "stp": cn, "cancel_after": min, "post_only": 1, "time_in_force": GTC, "size": 1e-06, "side": купить , "type": лимит, "price": 1000.01, "client_oid": e7CS7ju58TyH83HScLZnX+wdm8dMAMvZ93bGIlkP1Y= }

Я проверил, что аутентификация работает, и API правильно обрабатывает другие частные запросы, такие как возврат информации об учетной записи, но как рыночные, так и лимитные ордера возвращают ошибку 400 «BadRequest». Кто-нибудь сталкивался с этим раньше? Я проверил и дважды проверил, что вся информация об учетной записи верна и возвращает правильную информацию, но до сих пор не знаю, что еще может быть причиной этого.


person AnthonyZ    schedule 11.12.2017    source источник


Ответы (2)


Я столкнулся с этим ранее сегодня, и я думаю, что GDAX придирчив к полю client_oid (удобно, плохо документировано). Для тестирования вы можете просто отключить его и посмотреть, работает ли это, но мне пришлось использовать exactly UUID.randomUUID() (Java) без префикса или чего-либо еще. Он генерирует случайную шестнадцатеричную строку, содержащую несколько -.

Я не знаю, какой язык программирования вы используете, но, надеюсь, это хотя бы указатель в правильном направлении.

person Max    schedule 06.01.2018
comment
Любая информация о требованиях к полю идентификатора клиента? - person Kevin; 14.01.2018
comment
Не уверен, но я думаю, что он должен выглядеть в основном так же, как order_id, который предоставляет GDAX. Я также нашел здесь пару примеров: github.com/coinbase/gdax-node/issues/ 141 Извините, у меня нет для вас более подходящей информации. - person Max; 14.01.2018

У меня была такая же проблема с кодом С#. Проблема заключалась в том, что я не добавил заголовок User Agent. Когда я это сделал, все работает идеально

HttpClient gdaxClient = new HttpClient();
gdaxClient.DefaultRequestHeaders.Add("User-Agent", ".NET Framework Test Client");
person Manos Kouvarakis    schedule 16.04.2018