bitFlyer Lightning
HTTP APIとRealtime API
HTTP API
API制限
- Private API の呼出は 5 分間で 500 回を上限
- 同一 IP アドレスからの API の呼出は 5 分間で 500 回を上限
- 0.1 以下の数量の注文は、すべての板の合計で 1 分間で 100 回を上限
認証
リクエストヘッダに含めます。
- ACCESS-KEY: 開発者ページで発行した API key
- ACCESS-TIMESTAMP: リクエスト時の Unix Timestamp
- ACCESS-SIGN: 以下の方法でリクエストごとに生成した署名
TIMESTAMP,
HTTP メソッド,
リクエストのパス,
リクエストボディ
これらを文字列として連結したものを、 API secret で HMAC-SHA256 署名を行ったもの
これらの条件を整えたコード例
#持ち玉を取得するコード例 import datetime import hmac import hashlib import requests url = "https://api.bitflyer.com" path_url = "/v1/me/getpositions?product_code=FX_BTC_JPY" method = "GET" timestamp = str(datetime.datetime.today()) message = timestamp + method + path_url signature = hmac.new(bytearray('あなたのsecret'.encode('utf-8')), message.encode('utf-8') , digestmod = hashlib.sha256 ).hexdigest() headers = { 'ACCESS-KEY' : 'あなたのkey', 'ACCESS-TIMESTAMP' : timestamp, 'ACCESS-SIGN' : signature, 'Content-Type' : 'application/json'} response = requests.get( url + path_url , headers = headers) result=response.json() print(result[0])
使い方 url+path+query
url=’https://api.bitflyer.com’
query path
GET /v1/getmarkets
GET /v1/markets
GET /v1/getmarkets/usa
GET /v1/markets/usa
GET /v1/getmarkets/eu
GET /v1/markets/eu
GET /v1/getboard
GET /v1/board
GET /v1/getticker
GET /v1/ticker
GET /v1/getexecutions
GET /v1/executions
GET /v1/getchats
GET /v1/getchats/usa
GET /v1/getchats/eu
GET /v1/gethealth
GET /v1/getboardstate
GET /v1/me/getpermissions (Private)
GET /v1/me/getbalance (Private)
GET /v1/me/getcollateral (Private)
GET /v1/me/getcollateralaccounts (Private)
POST /v1/me/sendchildorder (Private)
POST /v1/me/sendparentorder (Private)
POST /v1/me/cancelchildorder (Private)
POST /v1/me/cancelparentorder (Private)
POST /v1/me/cancelallchildorders (Private)
GET /v1/me/getchildorders (Private)
GET /v1/me/getparentorders (Private)
GET /v1/me/getparentorder (Private)
GET /v1/me/getexecutions (Private)
GET /v1/me/getbalancehistory (Private)
GET /v1/me/getpositions (Private)
GET /v1/me/getcollateralhistory (Private)
GET /v1/me/gettradingcommission (Private)
GET /v1/me/getaddresses (Private)
GET /v1/me/getcoinins (Private)
GET /v1/me/getcoinouts (Private)
GET /v1/me/getdeposits (Private)
GET /v1/me/getwithdrawals (Private)
GET /v1/me/getbankaccounts (Private)
POST /v1/me/withdraw (Private)
bitFlyer Lightning Realtime API
エンドポイント
wss://ws.lightstream.bitflyer.com/json-rpc
サーバーメソッド
auth
– 認証要求をします- params の内容は認証ページを参照してください
- 認証に成功すると
true
が返ります (必ず確認してください)
subscribe
– チャンネルの購読を開始します- params:
{ channel: "(Channel Name)" }
- 購読が開始されると
true
が返ります
- params:
unsubscribe
– チャンネルの購読を解除します- params:
{ channel: "(Channel Name)" }
- 購読が解除されると
true
が返ります
- params:
クライアントメソッド
channelMessage
– 購読している全チャンネルのメッセージが配信されます
Private Channel の購読には認証が必要です。
API ページにおいて発行した API Key と API Secret を使用します。「注文のイベントを受信」という権限が必要です。
API Key は、bitFlyer Lightning がご利用可能なアカウントクラスのお客様にご利用いただけます。
各接続方法の auth
メソッドにて認証要求が可能です。
認証完了またはエラーのレスポンスを必ず確認してから次の動作を実行してください。
認証要求パラメーター
下記のプロパティは全て必須です。
Property | Type | Description |
---|---|---|
api_key | String | API Key |
timestamp | Number | リクエスト時の Unix Timestamp (10 または 13 桁) |
nonce | String | リクエストごとにランダムな文字列 (16 から 255 文字) |
signature | String | 上記 timestamp + nonce を文字列連結したものを API Secret で HMAC SHA256 署名した Hex (16進数) 文字列 |
Socket.IO
lightning_board_snapshot_<productCode>
lightning_board_<productCode>
lightning_ticker_<productCode>
lightning_executions_<productCode>
child_order_events (Private)
parent_order_events (Private)
JSON-RPC 2.0 over WebSocket
lightning_board_snapshot_<productCode>
lightning_board_<productCode>
lightning_ticker_<productCode>
lightning_executions_<productCode>
child_order_events (Private)
parent_order_events (Private)
<番外>最小・最大発注数量(テストの際気をつけないと怒られる)
Lightning 現物
取扱通貨ペア | 単位 | 最小発注数量 | 最大発注数量 | 保有制限数量 |
---|---|---|---|---|
BTC/JPY | BTC | 0.001 | 1,000 | 無 |
ETH/BTC | ETH | 0.01 | 1,000 | 無 |
BCH/BTC | BCH | 0.01 | 1,000 | 無 |
ETH/JPY | ETH | 0.01 | 1,000 | 無 |
Lightning FX
取扱通貨ペア | 単位 | 最小発注数量 | 最大発注数量 | 保有建玉数量 |
---|---|---|---|---|
BTC-FX/JPY | BTC-FX | 0.01 | 1,000 | 1,000 |
Lightning Futures
先物の種類 | 単位 | 最小発注数量 | 最大発注数量 | 保有建玉数量 |
---|---|---|---|---|
1 週間先物 | BFT | 0.001 | 1,000 | 1,000 |
2 週間先物 | BFT | 0.001 | 1,000 | 1,000 |
3 か月先物 | BFT | 0.001 | 1,000 | 1,000 |