HTTP API

HTTP 公用秘钥

HTTP 私有 API

实时 API

API 文件

bitFlyer Lightning 提供两种类型的 API, HTTP API实时 API

HTTP API

端点 URL: https://api.bitflyer.jp/v1/

您可以在 API Playground 试用我们的 API。

API 限制

请注意下面的 HTTP API 使用限制。


验证

调用私有 API 需执行验证。 登录后,在 开发人员页面 使用发布的 API 秘钥和 API 口令。 API 秘钥可供拥有优质经济舱或企业账户的客户使用。

HTTP 请求标题中包含下列信息。

ACCESS-SIGN 是使用 API 口令路径生成的 HMAC-SHA256 签名 使用 ACCESS-TIMESTAMP, HTTP method, 请求路径, 请求正文 关联成为字符串。

// Node.js sample
var request = require('request');
var crypto = require('crypto');

var key = '{{ YOUR API KEY }}';
var secret = '{{ YOUR API SECRET }}';

var timestamp = Date.now().toString();
var method = 'POST';
var path = '/v1/me/sendchildorder';
var body = JSON.stringify({
    product_code: 'BTC_JPY',
    child_order_type: 'LIMIT',
    side: 'BUY',
    price: 30000,
    size: 0.1
});

var text = timestamp + method + path + body;
var sign = crypto.createHmac('sha256', secret).update(text).digest('hex');

var options = {
    url: 'https://api.bitflyer.jp' + path,
    method: method,
    body: body,
    headers: {
        'ACCESS-KEY': key,
        'ACCESS-TIMESTAMP': timestamp,
        'ACCESS-SIGN': sign,
        'Content-Type': 'application/json'
    }
};
request(options, function (err, response, payload) {
    console.log(payload);
});

API 关键权限

设置 API 秘钥时,您可以为每个秘钥设置权限。 要访问 API 秘钥所持权限的列表,请使用 获取 API 权限 API。

API 关键权限

页码

返回多个结果的 API 可在特定范围内读取。

HTTP 公用秘钥

订单册

请求

GET /v1/getboard
GET /v1/board

查询参数

响应

{
  "mid_price": 33320,
  "bids": [
    {
      "price": 30000,
      "size": 0.1
    },
    {
      "price": 25570,
      "size": 3
    }
  ],
  "asks": [
    {
      "price": 36640,
      "size": 5
    },
    {
      "price": 36700,
      "size": 1.2
    }
  ]
}

股票

请求

GET /v1/getticker
GET /v1/ticker

查询参数

响应

{
  "product_code": "BTC_JPY",
  "timestamp": "2015-07-08T02:50:59.97",
  "tick_id": 3579,
  "best_bid": 30000,
  "best_ask": 36640,
  "best_bid_size": 0.1,
  "best_ask_size": 5,
  "total_bid_depth": 15.13,
  "total_ask_depth": 20,
  "ltp": 31690,
  "volume": 16819.26,
  "volume_by_product": 6819.26
}

执行历史

请求

GET /v1/getexecutions
GET /v1/executions

查询参数

响应

[
  {
    "id": 39287,
    "side": "BUY",
    "price": 31690,
    "size": 27.04,
    "exec_date": "2015-07-08T02:43:34.823",
    "buy_child_order_acceptance_id": "JRF20150707-200203-452209",
    "sell_child_order_acceptance_id": "JRF20150708-024334-060234"
  },
  {
    "id": 39286,
    "side": "SELL",
    "price": 33170,
    "size": 0.36,
    "exec_date": "2015-07-08T02:43:34.72",
    "buy_child_order_acceptance_id": "JRF20150708-010230-400876",
    "sell_child_order_acceptance_id": "JRF20150708-024334-197755"
  }
]

兑换状态

此参数允许您决定兑换的当前状态。

请求

GET /v1/gethealth

响应

{
  "status": "NORMAL"
}

聊天

请求

GET /v1/getchats

查询参数

响应

[
  {
    "nickname": "User1234567",
    "message": "你好,世界!",
    "date": "2016-02-16T10:58:08.833"
  },
  {
    "nickname": "ビット太郎",
    "message": "サンプルメッセージ",
    "date": "2016-02-15T10:18:06.67"
  }
]

HTTP 私有 API

调用私有 API 需执行验证。 查看 验证 部分。

获取 API 关键权限

您可以访问列表,了解该 API 秘钥可以使用哪些 HTTP 私有 API。

请求

GET /v1/me/getpermissions

响应

