Hibt OpenAPI 文档
API 介绍
接入准备
交易对
交易对由基础币种和报价币种组成。以交易对 BTC/USDT 为例,BTC 为商品币种,USDT 为计价币种。
申请API Key
创建成功后请务必记住以下信息:
Access Key
API 访问密钥Secret Key
签名认证加密所使用的密钥(仅申请时可见)
接口鉴权
公共接口可用于获取基础信息和行情数据。公共接口无需认证即可调用。
私有接口可用于交易管理和账户管理。每个私有请求必须使用您的API Key进行签名验证。
接入URLs
REST API
https://api.hibt0.co/open-api
签名认证
API 请求在通过 internet 传输的过程中极有可能被篡改,为了确保请求未被更改,除公共接口(基础信息,行情数据)外的私有接口均必须使用您的 API Key 做加密处理,以校验参数或参数值在传输途中是否发生了更改。 每一个API Key需要有适当的权限才能访问相应的接口,每个新创建的API Key都需要分配权限。在使用接口前,请查看每个接口的权限类型,并确认你的API Key有相应的权限。
一个合法的请求所需要的内容:
方法请求地址:即访问服务器地址 https://api.hibt0.com/open-api。
API 访问密钥(X-ACCESS-KEY):您申请的 API Key 中的 Access Key。
必选和可选参数:每个方法都有一组用于定义 API 调用的必需参数和可选参数。可以在每个方法的说明中查看这些参数及其含义。
签名:加密计算得出的值,用于确保签名有效和未被篡改,为了您 API Key 的安全,一次参数签名 5 分钟后会过期。
签名必要参数**:需要签名认证的接口,必须添加 reqTime 参数(传值为服务器最新时间,可通过
/v1/common/systemTime
接口获取)。
加密方式
规范要计算签名的请求 因为使用 HMAC 进行签名计算时,使用不同内容计算得到的结果会完全不同。所以在进行签名计算前,请先对请求进行规范化处理。下面以查询某订单详情请求为例进行说明:
下单请求URL
对参数按照ASCII码顺序进行排序
将排完序的请求参数使用secretKey 进行HMAC SHA256进行加密,得到的结果
构建 http 请求使用
使用 X-ACCESS-KEY 存储access key信息,并在 header 中进行参数传递
使用 X-SIGNATURE 存储生成的签名信息,并在 header 中进行参数传递
请求方式
目前只有两种方法:GET和POST
GET请求:所有的参数都在路径参数里
POST请求,所有参数以form-data格式发送在请求主体(body)里
返回格式
所有的接口都是JSON格式。在JSON最上层有三个字段:message
, code
和 data
。前两个字段表示请求状态和信息,实际的业务数据在data
字段里。
常见错误码
1xxx(访问失败类)
2xxx(业务失败类)
错误码 | 描述 |
---|---|
0 | 成功 |
1001 | 接口请求限流 |
1101 | API Key鉴权失败 |
1102 | 密钥解密失败 |
1103 | 访问 IP 不在白名单内 |
2001 | 参数为空 |
2002 | 时间范围错误 |
2003 | 请求时间参数为空 |
2004 | 请求时间已过期 |
2101 | 账户不存在 |
2102 | API Key不存在 |
2103 | 交易对不存在 |
2201 | 用户 API Key 被禁用 |
2202 | IP 被禁用 |
9999 | 其他异常,具体参照 message 内容 |
现货接口
基础信息接口
服务器时间
HTTP 请求
GET
/v1/common/systemTime
鉴权:否
限流:100次/1秒
请求参数
此接口不接受任何参数。
返回字段
字段名称 | 数据类型 | 描述 |
---|---|---|
data | long | 服务器时间戳 |
所有交易对信息
HTTP 请求
GET
/v1/common/symbols
鉴权:否
限流:5次/1秒
请求参数
此接口不接受任何参数。
返回字段
字段名称 | 数据类型 | 描述 |
---|---|---|
symbol | string | 交易对 |
baseCoinScale | integer | 计价币数量精度 |
coinScale | integer | 商品币数量精度 |
priceScale | integer | 价格精度 |
baseSymbol | string | 基础币 |
coinSymbol | string | 计价币 |
minTurnover | decimal | 最小挂单成交额 |
minVolume | decimal | 最小下单量 |
maxVolume | decimal | 最大下单量 |
enable | integer | 是否支持交易(0-否;1-是) |
行情接口
最新成交价
此接口提供交易对当前最新成交价
HTTP 请求
GET
/v1/market/ticker/price
鉴权:否
限流:10次/1秒
请求参数
参数 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | string | true | 交易对 |
返回字段
字段名称 | 数据类型 | 描述 |
---|---|---|
tickerPrice | decimal | 最新成交价 |
深度数据
此接口返回指定交易对的当前深度数据。
HTTP 请求
GET
/v1/market/depth
鉴权:否
限流:10次/1秒
请求参数
参数 | 数据类型 | 是否必须 | 描述 | 取值范围 |
---|---|---|---|---|
symbol | string | true | 交易对 | |
depth | integer | true | 返回深度的数量 | 最大 50 档 |
返回字段
字段名称 | 数据类型 | 描述 |
---|---|---|
symbol | string | 交易对 |
bids | array | 买盘深度列表 |
asks | array | 买盘深度列表 |
timestamp | datetime | 时间 |
账户接口
账户余额
此接口返回指定交易对的当前深度数据。
HTTP 请求
POST
/v1/account/balance
鉴权:是
限流:5次/1秒
请求参数
参数 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
coin | string | false | 币种 |
返回字段
字段名称 | 数据类型 | 描述 |
---|---|---|
coin | string | 币种 |
balance | decimal | 余额 |
frozenBalance | decimal | 冻结余额 |
isLock | string | 是否锁定 |
交易接口
未完成挂单
HTTP 请求
POST
/v1/trade/openOrder
鉴权:是
限流:10次/1秒
请求参数
参数 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | string | true | 交易对 |
direction | integer | true | 订单方向(0-买;1-卖) |
返回字段
字段名称 | 数据类型 | 描述 | |
---|---|---|---|
orderId | string | 挂单 ID | |
clOrdId | string | 客户自定义订单ID | |
price | decimal | 订单价格 | |
avgPrice | decimal | 成交均价 | |
amount | decimal | 买盘深度列表 | |
tradedAmount | decimal | 已成交数量 | |
turnover | decimal | 交易额(已成交数量*成交价格) | |
symbol | string | 交易对 | |
baseSymbol | string | 计价币种 | |
coinSymbol | string | 商品币种 | |
direction | integer | 方向(0-买;1-卖) | |
status | integer | 状态(0-交易中;1-完成;2-取消;3-超时;4-部分成交;) | |
type | integer | 类型(0-市价;1-限价;) | |
completedTime | long | 订单完成时间 | |
canceledTime | long | 订单取消时间 | |
time | long | 订单创建时间 |
历史挂单(范围 3 个月)
HTTP 请求
POST
/v1/trade/history
鉴权:是
限流:10次/1秒
请求参数
参数 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | string | true | 交易对 |
startTime | long | true | 开始时间(ms) |
endTime | long | true | 结束时间(ms) |
返回字段
字段名称 | 数据类型 | 描述 | |
---|---|---|---|
orderId | string | 挂单 ID | |
clOrdId | string | 客户自定义订单ID | |
price | decimal | 订单价格 | |
avgPrice | decimal | 成交均价 | |
amount | decimal | 买盘深度列表 | |
tradedAmount | decimal | 已成交数量 | |
turnover | decimal | 交易额(已成交数量*成交价格) | |
symbol | string | 交易对 | |
baseSymbol | string | 计价币种 | |
coinSymbol | string | 商品币种 | |
direction | integer | 方向(0-买;1-卖) | |
status | integer | 状态(0-交易中;1-完成;2-取消;3-超时;4-部分成交;) | |
type | integer | 类型(0-市价;1-限价;) | |
completedTime | long | 订单完成时间 | |
canceledTime | long | 订单取消时间 | |
time | long | 订单创建时间 |
下单
HTTP 请求
POST
/v1/trade/order
鉴权:是
限流:20次/1秒
请求参数
参数 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | string | true | 交易对 |
price | decimal | true | 价格(市价单传 0 即可) |
amount | decimal | true | 数量(市价买单:表示 需要买入的交易额,以USDT 为单位;市价卖单:表示需要卖出的商品币数量;) |
direction | integer | true | 方向(0-买;1-卖) |
type | integer | true | 类型(0-市价;1-限价) |
返回字段
字段名称 | 数据类型 | 描述 | |
---|---|---|---|
data | string | 挂单 ID |
撤销
HTTP 请求
POST
/v1/trade/cancel
鉴权:是
限流:20次/1秒
请求参数
参数 | 数据类型 | 是否必须 | 描述 |
---|---|---|---|
symbol | string | true | 交易对 |
orderId | string | true | 订单 ID |
返回字段
Last updated