bitflyer 2種類の realtime API

JSON-RPC 2.0 over WebSocket

 

PUBLIC CHANNELS

 

板情報のスナップショット

Realtime Public Channel

 

Channel Name

{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 の配列の順序は保証していないため、必要に応じてソートしてください。

板情報の差分

Realtime Public Channel

 

Channel Name

{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 の差分として配信されます。

 

Ticker

Realtime Public Channel

 

Channel Name

{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 の内容に更新があったとき、配信されます。

  • 配信効率などの合理的理由により、配信頻度が制限されています。
  • 最新の最終取引価格を正確に取得したい場合は、約定配信を利用してください。

  •  
  • timestamp: 時刻 (ISO 形式)
  • ltp: 最終取引価格 (Last Trade Price)
  • volume: 直近 24 時間の取引量

約定

Realtime Public Channel

 

Channel Name

{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
 
配信内容

約定があったとき、配信されます。

  • side: この約定を発生させた注文 (テイカー) の売買種別です。板寄せ時に約定した場合は、空文字列となります。

PRIVATE CHANNELS

注文イベント

Realtime Private Channel

このチャンネルは購読する前に認証が必要です

 

Channel Name

 
配信内容

注文の内容に更新があったとき、配信されます。

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

 

親注文(特殊注文)イベント

Realtime Private Channel

このチャンネルは購読する前に認証が必要です

 

Channel Name

 
配信内容

親注文の内容に更新があったとき、配信されます。

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



Socket.IO 2.0 (WebSocket)

Realtime API

Socket.IO についての詳しい情報は Socket.IO 公式サイトをご参照ください。

 

エンドポイント

  • 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) – 購読しているチャンネルのメッセージが配信されます