[
  "/v1/me/getpermissions",
  "/v1/me/getbalance",
  "/v1/me/getcollateral",
  "/v1/me/getchildorders",
  "/v1/me/getparentorders",
  "/v1/me/getparentorder",
  "/v1/me/getexecutions",
  "/v1/me/getpositions"
]

获取账户资产余额

请求

GET /v1/me/getbalance

响应

[
  {
    "currency_code": "JPY",
    "amount": 1024078,
    "available": 508000
  },
  {
    "currency_code": "BTC",
    "amount": 10.24,
    "available": 4.12
  },
  {
    "currency_code": "ETH",
    "amount": 20.48,
    "available": 16.38
  }
]

获取保证金状态

请求

GET /v1/me/getcollateral

响应

{
  "collateral": 100000,
  "open_position_pnl": -715,
  "require_collateral": 19857,
  "keep_rate": 5.000
}

获取比特币/以太坊存款地址

请求

GET /v1/me/getaddresses

响应

[
  {
    "type": "NORMAL",
    "currency_code": "BTC",
    "address": "3AYrDq8zhF82NJ2ZaLwBMPmaNziaKPaxa7"
  },
  {
    "type": "NORMAL",
    "currency_code": "ETH",
    "address": "0x7fbB2CC24a3C0cd3789a44e9073381Ca6470853f"
  }
]

获取比特币/以太坊存款历史

请求

GET /v1/me/getcoinins

查询参数

响应

[
  {
    "id": 100,
    "order_id": "CDP20151227-024141-055555",
    "currency_code": "BTC",
    "amount": 0.00002,
    "address": "1WriteySQufKZ2pVuM1oMhPrTtTVFq35j",
    "tx_hash": "9f92ee65a176bb9545f7becb8706c50d07d4cee5ffca34d8be3ef11d411405ae",
    "status": "COMPLETED",
    "event_date": "2015-11-27T08:59:20.301"
  }
]

获取比特币/以太坊交易历史

请求

GET /v1/me/getcoinouts

查询参数

响应

[
  {
    "id": 500,
    "order_id": "CWD20151224-014040-077777",
    "currency_code": "BTC",
    "amount": 0.1234,
    "address": "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa",
    "tx_hash": "724c07dfd4044abcb390b0412c3e707dd5c4f373f0a52b3bd295ce32b478c60a",
    "fee": 0.0005,
    "additional_fee": 0.0001,
    "status": "COMPLETED",
    "event_date": "2015-12-24T01:40:40.397"
  }
]

获取银行账户汇总

返回您的账户注册的银行账户的汇总信息。

请求

GET /v1/me/getbankaccounts

响应

[
  {
    "id": 3402,
    "is_verified": true,
    "bank_name": "三井住友銀行",
    "branch_name": "アオイ支店",
    "account_type": "普通",
    "account_number": "1111111",
    "account_name": "ビットフライヤータロウ"
  }
]

获取现金存款

请求

GET /v1/me/getdeposits

查询参数

响应

[
  {
    "id": 300,
    "order_id": "MDP20151014-101010-033333",
    "currency_code": "JPY",
    "amount": 10000,
    "status": "COMPLETED",
    "event_date": "2015-10-14T10:10:10.001"
  }
]

取消存款

请求

POST /v1/me/withdraw

正文参数

{
  "currency_code": "JPY",
  "bank_account_id": 1234,
  "amount": 12000,
  "code": "012345"
}

应用给取款的额外费用。 请查看 费用和税金 页面了解参考信息。

响应

{
  "message_id":"69476620-5056-4003-bcbe-42658a2b041b"
}


错误响应:

{
  "status": -700,
  "error_message": "This account has not yet been authenticated",
  "data": null
}

如果返回带负 status 值的错误,则取消未委托。

获取存款取消历史

请求

GET /v1/me/getwithdrawals

查询参数

响应

[
  {
    "id": 700,
    "order_id": "MWD20151020-090909-011111",
    "currency_code": "JPY",
    "amount": 12000,
    "status": "COMPLETED",
    "event_date": "2015-10-20T09:09:09.416"
  }
]

发送新订单

请求

POST /v1/me/sendchildorder

正文参数

{
  "product_code": "BTC_JPY",
  "child_order_type": "LIMIT",
  "side": "BUY",
  "price": 30000,
  "size": 0.1,
  "minute_to_expire": 10000,
  "time_in_force": "GTC"
}

响应

如果参数正确,状态代码将显示 200 OK

{
    "child_order_acceptance_id":"JRF20150707-050237-639234"
}

取消订单

请求

POST /v1/me/cancelchildorder

正文参数

{
  "product_code": "BTC_JPY",
  "child_order_id": "JOR20150707-055555-022222"
}

