#coin #gmo #api #id #pagination #gmo-coin

gmo-coin-rs

GMOCoin API 的客户端库

1 个不稳定版本

0.1.0 2020年11月23日

#29 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–17MB
~421K SLoC