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
websockettransport のみをサポートしています。多くのクライアントにおいて、これを明示的に指定する必要があります。- 接続には 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)– 購読しているチャンネルのメッセージが配信されます