{
  "product_code": "BTC_JPY",
  "child_order_acceptance_id": "JRF20150707-033333-099999"
}

请指定 child_order_idchild_order_acceptance_id

响应

如果参数正确,状态代码将显示 200 OK

提交新父订单(特殊订单)

除简单限价订单(LIMIT)和市价订单(MARKET)外,可以下包含逻辑关系的订单。 此类订单作为父订单处理。 使用特殊订单,可以下订单用于响应市场状况或下多个关联订单。

请在 bitFlyer Lightning 特殊订单文档 中查看特殊订单的类型及其方法

请求

POST /v1/me/sendparentorder

正文参数

{
  "order_method": "IFDOCO",
  "minute_to_expire": 10000,
  "time_in_force": "GTC",
  "parameters": [{
    "product_code": "BTC_JPY",
    "condition_type": "LIMIT",
    "side": "BUY",
    "price": 30000,
    "size": 0.1
  },
  {
    "product_code": "BTC_JPY",
    "condition_type": "LIMIT",
    "side": "SELL",
    "price": 32000,
    "size": 0.1
  },
  {
    "product_code": "BTC_JPY",
    "condition_type": "STOP_LIMIT",
    "side": "SELL",
    "price": 28800,
    "trigger_price": 29000,
    "size": 0.1
  }]
}

parameters 中利用下列秘钥和数值指定对象数组。

响应

如果参数正确,状态代码将显示 200 OK

{
  "parent_order_acceptance_id":"JRF20150707-050237-639234"
}

取消父订单

父订单可按照与常规订单相同的方式取消。 如果取消父订单,则下达的与该订单关联的订单也将取消。

请求

POST /v1/me/cancelparentorder

正文参数

{
  "product_code":"比特币_日元",
  "parent_order_id":"JCO20150925-055555-022222"
}

{
  "product_code":"比特币_日元",
  "parent_order_acceptance_id":"JRF20150925-033333-099999"
}

请指定 parent_order_idparent_order_acceptance_id

响应

如果参数正确,状态代码将显示 200 OK

取消所有订单

请求

POST /v1/me/cancelallchildorders

正文参数

{
  "product_code": "BTC_JPY"
}

响应

如果参数正确,状态代码将显示 200 OK

列出订单

请求

GET /v1/me/getchildorders

查询参数

响应

[
  {
    "id": 138398,
    "child_order_id": "JOR20150707-084555-022523",
    "product_code": "BTC_JPY",
    "side": "BUY",
    "child_order_type": "LIMIT",
    "price": 30000,
    "average_price": 30000,
    "size": 0.1,
    "child_order_state": "COMPLETED",
    "expire_date": "2015-07-14T07:25:52",
    "child_order_date": "2015-07-07T08:45:53",
    "child_order_acceptance_id": "JRF20150707-084552-031927",
    "outstanding_size": 0,
    "cancel_size": 0,
    "executed_size": 0.1,
    "total_commission": 0
  },
  {
    "id": 138397,
    "child_order_id": "JOR20150707-084549-022519",
    "product_code": "BTC_JPY",
    "side": "SELL",
    "child_order_type": "LIMIT",
    "price": 30000,
    "average_price": 0,
    "size": 0.1,
    "child_order_state": "CANCELED",
    "expire_date": "2015-07-14T07:25:47",
    "child_order_date": "2015-07-07T08:45:47",
    "child_order_acceptance_id": "JRF20150707-084547-396699",
    "outstanding_size": 0,
    "cancel_size": 0.1,
    "executed_size": 0,
    "total_commission": 0
  }
]

列出父订单

请求

GET /v1/me/getparentorders

查询参数

响应

[
  {
    "id": 138398,
    "parent_order_id": "JCO20150707-084555-022523",
    "product_code": "BTC_JPY",
    "side": "BUY",
    "parent_order_type": "STOP",
    "price": 30000,
    "average_price": 30000,
    "size": 0.1,
    "parent_order_state": "COMPLETED",
    "expire_date": "2015-07-14T07:25:52",
    "parent_order_date": "2015-07-07T08:45:53",
    "parent_order_acceptance_id": "JRF20150707-084552-031927",
    "outstanding_size": 0,
    "cancel_size": 0,
    "executed_size": 0.1,
    "total_commission": 0
  },
  {
    "id": 138397,
    "parent_order_id": "JCO20150707-084549-022519",
    "product_code": "BTC_JPY",
    "side": "SELL",
    "parent_order_type": "IFD",
    "price": 30000,
    "average_price": 0,
    "size": 0.1,
    "parent_order_state": "CANCELED",
    "expire_date": "2015-07-14T07:25:47",
    "parent_order_date": "2015-07-07T08:45:47",
    "parent_order_acceptance_id": "JRF20150707-084547-396699",
    "outstanding_size": 0,
    "cancel_size": 0.1,
    "executed_size": 0,
    "total_commission": 0
  }
]

