本文介绍ZB api
Rest API (已开启)
ZB为用户提供了一个简单的而又强大的API,旨在帮助用户快速高效的将ZB交易功能整合到自己应用当中。
如果在使用过程中有任何问题,请加群764113552,我们将为您做出最权威的解答。
配置API
获取ZB最新市场配置数据
接口 | 描述 |
---|---|
http://api.zb.cn/data/v1/markets获取已开启的市场信息,包括价格、数量小数点位数
示例1
//# Request
2
GET http://api.zb.cn/data/v1/markets
3
//# Response
4
{ 5
"btc_usdt": {
6
"amountScale": 4,
7
"priceScale": 2
8
}, 9
"ltc_usdt": {
10
"amountScale": 3,
11
"priceScale": 2
12
} 13
14
} 15
返回值说明1
priceScale : 价格小数位数
2
amountScale : 数量小数位数
3
|
行情API
获取ZB最新市场行情数据
接口 | 描述 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
http://api.zb.cn/data/v1/allTicker全币种行情
示例1
//# Request
2
GET http://api.zb.cn/data/v1/allTicker
3
//# Response
4
{ 5
"hpybtc":{
6
"vol":"19800.6",
7
"last":"0.00000237",
8
"sell":"0.000002366",
9
"buy":"0.00000236",
10
"high":"0.0000026552",
11
"low":"0.00000229"
12
},
13
"tvqc":{
14
"vol":"2201510.1",
15
16
} 17
返回值说明1
high : 最高价
2
low : 最低价
3
buy : 买一价
4
sell : 卖一价
5
last : 最新成交价
6
vol : 成交量(最近的24小时)
7
|
|||||||||||
http://api.zb.cn/data/v1/ticker行情
示例1
//# Request
2
GET http://api.zb.cn/data/v1/ticker?market=btc_usdt
3
//# Response
4
{ 5
"ticker": {
6
"vol": "40.463",
7
"last": "0.899999",
8
"sell": "0.5",
9
"buy": "0.225",
10
"high": "0.899999",
11
"low": "0.081"
12
}, 13
"date": "1507875747359"
14
} 15
返回值说明1
high : 最高价
2
low : 最低价
3
buy : 买一价
4
sell : 卖一价
5
last : 最新成交价
6
vol : 成交量(最近的24小时)
7
请求参数说明
|
|||||||||||
http://api.zb.cn/data/v1/depth市场深度
示例1
//# Request
2
GET http://api.zb.cn/data/v1/depth?market=btc_usdt&size=3
3
//# Response
4
{ 5
"asks": [
6
[ 7
83.28,
8
11.8
9
]
10
], 11
"bids": [
12
[ 13
81.91,
14
3.65
15
]
16
], 17
"timestamp" : 时间戳
18
} 19
返回值说明1
asks : 卖方深度
2
bids : 买方深度
3
timestamp : 此次深度的产生时间戳
4
请求参数说明
|
|||||||||||
http://api.zb.cn/data/v1/trades历史成交
示例1
//# Request
2
GET http://api.zb.cn/data/v1/trades?market=btc_usdt
3
//# Response
4
[ 5
{ 6
"amount": 0.541,
7
"date": 1472711925,
8
"price": 81.87,
9
"tid": 16497097,
10
"trade_type": "ask",
11
"type": "sell"
12
}
13
] 14
返回值说明1
date : 交易时间(时间戳)
2
price : 交易价格
3
amount : 交易数量
4
tid : 交易生成ID
5
type : 交易类型,buy(买)/sell(卖)
6
trade_type : 委托类型,ask(卖)/bid(买)
7
请求参数说明
|
|||||||||||
http://api.zb.cn/data/v1/klineK线
示例1
//# Request
2
GET http://api.zb.cn/data/v1/kline?market=btc_usdt
3
//# Response
4
{ 5
"data": [
6
[ 7
1472107500000,
8
3840.46,
9
3843.56,
10
3839.58,
11
3843.3,
12
492.456
13
]
14
], 15
"moneyType": "btc",
16
"symbol": "ltc"
17
} 18
返回值说明1
data : K线内容
2
moneyType : 买入货币
3
symbol : 卖出货币
4
data : 内容说明
5
[ 6
1417536000000, 时间戳
7
2370.16, 开
8
2380, 高
9
2352, 低
10
2367.37, 收
11
17259.83 交易量
12
] 13
请求参数说明
|
交易API
用于ZB快速进行交易
接口 | 描述 | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
https://trade.zb.cn/api/order委托下单
示例1
//# Request
2
GET https://trade.zb.cn/api/order?accesskey=youraccesskey&amount=1.502
3
¤cy=qtum_usdt&method=order&price=1.9001&tradeType=1
4
&sign=请求加密签名串&reqTime=当前时间毫秒数
5
//# Response
6
{ 7
"code": "1000",
8
"message": "操作成功",
9
"id": "20131228361867"
10
} 11
返回值说明1
code : 返回代码
2
message : 提示信息
3
id : 委托挂单号
4
请求参数说明(签名参数按照ASCII值排序,Sign和ReqTime不用加入待签名字符串)
|
|||||||||||||||||||||
https://trade.zb.cn/api/cancelOrder取消委托
示例1
//# Request
2
GET https://trade.zb.cn/api/cancelOrder?accesskey=youraccesskey
3
¤cy=ltc_btc&id=201710111625&method=cancelOrder
4
&sign=请求加密签名串&reqTime=当前时间毫秒数
5
//# Response
6
{ 7
"code": "1000",
8
"message": "操作成功"
9
} 10
返回值说明1
code : 返回代码
2
message : 提示信息
3
请求参数说明(签名参数按照ASCII值排序,Sign和ReqTime不用加入待签名字符串)
|
|||||||||||||||||||||
https://trade.zb.cn/api/getOrder获取委托买单或卖单
示例1
//# Request
2
GET https://trade.zb.cn/api/getOrder?accesskey=youraccesskey
3
¤cy=ltc_btc&id=201710122805&method=getOrder
4
&sign=请求加密签名串&reqTime=当前时间毫秒数
5
//# Response
6
{ 7
"currency": "btc",
8
"id": "20150928158614292",
9
"price": 1560,
10
"status": 3,
11
"total_amount": 0.1,
12
"trade_amount": 0,
13
"trade_date": 1443410396717,
14
"trade_money": 0,
15
"type": 0,
16
} 17
返回值说明1
currency : 交易类型
2
id : 委托挂单号
3
price : 单价
4
status : 挂单状态(1:取消,2:交易完成,0/3:待成交/待成交未交易部份)
5
total_amount : 挂单总数量
6
trade_amount : 已成交数量
7
trade_date : 委托时间
8
trade_money : 已成交总金额
9
type : 挂单类型 1/0[buy/sell]
10
请求参数说明(签名参数按照ASCII值排序,Sign和ReqTime不用加入待签名字符串)
|
|||||||||||||||||||||
https://trade.zb.cn/api/getOrders获取多个委托买单或卖单,每次请求返回10条记录 | |||||||||||||||||||||
https://trade.zb.cn/api/getOrdersNew(新)获取多个委托买单或卖单,每次请求返回pageSize<100条记录 | |||||||||||||||||||||
https://trade.zb.cn/api/getOrdersIgnoreTradeType与getOrdersNew的区别是取消tradeType字段过滤,可同时获取买单和卖单,每次请求返回pageSize10条记录 | |||||||||||||||||||||
https://trade.zb.cn/api/getUnfinishedOrdersIgnoreTradeType获取未成交或部份成交的买单和卖单,每次请求返回pageSize<=10条记录 | |||||||||||||||||||||
https://trade.zb.cn/api/getAccountInfo获取用户信息
示例1
//# Request
2
GET https://trade.zb.cn/api/getAccountInfo?accesskey=youraccesskey&method=getAccountInfo
3
&sign=请求加密签名串&reqTime=当前时间毫秒数
4
//# Response
5
{ 6
"result": {
7
"coins": [
8
{ 9
"enName": "ZB",
10
"freez": "0.00000000",
11
"fundstype": 51,
12
"unitDecimal": 8,
13
"cnName": "ZB",
14
"isCanRecharge": true,
15
"unitTag": "ZB",
16
"isCanWithdraw": true,
17
"available": "0.00361064",
18
"canLoan": false,
19
"key": "zb"
20
}, 21
22
], 23
"base": {
24
"username": "lianlianyi",
25
"trade_password_enabled": true,
26
"auth_google_enabled": true,
27
"auth_mobile_enabled": true
28
} 29
}, 30
"assetPerm": true,
31
"leverPerm": true,
32
"entrustPerm": true,
33
"moneyPerm": true
34
} 35
返回值说明1
auth_google_enabled : 是否开通谷歌验证
2
auth_mobile_enabled : 是否开通手机验证
3
trade_password_enabled : 是否开通交易密码
4
username : 用户名
5
coins:
6
key:币种
7
ename:币种英文名
8
cnName:币种中文名
9
showName:若有改名则为新币名称,否则同ename
10
unitTag:币种符号
11
available:可用资产
12
freez:冻结资产
13
unitDecimal:保留小数位
14
isCanRecharge:是否可充值
15
isCanWithdraw:是否可提现
16
canLoan:是否可理财
17
请求参数说明(签名参数按照ASCII值排序,Sign和ReqTime不用加入待签名字符串)
|
|||||||||||||||||||||
https://trade.zb.cn/api/getUserAddress获取用户充值地址 | |||||||||||||||||||||
https://trade.zb.cn/api/getWithdrawAddress获取用户认证的提现地址 | |||||||||||||||||||||
https://trade.zb.cn/api/getWithdrawRecord获取数字资产提现记录 | |||||||||||||||||||||
https://trade.zb.cn/api/getChargeRecord获取数字资产充值记录 | |||||||||||||||||||||
https://trade.zb.cn/api/withdraw提现 |
杠杆API
用于杠杆借贷、理财
接口 | 描述 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
https://trade.zb.cn/api/getLeverAssetsInfo获取用户杠杆信息 | |||||||||||||||||
https://trade.zb.cn/api/getLeverBills获取杠杆账单 | |||||||||||||||||
https://trade.zb.cn/api/transferInLever资产转入杠杆区 | |||||||||||||||||
https://trade.zb.cn/api/transferOutLever资产转出杠杆区 | |||||||||||||||||
https://trade.zb.cn/api/loan发布理财 | |||||||||||||||||
https://trade.zb.cn/api/cancelLoan取消理财 | |||||||||||||||||
https://trade.zb.cn/api/getLoans获取可借贷列表 | |||||||||||||||||
https://trade.zb.cn/api/getLoanRecords获取借贷记录 | |||||||||||||||||
https://trade.zb.cn/api/borrow借款 | |||||||||||||||||
https://trade.zb.cn/api/repay还款
示例1
//# Request
2
GET https://trade.zb.cn/api/repay?accesskey=youraccesskey&loanRecordId=289&method=repay
3
&repayAmount=100&repayType=0
4
&sign=请求加密签名串&reqTime=当前时间毫秒数
5
//# Response
6
{ 7
"code": "1000",
8
"message": "操作成功"
9
} 10
返回值说明1
code : 返回代码
2
message : 提示信息
3
请求参数说明(签名参数按照ASCII值排序,Sign和ReqTime不用加入待签名字符串)
|
|||||||||||||||||
https://trade.zb.cn/api/getRepayments获取还款记录
示例1
//# Request
2
GET https://trade.zb.cn/api/getRepayments?accesskey=youraccesskey&loanRecordId=50
3
&method=getRepayments&pageIndex=1&pageSize=10
4
&sign=请求加密签名串&reqTime=当前时间毫秒数
5
//# Response
6
{ 7
"code" : 1000,
8
"message" : "操作成功",
9
"result" : [
10
{
11
"benJin" : "29",
12
"id" : 42,
13
"statusShow" : "已还",
14
"status" : 1,
15
"liXi" : "0.0145",
16
"actureDate" : 1522031604000
17
}
18
]
19
} 20
返回值说明1
code : 返回代码
2
message : 提示信息
3
result :
4
id : 还款记录ID
5
benJin : 本金
6
liXi : 利息
7
status : 状态
8
statusShow : 状态值对应中文
9
actureDate : 实际还款日期
10
请求参数说明(签名参数按照ASCII值排序,Sign和ReqTime不用加入待签名字符串)
|
|||||||||||||||||
https://trade.zb.cn/api/getFinanceRecords获取理财记录
示例1
//# Request
2
GET https://trade.zb.cn/api/getFinanceRecords?accesskey=youraccesskey&coin=qc&method=getFinanceRecords
3
&pageIndex=1&pageSize=10&sign=请求加密签名串&reqTime=当前时间毫秒数
4
//# Response
5
{ 6
"code" : 1000,
7
"message" : "操作成功",
8
"result" : [
9
{
10
"id" : 156,
11
"userId" : 110803,
12
"userName" : "13427002684",
13
"fundType" : 15,
14
"coinName" : "QC",
15
"amount" : "10",
16
"hasAmount" : "0",
17
"status" : 0,
18
"statusShow" : "未有借入",
19
"createTime" : 1524541195000,
20
"interestRateOfDay" : "0.0012",
21
"repaymentDay" : 10,
22
"isLoop" : true,
23
"inTimes" : 0,
24
"sourceType" : 6
25
},
26
27
]
28
} 29
返回值说明1
code : 返回代码
2
message : 提示信息
3
result :
4
id : 理财ID
5
userId : 用户ID
6
userName : 用户名
7
fundType : 币种类型
8
coinName : 币种名称
9
amount : 理财金额
10
hasAmount : 已借出金额
11
status : 状态值
12
statusShow : 状态值对应中文
13
createTime : 发布时间
14
interestRateOfDay : 日利率
15
repaymentDay : 放贷天数
16
isLoop : 是否自动放贷
17
inTimes : 理财被借入次数
18
sourceType : 来源类型8”网页”,5”手机APP”,6”接口API”
19
请求参数说明(签名参数按照ASCII值排序,Sign和ReqTime不用加入待签名字符串)
|
|||||||||||||||||
https://trade.zb.cn/api/changeInvestMark变更是否自动续借
示例1
//# Request
2
GET https://trade.zb.cn/api/changeInvestMark?accesskey=youraccesskey&investMark=1&loanRecordId=借贷id&method=changeInvestMark
3
&sign=请求加密签名串&reqTime=当前时间毫秒数
4
//# Response
5
{ 6
"code" : 1000,
7
"message" : "操作成功",
8
} 9
返回值说明1
code : 返回代码
2
message : 提示信息
3
请求参数说明(签名参数按照ASCII值排序,Sign和ReqTime不用加入待签名字符串)
|
|||||||||||||||||
https://trade.zb.cn/api/changeLoop变更是否自动放贷
示例1
//# Request
2
GET https://trade.zb.cn/api/changeLoop?accesskey=youraccesskey&isLoop=1&loanId=放贷id&method=changeLoop
3
&sign=请求加密签名串&reqTime=当前时间毫秒数
4
//# Response
5
{ 6
"code" : 1000,
7
"message" : "操作成功",
8
} 9
返回值说明1
code : 返回代码
2
message : 提示信息
3
请求参数说明(签名参数按照ASCII值排序,Sign和ReqTime不用加入待签名字符串)
|
子账号API
用于子账号管理
接口 | 描述 |
---|---|
https://trade.zb.cn/api/addSubUser创建子账号 | |
https://trade.zb.cn/api/getSubUserList获取子账号列表 | |
https://trade.zb.cn/api/doTransferFunds主子账号内部转账 | |
https://trade.zb.cn/api/createSubUserKey创建子账号API |
错误代码
所有API方法调用在请求失败或遇到未知错误时会返回JSON错误对象。
代码 | 描述 |
---|---|
1000 | 调用成功 |
1001 | 一般错误提示 |
1002 | 内部错误 |
1003 | 验证不通过 |
1004 | 资金安全密码锁定 |
1005 | 资金安全密码错误,请确认后重新输入。 |
1006 | 实名认证等待审核或审核不通过 |
1009 | 此接口维护中 |
1010 | 暂不开放 |
1012 | 权限不足 |
1013 | 不能交易,若有疑问请联系在线客服 |
1014 | 预售期间不能卖出 |
2002 | 比特币账户余额不足 |
2003 | 莱特币账户余额不足 |
2005 | 以太币账户余额不足 |
2006 | ETC币账户余额不足 |
2007 | BTS币账户余额不足 |
2009 | 账户余额不足 |
3001 | 挂单没有找到 |
3002 | 无效的金额 |
3003 | 无效的数量 |
3004 | 用户不存在 |
3005 | 无效的参数 |
3006 | 无效的IP或与绑定的IP不一致 |
3007 | 请求时间已失效 |
3008 | 交易记录没有找到 |
4001 | API接口被锁定 |
4002 | 请求过于频繁 |
示例代码
目前支持C#、C++、HTML、JAVA、Python 版本。其他语言版本会相继支持。如果在使用过程中有任何问题请联系我们API技术QQ群: 764113552,我们将在第一时间帮您解决技术问题。
签名方式: 先用sha加密secretkey,然后根据加密过的secretkey把请求的参数签名,请求参数按照ASCII值排序加密,通过hmac MD5加密
//......
//SECRETKEY加密前:48939bbc-8d49-402b-b731-adadf2ea9628
//SECRETKEY加密后:6186ec9223b8f8e3fe28b5f5c831427ed99950a6
//参数排序后(按字母顺序):accesskey=6d8f62fd-3086-46e3-a0ba-c66a929c24e2&method=getAccountInfo
//加密后得到的sign:fa5d8d4e37caa86551b9ac740df2b14c
String ACCESS_KEY = "your_access_key";
String SECRET_KEY = "your_secret_key";
params.put("accesskey", ACCESS_KEY);// 这个需要加入签名,放前面
String digest = EncryDigestUtil.digest(SECRET_KEY);
// 参数按照ASCII值排序
// (首先比较参数名的第一个字母,按abcdefg顺序排列,若遇到相同首字母,则看第二个字母,以此类推)
String sign = EncryDigestUtil.hmacSign(MapSort.toStringMap(params), digest);
String method = params.get("method");
// 加入验证
params.put("sign", sign);
params.put("reqTime", System.currentTimeMillis() + "");
String url = "请求地址:" + URL_PREFIX + method + " 参数:" + params;
String json = "";
try {
json = HttpUtilManager.getInstance().requestHttpPost(URL_PREFIX, method, params);
} catch (HttpException | IOException e) {
log.error("获取交易json异常", e);
}
//......