本文介紹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);
}
//......