JSON-RPC 2.0 over WebSocket
PUBLIC CHANNELS
板情報のスナップショット
Realtime Public Channel
Channel Name
lightning_board_snapshot_{product_code}
{product_code}
は、マーケットの一覧で取得できるものです。alias
は使用できません。
- BTC/JPY (現物):
lightning_board_snapshot_BTC_JPY
- BTC/JPY FX:
lightning_board_snapshot_FX_BTC_JPY
- ETH/BTC:
lightning_board_snapshot_ETH_BTC
- Lightning Futures:
lightning_board_snapshot_BTCJPY28JUN2019
等
配信内容
板情報のスナップショットを配信します。
- 配信効率などの合理的理由により、配信頻度が制限されています。
- 更新のたびに情報を取得する場合、板情報の差分を利用してください。
asks
,bids
の配列の順序は保証していないため、必要に応じてソートしてください。
{ "mid_price": 33320, "bids": [ { "price": 30000, "size": 0.1 }, { "price": 25570, "size": 3 } ], "asks": [ { "price": 36640, "size": 5 }, { "price": 36700, "size": 1.2 } ] }
板情報の差分
Realtime Public Channel
Channel Name
lightning_board_{product_code}
{product_code}
は、マーケットの一覧で取得できるものです。alias
は使用できません。
- BTC/JPY (現物):
lightning_board_BTC_JPY
- BTC/JPY FX:
lightning_board_FX_BTC_JPY
- ETH/BTC:
lightning_board_ETH_BTC
- Lightning Futures:
lightning_board_BTCJPY28JUN2019
等
配信内容
板情報に更新があったとき、その差分を配信します。
size
は価格に対応する注文の合計数量です。- 価格に対応する注文が約定や失効等で板から消えた時、
size: 0
として配信されます。 - 板寄せ時の成行注文が約定した時、
price: 0
の差分として配信されます。
{ "mid_price": 35625, "bids": [ { "price": 33350, "size": 1 } ], "asks": [] }
Ticker
Realtime Public Channel
Channel Name
lightning_ticker_{product_code}
{product_code}
は、マーケットの一覧で取得できるものです。alias
は使用できません。
- BTC/JPY (現物):
lightning_ticker_BTC_JPY
- BTC/JPY FX:
lightning_ticker_FX_BTC_JPY
- ETH/BTC:
lightning_ticker_ETH_BTC
- Lightning Futures:
lightning_ticker_BTCJPY28JUN2019
等
配信内容
Ticker の内容に更新があったとき、配信されます。
- 配信効率などの合理的理由により、配信頻度が制限されています。
- 最新の最終取引価格を正確に取得したい場合は、約定配信を利用してください。
{ "product_code": "BTC_JPY", "timestamp": "2019-04-11T05:14:12.3739915Z", "tick_id": 25965446, "best_bid": 580006, "best_ask": 580771, "best_bid_size": 2.00000013, "best_ask_size": 0.4, "total_bid_depth": 1581.64414981, "total_ask_depth": 1415.32079982, "ltp": 580790, "volume": 6703.96837634, "volume_by_product": 6703.96837634 }
timestamp
: 時刻 (ISO 形式)ltp
: 最終取引価格 (Last Trade Price)volume
: 直近 24 時間の取引量
約定
Realtime Public Channel
Channel Name
lightning_executions_{product_code}
{product_code}
は、マーケットの一覧で取得できるものです。alias
は使用できません。
- BTC/JPY (現物):
lightning_executions_BTC_JPY
- BTC/JPY FX:
lightning_executions_FX_BTC_JPY
- ETH/BTC:
lightning_executions_ETH_BTC
- Lightning Futures:
lightning_executions_BTCJPY28JUN2019
等
配信内容
約定があったとき、配信されます。
[ { "id": 39361, "side": "SELL", "price": 35100, "size": 0.01, "exec_date": "2015-07-07T10:44:33.547Z", "buy_child_order_acceptance_id": "JRF20150707-014356-184990", "sell_child_order_acceptance_id": "JRF20150707-104433-186048" } ]
side
: この約定を発生させた注文 (テイカー) の売買種別です。板寄せ時に約定した場合は、空文字列となります。
PRIVATE CHANNELS
注文イベント
Realtime Private Channel
このチャンネルは購読する前に認証が必要です
Channel Name
child_order_events
配信内容
注文の内容に更新があったとき、配信されます。
Property | Type | Description | event_type の値 |
---|---|---|---|
product_code | String | BTC_JPY , FX_BTC_JPY など |
– |
child_order_id | String | 注文 ID | – |
child_order_acceptance_id | String | 注文の受付 ID | – |
event_date | String | イベントの発生時間 | – |
event_type | String | イベントの種類: ORDER ,ORDER_FAILED , CANCEL ,CANCEL_FAILED ,EXECUTION , EXPIRE |
– |
child_order_type | String | 注文の種類 | ORDER |
expire_date | String | 注文の期限 | ORDER ,EXECUTION |
reason | String | 注文が拒否された理由 | ORDER_FAILED |
exec_id | Number | 約定 ID | EXECUTION |
side | String | 売買種別: SELL , BUY |
ORDER ,EXECUTION |
price | Number | 価格 | ORDER ,EXECUTION |
size | Number | 数量 | ORDER ,EXECUTION |
commission | Number | 手数料 | EXECUTION |
sfd | Number | SFD 徴収額 | EXECUTION |
// example [ { product_code: 'BTC_JPY', child_order_id: 'JOR20150101-070921-038077', child_order_acceptance_id: 'JRF20150101-070921-194057', event_date: '2015-01-01T07:09:21.9301772Z', event_type: 'ORDER', child_order_type: 'LIMIT', side: 'SELL', price: 500000, size: 0.12, expire_date: '2015-01-01T07:10:21' } ]
親注文(特殊注文)イベント
Realtime Private Channel
このチャンネルは購読する前に認証が必要です
Channel Name
parent_order_events
配信内容
親注文の内容に更新があったとき、配信されます。
Property | Type | Description | event_type の値 |
---|---|---|---|
product_code | String | BTC_JPY ,FX_BTC_JPY など |
– |
parent_order_id | String | 親注文 ID | – |
parent_order_acceptance_id | String | 親注文の受付 ID | – |
event_date | String | イベントの発生時間 | – |
event_type | String | イベントの種類:ORDER ,ORDER_FAILED ,CANCEL , TRIGGER ,COMPLETE , EXPIRE |
– |
parent_order_type | String | STOP , IFD など |
ORDER |
reason | String | 親注文が拒否された理由 | ORDER_FAILED |
child_order_type | String | 子注文の種類:LIMIT , MARKET |
TRIGGER |
parameter_index | Number | 何番目の子注文か | TRIGGER ,COMPLETE |
child_order_acceptance_id | String | 子注文の受付 ID | TRIGGER ,COMPLETE |
side | String | 売買種別: SELL , BUY |
TRIGGER |
price | Number | 価格 | TRIGGER |
size | Number | 数量 | TRIGGER |
expire_date | String | 注文の期限 | ORDER ,TRIGGER |
// example [ { product_code: 'BTC_JPY', parent_order_id: 'JCP20150101-035534-486653', parent_order_acceptance_id: 'JRF20150101-035534-188098', event_date: '2015-01-01T03:55:34.9730659Z', event_type: 'TRIGGER', parameter_index: 1, child_order_type: 'LIMIT', side: 'BUY', price: 500000, size: 0.12, expire_date: '2015-01-02T02:35:34.8199789Z', child_order_acceptance_id: 'JRF20150101-035534-486668' } ]
Socket.IO 2.0 (WebSocket)
Realtime API
Socket.IO についての詳しい情報は Socket.IO 公式サイトをご参照ください。
エンドポイント
https://io.lightstream.bitflyer.com
websocket
transport のみをサポートしています。多くのクライアントにおいて、これを明示的に指定する必要があります。- 接続には TLS 1.2 に対応したクライアントや、場合によっては明示的な設定が必要となります。
メソッド
auth
– 認証要求をしますio.Socket#emit("auth", { /* (Auth Params) */ }, callbackFn)
(Auth Params)
の内容は認証ページを参照してくださいcallbackFn
関数は必ず実装してください (第1引数でエラーを確認できます)
subscribe
– チャンネルの購読を開始しますio.Socket#emit("subscribe", "(Channel Name)"[, callbackFn])
unsubscribe
– チャンネルの購読を解除しますio.Socket#emit("unsubscribe", "(Channel Name)"[, callbackFn])
イベント
(Channel Name)
– 購読しているチャンネルのメッセージが配信されます
コメント