API 文書

インターフェースリスト

リンク先 説明 方法
/api/v2/markets 全部の取引市場を取得する GET
/api/v2/orders 目の前のユーザーのレスティングオーダーを取得する GET
/api/v2/order 特定のIDレスティングオーダーを取得する GET
/api/v2/orders/multi 多数のレスティングオーダーを生成する POST
/api/v2/orders 一つのレスティングオーダーを生成する POST
/api/v2/order/delete レスティングオーダーをキャンセルする POST
/api/v2/orders/clear 全部のレスティングオーダーを取り除く POST
/api/v2/order_book 目の前の取引市場レスティングオーダーを取得する GET
/api/v2/tickers 目の前全部の市場ティッカーを取得する GET
/api/v2/tickers/:market 特定の市場ティッカーを取得する GET
/api/v2/trades 全部の成約記録を取得する GET
/api/v2/trades/my マイ成約記録を取得する GET
/api/v2/members/me アカウント情報を取得する GET

Signature作成規則

まず、呼び出したい機能を文字列で表してから、この文字列HMAC-SHA256の演算処理を行います。

hash = HMAC-SHA256(payload, secret_key).to_hex

上記のplayloadが機能の文字列を表し、HTTPの組合せによって、求めるアドレスとパラメーターを取得できます。

# canonical_verb 求める方法,例:GET # canonical_uri 求めるアドレス,例: /api/v2/markets # canonical_query 求めるパラメーター,access_key とtonce を含む文字列とパラメーターを形成します。 # パラメーターは必ずアルファベット順に配列しなければなりません。 # 例:access_key=xxx&foo=bar&tonce=123456789 # 最後に三文字の文字列を「|」の文字で連結します。見た感じは以下のようになります。 # GET|/api/v2/markets|access_key=xxx&foo=bar&tonce=123456789
def payload "#{canonical_verb}|#{canonical_uri}|#{canonical_query}" end

仮に設定したsecret_keyはyyyであり、HMAC-SHA256計算法で上記の例のpayloadを計算した結果は(hexで表示)

payload = 'GET|/api/v2/markets|access_key=xxx&foo=bar&tonce=123456789' hash = HMAC-SHA256(payload, 'yyy').to_hex # e324059be4491ed8e528aa7b8735af1e96547fbec96db962d51feb7bf1b64dee

現在、我々はこのようにしてSigniture機能(Curlを例として)Signature機能を使用している。

curl -X GET 'https://neraex.com/api/v2/markets?access_key=xxx&foo=bar&tonce=123456789&signature=e324059be4491ed8e528aa7b8735af1e96547fbec96db962d51feb7bf1b64dee'
注意: payloadを作成するにあたり,canonical_query は文字列の最初のアルファベットの順に従い配列する。例:t=1&b=2&c=3 を b=2&c=3&t=1に返還後,再びSignatureを作成。

Market

GET /api/v2/markets

パラメタ名 パラメタタイプ 必須項目 説明
パラメタなし

結果に戻る

[
    {
        "id": "btccny",
        "name": "BTC/CNY"
    },
    ....
]

Order

GET /api/v2/orders

パラメタ名 パラメタタイプ 必須項目 説明
access_key String true APIアクセスパスワード
tonce Integer true タイムスタンプ
signature String true パラメタサイン
market String true 取引市場
state String false レスティングオーダー状態(cancel,wait,done)
limit Integer false レスティングオーダー数を取得する
page Integer false ページ数
order_by String false 記録ランキングを取得する

結果に戻る

[
    {
        "id": 114214,
        "side": "buy",
        "ord_type": "limit",
        "price": "19883.32",
        "avg_price": "0.0",
        "state": "wait",
        "market": "btccny",
        "created_at": "2017-09-06T18:12:20+08:00",
        "volume": "0.3845",
        "remaining_volume": "0.3845",
        "executed_volume": "0.0",
        "trades_count": 0
    },
    ....
]

GET /api/v2/order

パラメタ名 パラメタタイプ 必須項目 説明
access_key String true APIアクセスパスワード
tonce Integer true タイムスタンプ
signature String true パラメタサイン
id Integer true レスティングオーダーID

結果に戻る

{
    "id": 116196,
    "side": "sell",
    "ord_type": "limit",
    "price": "34107.02",
    "avg_price": "0.0",
    "state": "wait",
    "market": "btccny",
    "created_at": "2017-09-06T20:29:39+08:00",
    "volume": "0.4196",
    "remaining_volume": "0.4196",
    "executed_volume": "0.0",
    "trades_count": 0,
    "trades": [ ]
}

POST /api/v2/orders/multi
POST /api/v2/orders

パラメタ名 パラメタタイプ 必須項目 説明
access_key String true APIアクセスパスワード
tonce Integer true タイムスタンプ
signature String true パラメタサイン
market String true 取引市場
side String true レスティングオーダー
volume Integer true レスティングオーダー数
price Integer true レスティングオーダー値段
ord_type String false 取引タイプ

結果に戻る

[
    {
        "id": 114214,
        "side": "buy",
        "ord_type": "limit",
        "price": "19883.32",
        "avg_price": "0.0",
        "state": "wait",
        "market": "btccny",
        "created_at": "2017-09-06T18:12:20+08:00",
        "volume": "0.3845",
        "remaining_volume": "0.3845",
        "executed_volume": "0.0",
        "trades_count": 0
    },
    ....
]

POST /api/v2/order/delete

パラメタ名 パラメタタイプ 必須項目 説明
access_key String true APIアクセスパスワード
tonce Integer true タイムスタンプ
signature String true パラメタサイン
id Integer true レスティングオーダーID

