Crates.io | gmo-coin-rs2 |
lib.rs | gmo-coin-rs2 |
version | 0.2.0 |
source | src |
created_at | 2022-06-13 14:36:47.236795 |
updated_at | 2022-06-13 14:36:47.236795 |
description | Client library for GMO Coin API. |
homepage | |
repository | https://github.com/serinuntius/gmo-coin-rs |
max_upload_size | |
id | 605140 |
size | 202,664 |
Rust 製の GMOCoin API のクライアントライブラリです。
Public API
Private API
した
Public Websocket API
Private Websocket API
まだ
examples
に大体書いてあります。
API キー, API シークレットは環境変数GMO_COIN_API_KEY
, GMO_COIN_API_SECRET
から読み取ります。
実行前にこれらの環境変数を設定しておく必要があります。
これらのデータ型 は文字列とします。
GMO コイン 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
という値を返します。