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 |