使用REST API进行交易、查询资产等操作,需要先申请apikey。
限速策略:对于同一个apikey,api请求限速30次/5秒;对于同一个ip,当一次api请求cmd个数超过15个时,会限速1次/1秒,cmd个数不超过15个不做限速。
基于安全考虑,除行情API 外的 API 请求都必须进行签名运算。一个合法的请求由以下几部分组成
apikey 您申请的 apikey。
请求方法体 即请求结构中的cmds,REST API支持批量请求,即cmds可包含多个方法体,每个方法体表示一次独立API请求,每个方法体都有一组用于定义 API 调用的必需参数和可选参数。可以在每个方法的说明中查看这些参数及其含义。
cmds
签名方法(SignatureMethod) 用户计算签名的基于哈希的协议,此处使用 HmacMD5。
签名 签名计算得出的值,用于确保签名有效和未被篡改。请一定注意:签名是对格式化后的cmds的值进行签名!
例子
{ "cmds": "[{\"cmd\":\"transfer/assets\",\"body\":{\"select\":1}}]", "apikey":"5213595xxxxedca0809axxxxxaba7580xxxxxa6", "sign":"6a21e39e3f68b6fc2227c4074c7e6a6c" //用您的apisecret签名cmds的结果 }
API 请求在通过 Internet 发送的过程中极有可能被篡改。为了确保请求未被更改,我们会要求用户在每个请求中带上签名(行情 API 除外),来校验参数或参数值在传输途中是否发生了更改。
{ "cmds":[ { "cmd":"transfer/assets", "body":{ "select":1 } } ], "apikey":"", "sign":"" }
{ "cmds": "[{\"cmd\":\"transfer/assets\",\"body\":{\"select\":1}}]", //js用 JSON.stringify()进行格式化 "apikey":"", "sign":"" }
apikey
{ "cmds": "[{\"cmd\":\"transfer/assets\",\"body\":{\"select\":1}}]", "apikey":"5213595xxxxedca0809axxxxxaba7580xxxxxa6", "sign":"" }
{ "cmds": "[{\"cmd\":\"transfer/assets\",\"body\":{\"select\":1}}]", "apikey":"5213595xxxxedca0809axxxxxaba7580xxxxxa6", "sign":"6a21e39e3f68b6fc2227c4074c7e6a6c" }
计算签名,将以下两个参数传入加密哈希函数:
要进行签名计算的字符串
"[{\"cmd\":\"transfer/assets\",\"body\":{\"select\":1}}]"
进行签名的密钥(apisecret)
bxxxxxxxxf1236222xxxxxxxxx6d5d76d5xxxxxxxxx
得到签名计算结果
6a21e39e3f68b6fc2227c4074c7e6a6c
完整签名例子 (nodejs实现)
let CryptoJS = require("crypto-js"); let param = [ { "cmd": "transfer/assets", "body": { "select": 1 } } ]; let body = { "cmds": JSON.stringify(param), //格式化param "apikey": "your apikey", "sign": "" }; let secret = "your secret"; let sign = CryptoJS.HmacMD5(body.cmds, secret).toString();//签名cmds body.sign = sign;
There was an error while loading. Please reload this page.
Bibox交易所提供REST API 和 WebSocket API,便于投资者查看行情、快速交易。
https://www.bibox.com