@sswsdsn
2019-07-25T11:49:56.000000Z
字数 3694
阅读 368
OnBlock API接口文档
API分为公共接口和私有接口,你可以使用公共接口查询行情数据,并使用私有接口进行交易。所有以 /public/ 开头的是公共接口,此外的都是私有接口。公共接口允许直接访问。私有接口需要使用您的API Key做签名认证,以保证我们收到的请求为您本人发出。
私有接口除了接口本身参数外,还需要三个额外的鉴权参数:api_key,req_time,sign(除去sign之外的参数都需要参与签名)。一个合法的签名是将所有参数名按字母顺序排列,用&连接各参数,再加上您的api_secret,做MD5生成签名。需将签名放入参数sign中。
例如:如果您要取消 "id" 为 13579 的Order,此时您的api_key为keykeykey,api_secret为secsecsec,当前时间戳为1561270877,首先将需要签名的参数按照参数名进行排序(首先比较所有参数名的第一个字母,按英文字母顺序排列,若遇到相同首字母,则看第二个字母,以此类推)。所以第一个参数为api_key,第二个参数为id,第三个参数为req_time。将得到的值用&进行连接,得到api_key=keykeykey&id=13579&req_time=1561270877
在最后连接&api_secret=secsecsec,得到api_key=keykeykey&id=13579&req_time=1561270877&api_secret=secsecsec。将得到的字符串用MD5摘要算法进行签名,得到6f40159a8ce5e2ab828e55849b1450b8,加入到sign参数中,之后将api_key,req_time和sign三个参数放入请求中并发送请求即可。
下面所有API,都需要 /exchangeapi/v2/botapi 的前缀。
获得所有市场(即交易对)
参数:无
返回:返回数组,数组内容如下:
Name | Type | Description |
---|---|---|
id | string | 唯一ID。如"ethbtc" |
name | string | 显示用名称。如"ETH/BTC" |
ask_unit | string | ask unit。如"eth" |
bid_unit | string | bid unit。如"btc" |
ask_fee | double | 卖单费率 |
bid_fee | double | 买单费率 |
min_ask_amount | double | 最小卖量 |
min_bid_amount | double | 最小买量 |
price_precision | integer | 价格精度小数位 |
quantity_precision | integer | 数量精度小数位 |
返回某市场深度
参数:
Name | Description | Required | Type |
---|---|---|---|
market | 市场ID | Yes | string |
limit | 深度个数。默认100。 | No | integer |
返回:
asks和bids都是数组的数组。每个元素都是一个 价格,该价格总单量,该价格累计单量的三元组。
{
"timestamp": 1561351446,
"asks": [
[
"0.0541",
"1.0",
"9.9999"
],
[
"0.054",
"8.9999",
"8.9999"
]
],
"bids": [
[
"0.053",
"12.0",
"12.0"
],
[
"0.0004",
"0.06",
"12.06"
]
]
}
获得市场成交信息
参数:
Name | Description | Required | Type |
---|---|---|---|
market | 市场ID | Yes | string |
limit | 返回数量。默认100。 | No | integer |
返回:
返回数组,具体格式如下
Name | Type | Description |
---|---|---|
id | string | Trade ID. |
price | double | 价格 |
volume | double | 交易量 |
created_at | string | 创建时间。iso8601格式。如"2008-09-15T15:53:00+05:00" |
taker_type | string | taker单的类型。"sell"或"buy" |
获得Ticker信息
参数
Name | Description | Required | Type |
---|---|---|---|
market | 市场ID | Yes | string |
返回:
下面的 "ticker.volume" 表示 json 的嵌套
Name | Type | Description |
---|---|---|
at | integer | Unix时间戳 |
ticker.volume | double | 24小时成交量 |
ticker.high | double | 24小时最高价 |
ticker.low | double | 24小时最低价 |
ticker.buy | double | 买一价 |
ticker.sell | double | 卖一价 |
ticker.open | double | 开盘价 |
ticker.last | double | 最后成交价 |
获得K线信息
参数:当仅提供 market 参数时,会返回过去30min按照分钟为单位的K线数据。
Name | Description | Required | Type |
---|---|---|---|
market | 市场ID | Yes | string |
period | K线区间。单位分钟。默认1。可选值: 1, 5, 15, 30, 60, 120, 240, 360, 720, 1440, 4320, 10080 | No | integer |
time_from | 起始时间。Unix时间戳。默认值空。 | No | integer |
time_to | 结束时间。Unix时间戳。默认值现在。 | No | integer |
limit | 区间数量。当 time_from time_to 都存在时,本参数无效。默认值30。 | No | integer |
返回:
返回值为数组的数组。每个K线数据点是一个长度为6的数据。按顺序每项意义如下:
Name | Type | 说明 |
---|---|---|
time | integer | 开始时间 。Unix时间戳 |
open | double | 开盘价 |
high | double | 最高价 |
low | double | 最低价 |
close | double | 收盘价 |
vol | double | 成交量 |
返回用户各账户余额。
参数:无
返回:每项内容如下的数组:
Name | Type | Description |
---|---|---|
currency | string | 币种ID。如"eth" |
balance | double | 可用余额。 |
locked | double | 被锁定余额。如已经挂的限定单等。 |
返回用户全部委托
参数
Name | Description | Required | Type |
---|---|---|---|
market | 市场ID | No | string |
limit | 数量限制。默认100。 | No | integer |
page | 分页页数 | No | integer |
type | 只选择某种订单。'buy'或'sell' | No | string |
返回
Name | Type | Description |
---|---|---|
id | integer | Order ID |
side | string | 'sell' 或 'buy'. |
ord_type | string | 订单类型。 'limit' 或 'market'. |
price | double | 价格。市价单为nil。 |
avg_price | double | 成交均价 |
state | string | 状态。在 '/market/current_orders' 这个接口中只会是 'wait'。'/market/orders' 中可能是 'wait' 'done' 'cancel'之一 |
market | string | order所在的market |
created_at | string | 创建时间。iso8601格式 |
updated_at | string | 最后更新时间。iso8601格式 |
origin_volume | double | Order总量 |
remaining_volume | double | Order未成交量 |
executed_volume | double | Order已成交量 |
total_fee | double | 已经成交部分的手续费。如'ethbtc'中,买入手续费单位eth,卖出手续费单位btc。 |
获得用户活跃委托。实际上等价于 /market/orders 接口只返回状态为 'wait' 的部分。接口格式和 /market/orders 一致。
按照ID获取Order状态。
参数:
Name | Description | Required | Type |
---|---|---|---|
id | Order ID | Yes | integer |
返回:同 '/market/orders'
下单
参数:
Name | Description | Required | Type |
---|---|---|---|
market | 所在的market | Yes | string |
side | 'sell'或'buy' | Yes | string |
volume | Order量 | Yes | double |
ord_type | Order类型。市价单还是限价单。'limit'或者'market' | Yes | string |
price | 价格。市价单不需要填。 | No | double |
返回:
Name | Type | Description |
---|---|---|
id | integer | Order ID |
按照订单号取消订单
参数:
Name | Description | Required | Type |
---|---|---|---|
id | Order ID | Yes | integer |
返回:无。确认"code"时200, msg时"OK"即可。