XXX API

一、API使用说明

1、请求过程说明

1.1 构造请求数据,用户数据按照XXX提供的接口规则,通过程序生成签名和要传输给XXX的数据集合;

1.2 用 https://api.xxx.cc 拼接接口url发送请求数据,把构造完成的数据集合通过POST/GET提交的方式传递给XXX;

1.3 XXX对请求数据进行处理,服务器在接收到请求后,会首先进行安全校验,验证通过后便会处理该次发送过来的请求;

1.4 返回响应结果数据,XXX把响应结果以JSON的格式反馈给用户,具体的响应格式,错误代码参见接口部分;

1.5 对获取的返回结果数据进行处理;

2、安全认证

所有的Private API都需要经过认证

Api的申请请联系客服提供XXX账号得到Key和密钥

注意:请勿向任何人泄露这两个参数,这像您的密码一样重要

签名机制

每次请求Private API都需要验证签名,发送的参数示例:

$param = array(

amount => 1,

price => 10000,

type => 'buy',

key => 'r5eb88920468848669b73b3afa8ac2053',

sign => '459c69d25c496765191582d9611028b997483'

);

sign是签名,是将amount price type key secret等参数升序通过'&'字符连接起来进行sha1算法加密得到的值.

3、返回结果说明

返回结果为JSON数据结构,如果code字段为200,则请求处理成功,否则请通过code字段的值对应错误代码对照表

4、接口

Public API(单接口每秒最大请求次数为20)

    获取当前最新行情

    Path:/api/v1/ticker

    Request类型:GET

    参数

  • symbol - 1,2...(交易对对照表)
  • 返回JSON dictionary

  • high - 最高价
  • low - 最低价
  • last - 最近一次成交价
  • vol - 成交量
  • ydayClose - 昨日收盘价
  • 返回结果示例:

  • { "code":200, "data":{"high":0.0,"vol":0.0,"last":0.999,"low":0.0,"ydayClose":0.0}}

    市场深度

    描述:返回所有的市场深度,此回应的数据量会较大,所以请勿频繁调用。

    Path:/api/v1/depth

    Request类型:GET

    参数

  • symbol - 1,2...(交易对对照表)
  • 返回JSON dictionary

  • asks - 委买单[价格, 委单量],价格从高到低排序 [价格,数量,总额]
  • bids - 委卖单[价格, 委单量],价格从低到高排序 [价格,数量,总额]
  • 返回结果示例:

  • {"code":"200","data":{"asks":"[[9474.595885,0.0306,289.922634081],[9454.237374,0.0317,299.6993247558]]","bids":"[[9664.587014,0.0312,301.5351148368]]"}}

Private API(单接口每秒最大请求数为10次)

    账户信息

    描述:列举您的帐户信息

    Path:/api/v1/balances

    Request类型:GET

    参数

    返回JSON dictionary

  • symbol - 币种id
  • name - 币种名称
  • balance - 币种可用余额
  • frozen - 币种冻结余额
  • 返回结果示例:

  • {"code":200,"data":{ ["id: 40, "name": "BTC", "balance": 1.234567, "frozen": 0] }

    挂单查询

    描述:您指定时间后的挂单,可以根据类型查询,比如查看正在挂单和全部挂单

    Path:/api/v1/trade_list

    Request类型:GET

    参数

  • symbol - 1,2...(交易对对照表)
  • since - Unix时间戳(seconds),默认0
  • type - 挂单类型[1:挂单中, 0:所有挂单]
  • 返回JSON dictionary

  • id - 挂单ID
  • datetime - 挂单时间
  • type - "buy" or "sell"
  • price - 委托价格
  • count - 委托数量
  • left_count - 当前剩余数量
  • status - 挂单状态[1:未成交,2:部分成交,3:完全成交,4:已撤销]
  • 返回结果示例:

  • {"code":200,"data":[{"datetime":"2016-06-17 15:43:10","count":724.5825,"price":0.999,"id":6280572,"left_count":0.0,"type":"sell","status":3}]}

    取消订单

    Path:/api/v1/cancel_trade

    Request类型:POST

    参数

  • id - 挂单ID
  • 返回JSON dictionary

  • data - 订单ID
  • 返回结果示例:

  • {"code":200, "data":"11"}

    下单

    Path:/api/v1/trade

    Request类型:POST

    参数

  • symbol - 1,2...(交易对对照表)
  • amount - 委托数量
  • price - 委托价格
  • type - "buy" or "sell"
  • 返回JSON dictionary

  • data - 挂单ID
  • 返回结果示例:

  • {"code":200,"data":6294079}
交易对对照表
错误代码对照表
错误代码 详细描述
101 必填参数不能为空
102 API key不存在
103 API已禁止使用
104 权限已关闭
105 权限不足
106 签名不匹配
107 操作频繁
201 虚拟币不存在
202 虚拟币不能充值和提款
203 虚拟币还没分配到钱包地址
204 取消挂单失败(部分成交或全部已成交)
-1 非法操作
-2 该交易对已被禁用
-3 该交易对已暂停交易
-4 不在交易时间内
-5 交易数量不能小于【data】
-6 交易数量不能大于【data】
-7 交易总金额不能小于【data】
-8 交易总金额不能大于【data】
-9 交易价格不能小于【data】
-10 交易价格不能大于【data】
-11 余额不足
-12 价格不能大于【data】
-13 价格不能小于【data】
401 身份认证失效
402 参数非法