1 个不稳定版本

0.2.0 2022年6月13日

#27 in #pagination

MIT 协议

140KB
3.5K SLoC

gmo-coin-rs

使用 Rust 编写的 GMOCoin API 的客户端库。

实现情况

  • 公共 API

  • 私有 API

    已实现

  • 公共 WebSocket API

  • 私有 WebSocket API

    尚未实现

使用方法

examples 中大致有说明。

注意事项

API 密钥和 API 秘密

API 密钥和 API 秘密从环境变量 GMO_COIN_API_KEYGMO_COIN_API_SECRET 中读取。 在执行之前,需要设置这些环境变量。

订单 ID、成交 ID、订单 ID 的数据类型

这些数据类型为字符串。

属性命名规则

GMOCoin API 中属性使用驼峰式命名法(例如:orderId),但此库遵循 Rust 习惯,使用蛇形命名法(例如:order_id)进行命名。

响应中不存在属性时的默认值

通常,订单信息获取 API 返回以下形式的响应。

{
  "status": 0,
  "data": {
    "list": [
      {
        "orderId": 223456789,
        "rootOrderId": 223456789,
        "symbol": "BTC_JPY",
        "side": "BUY",
        "orderType": "NORMAL",
        "executionType": "LIMIT",
        "settleType": "OPEN",
        "size": "0.02",
        "executedSize": "0.02",
        "price": "1430001",
        "losscutPrice": "0",
        "status": "EXECUTED",
        "timeInForce": "FAS",
        "timestamp": "2020-10-14T20:18:59.343Z"
      }
    ]
  },
  "responsetime": "2019-03-19T02:15:06.059Z"
}

但是,如果订单 ID 不正确,则返回以下形式的响应。

{
  "status": 0,
  "data": {},
  "responsetime": "2019-03-19T02:15:06.059Z"
}

比较各个响应,可以发现 list 属性是否存在。

因此,在某些情况下,响应中可能不存在属性。 此库在属性不存在时使用默认值。 下表列出了每个属性的默认值。

数组类型的属性

使用默认值作为元素 0 的数组。

分页信息(分页)

使用获取页面数 0 和获取条数 0 作为默认值。

取消类别

使用 NONE 作为默认值。

返回错误响应

可能由于某种原因返回错误响应。 错误响应的格式如下。

{
  "status": ステータスコード,
  "messages": {
    "message_code": エラーコード,
    "message_string": エラー内容
  }
}

如果返回错误响应,则各 API 的返回值 Result<T, E>E 部分返回 error::Error::APIError 这种值。

依赖关系

~12–28MB
~494K SLoC