父订单和多个关联订单的 price 值和 size 值都只是参考值。

要获取单个订单的详细参数,请使用 API 获取父订单的详细信息。 要获取关联订单的列表,请使用 API 访问 获取订单列表

获取父订单详情

请求

GET /v1/me/getparentorder

查询参数

请仅指定 parent_order_idparent_order_acceptance_id

响应

{
  "id": 4242,
  "parent_order_id": "JCO20150925-046876-036161",
  "order_method": "IFDOCO",
  "minute_to_expire": 10000,
  "parameters": [{
    "product_code": "BTC_JPY",
    "condition_type": "LIMIT",
    "side": "BUY",
    "price": 30000,
    "size": 0.1,
    "trigger_price": 0,
    "offset": 0
  }, {
    "product_code": "BTC_JPY",
    "condition_type": "LIMIT",
    "side": "SELL",
    "price": 32000,
    "size": 0.1,
    "trigger_price": 0,
    "offset": 0
  }, {
    "product_code": "BTC_JPY",
    "condition_type": "STOP_LIMIT",
    "side": "SELL",
    "price": 28800,
    "size": 0.1,
    "trigger_price": 29000,
    "offset": 0
  }],
  "parent_order_acceptance_id": "JRF20150925-060559-396699"
}

列出执行次数

请求

GET /v1/me/getexecutions

查询参数

响应

[
  {
    "id": 37233,
    "child_order_id": "JOR20150707-060559-021935",
    "side": "BUY",
    "price": 33470,
    "size": 0.01,
    "commission": 0,
    "exec_date": "2015-07-07T09:57:40.397",
    "child_order_acceptance_id": "JRF20150707-060559-396699"
  },
  {
    "id": 37232,
    "child_order_id": "JOR20150707-060426-021925",
    "side": "BUY",
    "price": 33470,
    "size": 0.01,
    "commission": 0,
    "exec_date": "2015-07-07T09:57:40.397",
    "child_order_acceptance_id": "JRF20150707-060559-396699"
  }
]

获取持仓量汇总

请求

GET /v1/me/getpositions

查询参数

响应

[
  {
    "product_code": "FX_BTC_JPY",
    "side": "BUY",
    "price": 36000,
    "size": 10,
    "commission": 0,
    "swap_point_accumulate": -35,
    "require_collateral": 120000,
    "open_date": "2015-11-03T10:04:45.011",
    "leverage": 3,
    "pnl": 965
  }
]

获取交易手续费

请求

GET v1/me/gettradingcommission

查询参数

响应

{
  "commission_rate": 0.001
}

实时 API

bitFlyer 使用 PubNub 发送实时更新信息。

PubNub Subscribe Key: sub-c-52a9ab50-291b-11e5-baaa-0619f8945a4f

亦请查看 PubNub 文档

// Node.js sample
var PubNub = require('pubnub');
var pubnub = new PubNub({
    subscribeKey: 'sub-c-52a9ab50-291b-11e5-baaa-0619f8945a4f'
});
pubnub.addListener({
    message: function (message) {
        console.log(message.channel, message.message);
    }
});
pubnub.subscribe({
    channels: ['lightning_ticker_BTC_JPY']
});

订单册

PubNub 渠道名称

响应

订单册的快照。 如果数据量过大,则每次更新内容的数据分配无法获得保证。 要根据每次更新内容返回数据,请使用 订单册更新

请参阅 订单册部分查看响应示例。

订单册更新

PubNub 渠道名称

响应

如果证券行市牌上的订单发生更新,则更新信息将会发出。 下列响应显示订单的更新 ¥33350 出价和总数量 1 比特币。

{
  mid_price: 35625,
  bids: [
    {
      price: 33350,
      size: 1
    }
  ],
  asks: []
}

股票

PubNub 渠道名称

响应

在每次有更新内容时发送。查看 股票部分。

执行次数

PubNub 渠道名称

响应

在每次创建执行时发出。

[
  {
    "id": 39361,
    "side": "SELL",
    "price": 35100,
    "size": 0.01,
    "exec_date": "2015-07-07T10:44:33.547",
    "buy_child_order_acceptance_id": "JRF20150707-014356-184990",
    "sell_child_order_acceptance_id": "JRF20150707-104433-186048"
  }
]