結果に戻る

[
    {
        "id": 114214,
        "side": "buy",
        "ord_type": "limit",
        "price": "19883.32",
        "avg_price": "0.0",
        "state": "wait",
        "market": "btccny",
        "created_at": "2017-09-06T18:12:20+08:00",
        "volume": "0.3845",
        "remaining_volume": "0.3845",
        "executed_volume": "0.0",
        "trades_count": 0
    },
    ....
]

POST /api/v2/orders/clear

パラメタ名 パラメタタイプ 必須項目 説明
access_key String true APIアクセスパスワード
tonce Integer true タイムスタンプ
signature String true パラメタサイン
side String false レスティングオーダー

結果に戻る

[
   {
        "id": 114699,
        "side": "sell",
        "ord_type": "limit",
        "price": "35092.44",
        "avg_price": "0.0",
        "state": "wait",
        "market": "btccny",
        "created_at": "2017-09-06T18:43:35+08:00",
        "volume": "0.7591",
        "remaining_volume": "0.7591",
        "executed_volume": "0.0",
        "trades_count": 0
    },
    ....
]

GET /api/v2/order_book

パラメタ名 パラメタタイプ 必須項目 説明
market String true 取引市場
asks_limit Integer false 売り上げの記録数を取得する
bids_limit Integer false 買い上げの記録数を取得する

結果に戻る

{
    "asks": [
        {
            "id": 115035,
            "side": "sell",
            "ord_type": "limit",
            "price": "28390.37",
            "avg_price": "0.0",
            "state": "wait",
            "market": "btccny",
            "created_at": "2017-09-06T19:05:52+08:00",
            "volume": "0.4263",
            "remaining_volume": "0.4263",
            "executed_volume": "0.0",
            "trades_count": 0
        },
        ......
    ],
    "bids": [
        {
            "id": 115169,
            "side": "buy",
            "ord_type": "limit",
            "price": "28198.91",
            "avg_price": "0.0",
            "state": "wait",
            "market": "btccny",
            "created_at": "2017-09-06T19:15:28+08:00",
            "volume": "0.9437",
            "remaining_volume": "0.9437",
            "executed_volume": "0.0",
            "trades_count": 0
        },
        ......
    ]
}

Ticker

GET /api/v2/tickers

パラメタ名 パラメタタイプ 必須項目 説明
パラメタなし

結果に戻る

{
    "btccny": {
        "at": 1504696667,
        "ticker": {
            "buy": "28198.91",
            "sell": "28202.08",
            "low": "25649.02",
            "high": "28401.15",
            "last": "28202.82",
            "vol": "1487.0246"
        }
    },
    ......
}

GET /api/v2/tickers/:market

パラメタ名 パラメタタイプ 必須項目 説明
market String true 取引市場

結果に戻る

{
    "at": 1504696728,
    "ticker": {
        "buy": "28198.91",
        "sell": "28201.34",
        "low": "25649.02",
        "high": "28401.15",
        "last": "28201.85",
        "vol": "1486.6039"
    }
}

Trade

GET /api/v2/trades

パラメタ名 パラメタタイプ 必須項目 説明
market String true 取引市場
limit Integer false 記録数を取得する
timestamp Integer false レスティングオーダー
from Integer false レスティングオーダー数
to Integer false レスティングオーダー値段
order_by String false 取引タイプ

結果に戻る

[
    {
        "id": 37597,
        "price": "28198.83",
        "volume": "0.603",
        "funds": "17003.89449",
        "market": "btccny",
        "created_at": "2017-09-06T19:19:51+08:00",
        "at": 1504696791,
        "side": "down"
    },
    ......
]

GET /api/v2/trades/my

パラメタ名 パラメタタイプ 必須項目 説明
access_key String true APIアクセスパスワード
tonce Integer true タイムスタンプ
signature String true パラメタサイン
market String true 取引市場
limit Integer false 取引数を取得する
timestamp Integer false タイムスタンプ
from Integer false from取引ID
to Integer false to取引ID
order_by String false 記録ランキングを取得する

結果に戻る

{
    "id": 37798,
    "price": "28220.09",
    "volume": "0.1277",
    "funds": "3603.705493",
    "market": "btccny",
    "created_at": "2017-09-06T20:29:44+08:00",
    "at": 1504700984,
    "side": "ask",
    "order_id": 116200
}

Member

GET /api/v2/members/me

パラメタ名 パラメタタイプ 必須項目 説明
access_key String true APIアクセスパスワード
tonce Integer true タイムスタンプ
signature String true パラメタサイン

結果に戻る

{
    "sn": "PEAQXYPX4WMTIO",
    "name": nil,
    "email": "autotrade_btc@brockex.com",
    "activated": true,
    "memo": "5912",
    "accounts": [
        {
            "currency": "cny",
            "balance": "9066001.2711889746",
            "locked": "480114.941754"
        },
        {
            "currency": "btc",
            "balance": "999958.6670912",
            "locked": "19.6347"
        },
        {
            "currency": "eth",
            "balance": "0.0",
            "locked": "0.0"
        },
        {
            "currency": "cfc",
            "balance": "0.0",
            "locked": "0.0"
        },
        {
            "currency": "sdc",
            "balance": "0.0",
            "locked": "0.0"
        },
        {
            "currency": "tc",
            "balance": "1700.894835",
            "locked": "0.0"
        },
        {
            "currency": "rss",
            "balance": "0.0",
            "locked": "0.0"
        }
    ]
}