400 неправильных запросов при вызове coinbase pro (gdax) api - PullRequest
0 голосов
/ 30 января 2019

Я играю с API-интерфейс coinbase, чтобы разместить заказ в песочнице, но получаю неверный ответ на 400.

Вот мой фрагмент кода:

public HttpEntity<String> securityHeaders(String endpoint, String method, String jsonBody) {
    HttpHeaders headers = new HttpHeaders();

    String timestamp = String.valueOf(Instant.now().getEpochSecond());
    String resource = endpoint.replace(baseUrl, "");

    headers.add("accept", "application/json");
    headers.add("content-type", "application/json");
    headers.add("CB-ACCESS-KEY", "3e4aaf5d6af2e030bde7f728e5cd08ed");
    headers.add("CB-ACCESS-SIGN", signature.generate(resource, method, jsonBody, timestamp));
    headers.add("CB-ACCESS-TIMESTAMP", timestamp);
    headers.add("CB-ACCESS-PASSPHRASE", "12345678");
    headers.add("user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36");

    return new HttpEntity<>(jsonBody, headers);
}

public Order placeOrder(Order order) {
    String jsonBody = gson.toJson(order);
    ResponseEntity<Order> response = restTemplate.exchange(baseUrl + "/orders", HttpMethod.POST, 
        securityHeaders("/orders", "POST", jsonBody), new ParameterizedTypeReference<Order>(){});
    Order respOrder = response.getBody();
    return respOrder;
}

Вот отладкавывод:

request=<{"size":"0.01","product_id":"BTC-USD","side":"buy","type":"market"},[accept:"application/json", content-type:"application/json", CB-ACCESS-KEY:"***", CB-ACCESS-SIGN:"***", CB-ACCESS-TIMESTAMP:"1548833321", CB-ACCESS-PASSPHRASE:"***", user-agent:"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36"]>
23:28:41.233 [main] DEBUG org.springframework.web.client.RestTemplate - HTTP POST https://api-public.sandbox.pro.coinbase.com/orders
23:28:41.241 [main] DEBUG org.springframework.web.client.RestTemplate - Accept=[text/plain, application/json, application/*+json, */*]
23:28:41.243 [main] DEBUG org.springframework.web.client.RestTemplate - Writing [{"size":"0.01","product_id":"BTC-USD","side":"buy","type":"market"}] as "application/json"
23:28:41.898 [main] DEBUG org.springframework.web.client.RestTemplate - Response 400 BAD_REQUEST

Чего мне не хватает?

...