java - Bitfinex API 新订单的有效 JSON 是什么?

标签 java json

我已经被 Bitfinex REST API 困扰了好几天了,特别是 place a new order 的私有(private)端点.

我能够向 API 的其他部分发送有效请求,例如帐户信息或 key 信息等。但在尝试下任何类型的订单时,我不断收到 HTTP 400 错误。

现在,除了一些选项之外,我几乎已经使整个 API 都可以工作了。因此,使用这些条件创建的 JsonObject 可以工作:

JsonObject value = factory.createObjectBuilder()
    .add("request", urlPath)
    .add("nonce", Long.toString(this.getNonce()))
    .add("symbol", this.instrument)
    .add("amount", new BigDecimal(0.1).toString())
    .add("price", new BigDecimal(0.14).toString())
    .add("exchange","bitfinex")
    .add("side", "sell")
    .add("type","exchange limit")
    .build();

但是以下命令返回 HTTP 400:

JsonObject value = factory.createObjectBuilder()
    .add("request", urlPath)
    .add("nonce", Long.toString(this.getNonce()))
    .add("symbol", this.instrument)
    .add("amount", new BigDecimal(0.1).toString())
    .add("price", new BigDecimal(0.14).toString())
    .add("exchange","bitfinex")
    .add("side", "sell")
    .add("type","exchange limit")
    .add("is_hidden","false") // .add("is_hidden",false) does not work either
    .build();

使用此代码,我无法使以下任何参数起作用:

.add("is_hidden","false")
.add("is_postonly","true")
.add("ocoorder","false")
.add("buy_price_oco","0")
.add("sell_price_oco","0")

Bitfinex API 文档非常稀疏。 (他们自己的“尝试一下”示例只是给出了 HTTP 403 错误)。我真的找到了helpful video tutorial from some time back ,其中显示了文档的先前版本的屏幕截图,该文档实际上提供了有效 JSON 的示例。阅读这些像素化的静态图像是我最终能让 /v1/order/new 为我工作的唯一方法。

我是否遗漏了一些非常明显的东西?

最佳答案

您可以尝试打印响应消息来检查错误:

....
HttpResponse response = client.execute(request);
System.out.println(response.getStatusLine().toString());

BufferedReader rd = new BufferedReader(
  new InputStreamReader(response.getEntity().getContent()));

String line = "";
while ((line = rd.readLine()) != null) {
    System.out.println(line);
}

关于java - Bitfinex API 新订单的有效 JSON 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45347001/

相关文章:

java - 在运行时添加依赖于同一类中带有注释的方法的方法

jquery - JSON.解析: unexpected end of data error

json - Azure ARM copyIndex()

javascript - 在angularjs codemirror中显示json对象

java - 在 Jackson 的 JsonDeserializer 中获取检测到的泛型类型

java - EC2 到 RDS 连接失败,但本地主机到 RDS 工作

java - 如何轻松地将 RDF 三元组与惯用的 Java POJO 业务对象相互转换?

java - 需要帮助破译 Java 中的阶乘代码

java - dbunit 模式参数不起作用

javascript - 如何使用 WSO2 API 管理器为我们自己的数据库创建 API