[关闭]
@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列表

下面所有API,都需要 /exchangeapi/v2/botapi 的前缀。

/public/markets

获得所有市场(即交易对)
参数:无
返回:返回数组,数组内容如下:

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 数量精度小数位

/public/markets/depth

返回某市场深度
参数:

Name Description Required Type
market 市场ID Yes string
limit 深度个数。默认100。 No integer

返回:
asks和bids都是数组的数组。每个元素都是一个 价格,该价格总单量,该价格累计单量的三元组。

  1. {
  2. "timestamp": 1561351446,
  3. "asks": [
  4. [
  5. "0.0541",
  6. "1.0",
  7. "9.9999"
  8. ],
  9. [
  10. "0.054",
  11. "8.9999",
  12. "8.9999"
  13. ]
  14. ],
  15. "bids": [
  16. [
  17. "0.053",
  18. "12.0",
  19. "12.0"
  20. ],
  21. [
  22. "0.0004",
  23. "0.06",
  24. "12.06"
  25. ]
  26. ]
  27. }

/public/markets/trades

获得市场成交信息
参数:

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"

/public/markets/tickers

获得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 最后成交价

/public/markets/k-line

获得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 成交量

/account/balances

返回用户各账户余额。
参数:无
返回:每项内容如下的数组:

Name Type Description
currency string 币种ID。如"eth"
balance double 可用余额。
locked double 被锁定余额。如已经挂的限定单等。

/market/orders

返回用户全部委托
参数

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/current_orders

获得用户活跃委托。实际上等价于 /market/orders 接口只返回状态为 'wait' 的部分。接口格式和 /market/orders 一致。

/market/order

按照ID获取Order状态。
参数:

Name Description Required Type
id Order ID Yes integer

返回:同 '/market/orders'

/market/create_order

下单
参数:

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

/market/cancel_order

按照订单号取消订单
参数:

Name Description Required Type
id Order ID Yes integer

返回:无。确认"code"时200, msg时"OK"即可。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注