zbg行情api
zbg行情api
-
- HTTPAPI
- API地址域名地址
- 使用說明
- 1配置及基礎功能API
- 2獲取用戶信息接口
- 3交易API
- 4 財務資金API
- 5 簽名規則
- 6市場行情類接口
- 7 接口結果外部和錯誤碼
- 8錯誤碼列表:
HTTPAPI
zbg為用戶提供了一個簡單的而又強大的API,旨在幫助用戶快速高效的將zbg交易功能整合到自己應用當中。如果在使用過程中有任何問題,請聯系我們技術討論QQ群:829230107 ,我們將會為您做出最權威的解答
Java 示例: https://github.com/zbg-user-api-demo/user_api_demo_java.git
Python 示例: https://github.com/zbg-user-api-demo/user_api_demo_py.git
API地址域名地址
域名地址: https://www.zbg.com
使用說明
使用這些API之前首先要獲取兩項參數,在網站登錄后,進入API功能開啟然后獲取Api Id和Api Secret兩項參數。通過這兩個參數擁有交易下單、提幣等高級權限,請用戶注意保密。所有http接口都需要進行簽名,簽名規則在后面說明。
1配置及基礎功能API
1.1獲取市場列表
path:https://www.zbg.com/exchange/config/controller/website/marketcontroller/getByWebId
請求方式:post
請求報文:無
返回成功報文
{
{ “datas”: [
{
“amountDecimal”: 8,//數量精度
“minAmount”: “0.0001000000”,//最小數量
“buyerCurrencyId”: “2”,//買方幣種
“priceDecimal”: 8,//價格精度
“serverId”: “entrust-server-001”,//服務ID
“marketId”: “70”,//市場ID
“webId”: “100”, //站點ID
“modifyTime”: 0,
“sellerCurrencyId”: “19”,//賣方幣種
“createTime”: 1522400906009,
“defaultFee”: “0.00050000”,//默認費率
“name”: “zt_btc”,//市場名稱
“leverType”: “1”,//杠桿類型: 1現貨 2杠桿
“state”: 1,//狀態: 1 運行, 0 停止 -1 刪除
“openTime”: 1,//開盤時間
},
…
],
“resMsg”: {
“code”: “1”,
“method”: null,
“message”: “success !”
}
}
1.2獲取幣種詳情列表
path:https://www.zbg.com/exchange/config/controller/website/currencycontroller/getCurrencyList
請求方式 :post
請求報文
無
返回成功報文
{
“datas”: [
{
“totalNumber”: “230000000.00000000”,//總量
“tradeSearchUrl”: null,//交易查詢地址
“tokenCoinsId”: 0,//如果大于0是另一種幣的token,否則等于0
“minCash”: null,
“tokenName”: null,//
“description”: “比特幣”,//描述
“arithmetic”: null, //共識算法
“dailyDrawLimit”: 10000,
“remark”: null, //
“isLegalCoin”: 0, //是否是法幣,比如美金 1是,0不是
“outConfigTimes”: 0,//
“timesFreetrial”: “0”,//
“hourFreetrial”: “0”,//
“inConfigTimes”: 6,//
“alias”: “b”,//別名
“logo”: “market-btc.png”,//圖標
“needBlockUrl”: 0,//是否需要block地址,0不需要 1需要
“currencyId”: “2”,//幣種id
“drawFlag”: 1,
“rechargeFlag”: 1,
“onceDrawLimit”: 100,
“founder”: null,
“drawFee”: “0.00100000”,
“blockChainUrl”: “https://blockchain.info/tx/”, //blockChain查詢地址(區塊查詢地址)
“dayFreetrial”: “0”,
“marketValue”: null,//總市值
“minFee”: null,
“teamAddress”: null,
“defaultDecimal”: 2,//幣種小數位(精度)-優先級低于 market中的配置
“publishNumber”: “14500000.00000000”,//已發行
“isMining”: “0”,//是否可挖礦
“name”: “btc”,//名稱
“limitAmount”: null,
“websiteCurrencyId”: “223f4d23232”,
“descriptionEnglish”: “
The BTC is …
”,//英文描述
“mark”: null//符號
},
…
],
“resMsg”: {
“code”: “1”,
“method”: null,
“message”: “success !”
}
}
2獲取用戶信息接口
2.1獲取用戶信息接口
path:https://www.zbg.com/exchange/user/controller/website/usercontroller/getuserinfo
請求方式:post
請求報文
無
返回成功報文
{
“datas”:{
“loginMobileAuth”:0,//是否手機認證:0:否,1:是
“googleStatus”:0,//審核狀態:0:沒審核,1:修改審核中
“isAlipay”:"",//是否綁定支付寶1綁定0未綁定
“loginPwd”:“1”,//是否設置登錄密碼:0:否,1:是
“externalUidType”:null,//擴展的userid來源類型,比如:zb,exx
“isWechat”:"",//是否綁定微信1綁定0未綁定
“loginAuth”:3,//登錄驗證(1-登錄密碼 2-異地登錄驗證 4-谷歌驗證,可以三者任意組合,默認 3
“merchantName”:"",//商戶名字
“countryCode”:null,//國家代碼
“loginName”:“13068859717”,//登錄名
“loginGoogleAuth”:1,//是否谷歌認證:0:否,1:是
“email”:null,//用戶郵箱
“nickName”:“13068859717”,//用戶昵稱
“isBank”:"",//是否綁定銀行
“mobileAuth”:1,//是否手機認證:0:否,1:是,[2:修改失敗,不通過,-1:修改審核中]
“mobile”:"+86 13068859717",//手機號碼
“userId”:“test6”,//用戶id
“recommendCode”:“dGVzdDY=\u000a”,//推薦碼
“realName”:"",//用戶實名
“withdrawAuth”:3,//提現驗證(1-資金密碼 2-短信/郵箱驗證 4-谷歌驗證碼 默認資金密碼+短信/郵箱 = 3)
“recommendCount”:null,//推薦人數
“externalUserId”:null,//擴展的userid,比如zb一鍵登陸保存的zb的userid
“mobileStatus”:0,//審核狀態:0:沒審核,1:修改審核中
“safePwdAuth”:1,//是否設置安全密碼:0:否,1:是
“googleAuth”:1,//是否谷歌認證:0:否,1:是
“loginEmailAuth”:0,//是否郵箱認證:0:否,1:是
“tradeAuth”:1,//交易驗證(1-永不輸入資金密碼 2-6小時內免輸資金密碼 3-每次交易均驗證資金密碼)
“status”:1//0(000-初始狀態) 1(001-已實名認證) 2(010-已銀行認證) 3(011已實名和銀行認證)
},
“resMsg”:{
“code”:“1”,
“method”:null,
“message”:“success !”
}
}
3交易API
3.1新增委托:
path:https://www.zbg.com/exchange/entrust/controller/website/EntrustController/addEntrust
請求方式:post
請求報文:
json
{
“amount”: 0, //下單數量
“rangeType”: 0, //委托類型,目前僅支持現價委托 0:現價委托 1 區間委托
“type”: 0, //買賣類型:0 賣出 1 購買
“marketId”: “90”, //市場ID
“price”: 0 //價格
}
返回報文:
json
{
“datas”:{
“entrustId”:“E6419466484531482624” //委托ID
},
“resMsg”:{
“code”:“1”, //1代表成功,其他為錯誤碼見說明
“method”:null,
“message”:“success !”
}
}
3.2取消委托
path:https://www.zbg.com/exchange/entrust/controller/website/EntrustController/cancelEntrust
請求方式:post
請求報文:
json
{
“entrustId”: “E6419466484531482624”, //要取消的委托ID
“marketId”: “90” //市場ID
}
返回報文:
json
{
“datas”:null,
“resMsg”:{
“code”:“1”, //1代表成功,其他為錯誤碼見說明
“method”:null,
“message”:“success !”
}
}
3.3查詢正在進行的委托
path: https://www.zbg.com/exchange/entrust/controller/website/EntrustController/getUserEntrustRecordFromCache
請求方式:get
請求報文:
marketId: 90 //市場ID
返回報文:
json
{
“datas”: [{
“amount”: “1.1”, //數量
“rangeType”: “0”, //區間類型 0 現價委托 1 區間委托
“rangeLowPrice”: “null”, //區間委托的最低價
“rangeHighPrice”: “null”, //區間委托的最高價
“totalMoney”: “5.555”, //總金額
“entrustId”: “E6437955999037923328”, //委托ID
“type”: “0”, //0 賣出 1 購買 -1 取消
“userId”: “test6”, //用戶id
“completeAmount”: “0”, //已經成交的數量
“marketId”: “80”, //市場id
“dealTimes”: “0”, //交易處理次數
“createTime”: “1534928321609”, //下單時間
“price”: “5.05”, //單價
“completeTotalMoney”: “0”, //已完成的總金額
“entrustType”: “false”, //委托類型 0(false)普通委托單 1(true)杠桿委托單
“status”: “0”, //狀態 : -2資金解凍失敗 -1用戶資金不足 0起始 1取消 2交易成功 3交易一部分
}],
“resMsg”: {
“code”: “1”, //1代表成功,其他為錯誤碼見說明
“method”: null,
“message”: “success !”
}
}
3.4分頁查詢歷史委托委托(只查詢已經成交和已經取消的委托記錄)
paht: https://www.zbg.com/exchange/entrust/controller/website/EntrustController/getUserEntrustList
請求方式:get
請求報文:
marketId: 90 //市場ID
pageIndex: 1 //頁碼
pageSize: 20 //每頁展示條數
type: 1 //買賣類型:0 賣出 1 購買
status: 1 //狀態 : -2資金解凍失敗 -1用戶資金不足 0起始 1取消 2交易成功 3交易一部分
返回報文:
json
{
“datas”: [{
“amount”: “1.1”, //數量
“rangeType”: “0”, //區間類型 0 現價委托 1 區間委托
“rangeLowPrice”: “null”, //區間委托的最低價
“rangeHighPrice”: “null”, //區間委托的最高價
“totalMoney”: “5.555”, //總金額
“entrustId”: “E6437955999037923328”, //委托ID
“type”: “0”, //0 賣出 1 購買 -1 取消
“userId”: “test6”, //用戶id
“completeAmount”: “0”, //已經成交的數量
“marketId”: “80”, //市場id
“dealTimes”: “0”, //交易處理次數
“createTime”: “1534928321609”, //下單時間
“price”: “5.05”, //單價
“completeTotalMoney”: “0”, //已完成的總金額
“entrustType”: “false”, //委托類型 0(false)普通委托單 1(true)杠桿委托單
“status”: “0”, //狀態 : -2資金解凍失敗 -1用戶資金不足 0起始 1取消 2交易成功 3交易一部分
}],
“totalPage”: “2”, //委托記錄總條數
“currentPage”: “1”, //當前頁數
“resMsg”: {
“code”: “1”, //1代表成功,其他為錯誤碼見說明
“method”: null,
“message”: “success !”
}
}
3.5根據委托單id查詢委托記錄
path: https://www.zbg.com/exchange/entrust/controller/website/EntrustController/getEntrustById
請求方式:get
請求參數:
marketId: 90 //市場ID
entrustId: E6419443135315070976 // 要查詢的委托ID
返回報文:
{
“datas”: [{
“amount”: “1.1”, //數量
“rangeType”: “0”, //區間類型 0 現價委托 1 區間委托
“rangeLowPrice”: “null”, //區間委托的最低價
“rangeHighPrice”: “null”, //區間委托的最高價
“totalMoney”: “5.555”, //總金額
“entrustId”: “E6437955999037923328”, //委托ID
“type”: “0”, //0 賣出 1 購買 -1 取消
“userId”: “test6”, //用戶id
“completeAmount”: “0”, //已經成交的數量
“marketId”: “80”, //市場id
“dealTimes”: “0”, //交易處理次數
“createTime”: “1534928321609”, //下單時間
“price”: “5.05”, //單價
“completeTotalMoney”: “0”, //已完成的總金額
“entrustType”: “false”, //委托類型 0(false)普通委托單 1(true)杠桿委托單
“status”: “0”, //狀態 : -2資金解凍失敗 -1用戶資金不足 0起始 1取消 2交易成功 3交易一部分
}],
“resMsg”: {
“code”: “1”, // 1代表成功,其他為錯誤碼見說明
“method”: null,
“message”: “success !”
}
}
3.6分頁查詢正在進行的委托
path: https://www.zbg.com/exchange/entrust/controller/website/EntrustController/getUserEntrustRecordFromCacheWithPage
請求方式:get
請求參數:
marketId: 90 //市場ID
pageIndex: 1 //頁碼
pageSize: 20 //每頁展示條數
返回報文:
{
“datas”: {
“entrustList”: [{
“entrustId”: “E6483888378201780224”, //委托ID
“sequeueId”: 6483888378201780224,
“webId”: “103”,
“customerOrderId”: null,
“userId”: “test6”, //用戶id
“price”: “0.0581”, //單價
“rangeType”: 0, //區間類型 0 現價委托 1 區間委托
“rangeHighPrice”: null, //區間委托的最高價
“rangeLowPrice”: null, //區間委托的最低價
“amount”: “22.8249”, //數量
“totalMoney”: “1.32612669”, //總金額
“completeAmount”: “0”, //已經成交的數量
“completeTotalMoney”: “0”, //已完成的總金額
“dealTimes”: 0,
“type”: 0, //0 賣出 1 購買 -1 取消
“entrustType”: 0, //委托類型 0(false)普通委托單 1(true)杠桿委托單
“status”: 0, //狀態 : -2資金解凍失敗 -1用戶資金不足 0起始 1取消 2交易成功 3交易一部分
“freezeId”: “Z6483888378244132864”,
“marketId”: “80”, //市場id
“createTime”: 1545879454184,
“originalWebId”: “103”,
“originalMarketId”: “336”,
“hedgingId”: null,
“tempDealTimes”: 0,
“availabelAmount”: “22.8249”
},
…
],
“totalRow”: 4,
“pageNum”: 1,
“pageSize”: 3,
“totalPage”: 2 //委托記錄總條數
},
}
“resMsg”: {
“code”: “1”, // 1代表成功,其他為錯誤碼見說明
“method”: null,
“message”: “success !”
}
}
4 財務資金API
4.1 獲取充幣地址
path:https://www.zbg.com/exchange/fund/controller/website/fundcontroller/getPayinAddress
請求方式:post
請求報文
{
“currencyTypeName”:“btc” // 貨幣類型名稱(必傳)
}
返回報文
{
“datas”: {
“address”: “19cdJwd3j6ArHNhiYoWpN8cJq9ash7WDDC”,// 充幣地址
“wallet”: “merchants014”
},
“resMsg”: {
“code”: “1”,
“method”: null,
“message”: “success !”
}
}
4.2 查詢充幣記錄
path:https://www.zbg.com/exchange/fund/controller/website/fundcontroller/getPayinCoinRecord
請求方式:post
請求報文
{
“currencyTypeName”:“qtum”, // 貨幣類型
“sort”:1 // 不傳按充幣時間倒序排,傳了按升序排序
“pageNum”:1
“pageSize”:20
}
返回報文
{
“datas”: {
“totalRow”: 1, // 總行數
“totalPage”: 1, // 總頁數
“pageSize”: 20, // 每頁數量
“list”: [
{
“currencyTypeId”: 1,// 貨幣類型id
“depositId”: “f3342424”,// 充值主鍵
“amount”: “10.0”,// 充幣數量
“confirmTimes”: “4”,// 確認次數
“createTime”: “2018-03-10 10:22:09.0”,// 充幣時間
“depositAddress”: “1BKd2sSPYzxC2XHurR6oQWc2wzSx2rZzck”,// 充幣地址
“txId”: “6378183001917882368”,// 交易id
“userId”: “1”,// 用戶id
“status”: 1,//’ 0:未到賬 1:已到賬 ’
}],"pageNum": 1
},
"resMsg": {"code": "1","method": null,"message": "success !"
}
}
4.3 查詢提幣記錄
path:https://www.zbg.com/exchange/fund/controller/website/fundwebsitecontroller/getpayoutcoinrecord
請求方式:get
請求報文
currencyId=1 // 幣種id(必選)
tab=all // (必選) | all(所有), wait(已提交,未審核), success(審核通過), fail(審核失敗), cancel(用戶主動取消)
pageIndex=1 // 可選, 默認 1
pageSize=10 // 可選, 默認 10
返回報文
{
“datas”: {
“totalRow”: 34, // 總行數
“totalPage”: 4, // 總頁數
“pageSize”: 10, // 每頁數量
“list”: [
{
“modifyUid”: null, // 修改人id
“withdrawalId”: “W6419027628808093696”, // 提現id
“fees”: “0.001000000000000000”, // 手續費
“amount”: “10.000000000000000000”, // 提現數量
“userApplyWithdrawId”: “7eBDJ5PKbSK”, // 提現記錄id
“verifyRemark”: null, // 審核意見
“remark”: null, // 備注
“verifyTime”: 0, // 審核時間
“userName”: "994709373@qq.com", // 用戶名
“userId”: “7e9ioSoVXcW”, // 用戶id
“actuallyAmount”: “10.000000000000000000”, // 實際到賬數量
“modifyTime”: 0, // 修改時間
“verifyStatus”: 0, // 審核狀態(0 待審核 , 1 審核通過 -1 審核不通過)
“createTime”: 1530415446577, // 提幣時間
“state”: 1, // 狀態(-1 刪除, 1 正常)
“currencyId”: “2”, // 幣種id
“withdrawalAddress”: “1JimMZks39eVqU6T3v6wvz1m4LtJ3tPjGL”, // 提幣地址
“verifyUid”: null // 審核人id
}
],
“pageNum”: 1
},
“resMsg”: {
“code”: “1”,
“method”: null,
“message”: “success !”
}
}
4.4 獲取用戶所有資金信息
path:https://www.zbg.com/exchange/fund/controller/website/fundcontroller/findbypage
請求方式:post
請求報文
{
“pageSize”:30, # 每頁行數(可選)
“pageNum”:1 # 頁碼(可選)
}
返回報文
{
“datas”: {
“totalRow”: null,
“totalPage”: null,
“pageSize”: 30,
“list”: [
{
“currencyTypeId”: 1, // 貨幣類型id
“amount”: “971.174000000000000000”, // 用戶當前可用資金數量
“freeze”: “122.000000000000000000”, // 用戶凍結資金數量
“createTime”: “2018-02-19 10:02:33”,
“depositAddress”: null,
“userId”: “1”
},
{
“currencyTypeId”: 2,
“amount”: “768.368000000000000000”,
“freeze”: “131.000000000000000000”,
“createTime”: “2018-02-19 10:02:33”,
“depositAddress”: null,
“userId”: “1”
}
],
“pageNum”: 1
},
“resMsg”: {
“code”: “1”,
“method”: null,
“message”: “success !”
}
}
4.5 查詢提幣地址
path:https://www.zbg.com/exchange/fund/controller/website/fundwebsitecontroller/getwithdrawaddress
請求方式:get
請求報文
currencyId=2 // (必傳)
pageIndex=1 // (可選, 默認1)
pageSize=10 // (可選, 默認10)
返回報文
{
“datas”: {
“totalRow”: 2,
“totalPage”: 1,
“pageSize”: 10,
“list”: [
{
“address”: “1DkwrD4bMtjd6kcZw8CxM9r3z4AGVFfSRz”, // 地址
“modifyTime”: 1524217688882, // 修改時間
“currencyName”: “btc”, // 幣種名稱
“createTime”: 1523185357488, // 提幣時間
“userFundAddressId”: “7bwK95B7jTk”, // 地址id
“remark”: “correct”, // 備注
“currencyId”: “2”, // 幣種id
“type”: 1, // (1-提幣地址, 2-打幣地址)
“userName”: “Mr.牛”, // 用戶名
“userId”: “7e8fMkzTlL6”, // 用戶id
“status”: “1” // 狀態(-1 刪除, 1 正常)
}
],
“pageNum”: 1
},
“resMsg”: {
“code”: “1”,
“method”: null,
“message”: “success !”
}
}
5 簽名規則
5.1 簽名規則
簽名串sign=md5(Apiid+Timestamp+參數內容拼串+簽名秘鑰),Timestamp是毫秒為單位的時間戳,簽名秘鑰為ApiSecret,和Apiid在網站打開Api功能時獲取。參數拼串內容規則有三種,只有header參數的為空字符串"" ,body json格式的參數為body參數的json字符串格式,key-value以及get形式的參數內容拼串為所有參數按key值首字母排序后再按key1+value1+key2+value2…的形式拼串。簽名后將Apiid、Timestamp、Sign放入到請求header中,注意首字母大寫,后面全小寫。
比如在網站打開API功能后拿到下面兩個參數 Apiid=7eESLc0x69I7eESLc0x69J,Apisecret = 87ceba599b6d39a39deb01cf71eacd57,Timestamp=1526886847000,
a、Body json格式參數
參數內容json字符串為:{“userId”:“u111”,“name”:“zhangsan”}
參數內容拼串為:{“userId”:“u111”,“name”:“zhangsan”}
則 Sign = md5(7eESLc0x69I7eESLc0x69J1526886847000{“userId”:“u111”,“name”:“zhangsan”}87ceba599b6d39a39deb01cf71eacd57)
= 1429945054c993ea3e22a28227bf7b25
b、 沒有任何body或get參數
參數內容拼串為空 則
Sign = md5(7eESLc0x69I7eESLc0x69J152688684700087ceba599b6d39a39deb01cf71eacd57)
= 735aeffac07c60ddeb2d6f18115c1946
c、formdata key-value, 或者get參數
參數內容為:userid=10,status=1,acount = 10
參數內容拼串為:account10status1userid10
則 Sign = md5(7eESLc0x69I7eESLc0x69J1526886847000account10status1userid1087ceba599b6d39a39deb01cf71eacd57)
= 1d83cb6bde160eff50fbb13a407e7804
提供Java版本的簽名代碼如下,其他語言請參考代碼自行實現
import com.alibaba.fastjson.JSON;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.HashMap;
import java.util.Map;
/**
-
@Author: cai.zhenghao
-
@Description:
-
@Date: Created in 2018/6/26 下午3:48
-
@Modified By:
*/
public class SignUtils {/**
- 自行根據需要設置,一般認為一個服務里使用的只有一個
*/
public static String ID_NAME = “Apiid”;
/**
- 不為空、不為空字符串、不為雙引號、不為空{}
- @param source
- @return
*/
public static boolean isEmpty(String source) {
return source == null || source.isEmpty() || source.equals("""") || source.trim().equals("{}");
}
/**
-
參數是formdata key value,或者get參數 形式的情況下獲取簽名header
-
@param parameters
-
@return
*/
public static Map getHeaderOfKeyValue(String id, String secret,Map<String, Object> parameters) {
long time = System.currentTimeMillis();
Map header = new HashMap();
StringBuffer contentSb = new StringBuffer();
if (parameters != null) {
parameters.entrySet().stream()
.filter(a -> a != null && (!isEmpty(a.getKey()) || !isEmpty((String) a.getValue()))).
sorted(Map.Entry.<String, Object>comparingByKey()).forEachOrdered(e -> contentSb.append(e.getKey() + e.getValue()));
}header.put(ID_NAME,id);
header.put(“Timestamp”, String.valueOf(time));
header.put(“Sign”, encryptMD5(id + time + contentSb.toString() + secret));
return header;
}
/**
- 參數為空情況下獲取簽名header
- @return
*/
public static Map getHeaderOfNoParams(String id, String secret) {
Map header = new HashMap();
long time = System.currentTimeMillis();
header.put(ID_NAME, id);
header.put(“Timestamp”, String.valueOf(time));
header.put(“Sign”, encryptMD5(id + time + secret));
return header;
}
/**
- 參數是body json形式的情況下獲取簽名header
- @param object
- @return
*/
public static Map getHeaderOfBodyJson(String id, String secret, Object object) {
Map header = new HashMap();
long time = System.currentTimeMillis();
String params = JSON.toJSONString(object);
header.put(ID_NAME, id);
header.put(“Timestamp”, String.valueOf(time));
header.put(“Sign”, encryptMD5(id + time + params + secret));
return header;
}
public static String encryptMD5(String str) {
return digest(“MD5”, str);
}public static String digest(String code, String str) {
try {
MessageDigest messageDigest = MessageDigest.getInstance(code);
messageDigest.reset();
messageDigest.update(str.getBytes());
byte[] byteArray = messageDigest.digest();
StringBuffer md5StrBuff = new StringBuffer();for(int i = 0; i < byteArray.length; ++i) {if (Integer.toHexString(255 & byteArray[i]).length() == 1) {md5StrBuff.append("0").append(Integer.toHexString(255 & byteArray[i]));} else {md5StrBuff.append(Integer.toHexString(255 & byteArray[i]));}}return md5StrBuff.toString();} catch (NoSuchAlgorithmException var6) {var6.printStackTrace();return null;}}
} - 自行根據需要設置,一般認為一個服務里使用的只有一個
6市場行情類接口
注意,市場行情類接口的域名和前面幾部分HTTP接口不同,不需要簽名,header不需要傳簽名的幾個參數。一個IP一分鐘內最多只能訪問1000次這部分接口,請注意頻率控制。
6.1 所有市場24H市場行情
這個數據服務端更新速度為10秒一次,不必太過頻繁獲取
path:https://kline.zbg.com/api/data/v1/tickers
請求方式:get
請求報文
isUseMarketName=true //必傳,選擇true則返回的結果中用BTC_USDT這樣的市場名替代掉marketId,false則使用marketId
返回報文分兩種格式
isUseMarketName為fasle時格式如下
{
“resMsg”: {
“code”: “1”,
“method”: null,
“message”: “success !”
},
“datas”: [
[
99,
“0.0”,
“0”,
“0”,
“0”,
“0.0”,
“[]”,
“9.396”,
“9.08”,
“21469873.428”
],
[
90,
“8249994.968”,
“8257720.9458”,
“8207608.58”,
“1080294.9779”,
“0.51”,
“[[1, 8219706.597], [2, 8249994.998]]”,
“7418805.42381067”,
“7418805.425”,
“21469873.428”
]
]
}
isUseMarketName為true時格式如下
{
“resMsg”: {
“code”: “1”,
“method”: null,
“message”: “success !”
},
“datas”: {
“ETC_USDT”: [
99,
“0.0”,
“0”,
“0”,
“0”,
“0.0”,
“[]”,
“9.296”,
“9.708”,
“21469873.428”
],
“BTC_KRW”: [
90,
“8245004.195”,
“8257720.93”,
“8207608.57”,
“1187226.0187”,
“0.45”,
“[[1, 8219706.597], [2, 8245004.125]]”,
“7418805.413”,
“7418805.47”,
“21469873.408”
]
}
}
數據說明
[ 市場ID, 最新成交價, 最高價,最低價, 24小時成交量,24小時漲跌幅, 最近6H收盤價列表,買一價,賣一價,24小時成交額(單位是買方幣種)]
最近6H收盤價列表按時間順序排序,數據說明:
[[序號, 收盤價], [序號, 收盤價], [序號, 收盤價]]
6.2 單個市場24H市場行情
這個數據服務端更新速度為10秒一次,不必太過頻繁獲取
path:https://kline.zbg.com/api/data/v1/ticker
請求方式:get
請求報文
marketId=90 //市場id,和市場名傳一個即可
marketName=ETC_USDT //市場名,和市場id傳一個即可
返回報文格式
{
“datas”: [
90,
“8268227.40230003”,
“8268227.40230003”,
“8207608.58629997”,
“1725211.1401”,
“0.73”,
“[[1, 8219706.597], [2, 8266335.7998], [3, 8268227.4023]]”,
“7418805.4126”,
“7418805.4237”,
“21469873.408”
],
“resMsg”: {
“code”: “1”,
“method”: null,
“message”: “success !”
}
}
數據說明
[ 市場ID, 最新成交價, 最高價,最低價, 24小時成交量,24小時漲跌幅, 最近6H收盤價列表,買一價,賣一價,24小時成交額(單位是買方幣種)]
最近6H收盤價列表按時間順序排序,數據說明:
[[序號, 收盤價], [序號, 收盤價], [序號, 收盤價]]
6.3 K線
path:https://kline.zbg.com/api/data/v1/klines
請求方式:get
請求報文
marketId=90 //市場id,和市場名傳一個即可
marketName=ETC_USDT //市場名,和市場id傳一個即可
type=1M //K線類型,支持1M,5M,15M,30M,1H,1D,1W 七種類型,分別代表1-30分鐘,1小時,1日,1周
dataSize=5 //數據量,最多為100
返回報文格式
{
“datas”: [
[
“K”,
“90”,
“btc_krw”,
“1532181600”,
“8266335.737”,
“8279949.6898”,
“8266003.6894”,
“8269418.0781”,
“492264.06”,
“0.04”,
“1”,
“1H”,
“false”
],
…
],
“resMsg”: {
“code”: “1”,
“method”: null,
“message”: “success !”
}
}
數據說明
[數據類型, 市場ID, 市場名字, 時間戳, 開盤數據, 最高價, 最低價, 收盤價, 成交量, 漲跌幅度, 美元匯率, K線周期, 是否經過轉換]
6.4 交易記錄
path:https://kline.zbg.com/api/data/v1/trades
請求方式:get
請求報文
marketId=90 //市場id,和市場名傳一個即可
marketName=ETC_USDT //市場名,和市場id傳一個即可
dataSize=10 //數據量,最多為20
返回報文格式
{
“datas”: [
[
“T”,
“90”,
“1532183063”,
“BTC_KRW”,
“bid”,
“8271173.90”,
“515.50”
],
…
],
“resMsg”: {
“code”: “1”,
“method”: null,
“message”: “success !”
}
}
數據說明
[數據類型, 市場ID, 幣種信息, 時間戳, 買賣類型(asks賣bids買), 價格, 量]
6.5 盤口數據(市場深度)
本接口最多返回買賣50檔的盤口數據
path:https://kline.zbg.com/api/data/v1/entrusts
請求方式:get
請求報文
marketId=90 //市場id,和市場名傳一個即可
marketName=ETC_USDT //市場名,和市場id傳一個即可
返回報文格式
{
“datas”: {
“asks”: [
[
“8247657.898”,
“5.95”
],
[
“7418805.435”,
“4.88”
],
[
“7418805.47”,
“0.01”
]
],
“bids”: [
[
“0.81945643”,
“24.32”
],
[
“0.847”,
“2.064”
],
[
“0.516”,
“17.043”
]
],
“timestamp”: “1532183394”
},
“resMsg”: {
“code”: “1”,
“method”: null,
“message”: “success !”
}
}
數據說明
asks:(賣盤)[[價格, 量]]
bids:(買盤)[[價格, 量]]
7 接口結果外部和錯誤碼
失敗時返回報文如下
{
“datas”: null,
“resMsg”: {
“code”: “1000”,
“method”: null,
“message”: “param invalid”
}
}
8錯誤碼列表:
配置及基礎功能API、獲取用戶信息接口、交易API、財務資金API
| 錯誤碼 | 說明 | 英文說明 |
|---|---|---|
| 1000 | 系統錯誤 | system error |
| 1003 | 無效的參數 | param invalid |
| 2000 | 參數錯誤 | parameter error |
| 2001 | 委托價格類型為空 | entrust price range type null |
| 2002 | 委托類型錯誤 | rangeType [ 0,1] error |
| 2003 | 委托價格異常 | entrust price abnormal |
| 2004 | 市場ID不能為空 | market id null |
| 2012 | 委托信息不存在或狀態異常 | entrust not exists or status abnormal |
| 2014 | 緩存中無該該委托單 | entrust not exists in cache |
| 2015 | 委托單已取消或數據庫中不存在 | entrust already canceled or not exists in database |
| 2016 | 分頁index,pageSize參數有誤 | paging:index or pageSize invalid |
| 2017 | 交易貨幣量為空 | entrust amount null |
| 2019 | 委托單ID不能為空 | entrustId null |
| 2020 | 委托類型不能為空 | entrustType null |
| 2022 | 交易貨幣量小于最小值 | entrust amount low min limit |
| 2999 | 內部錯誤 | system error |
| 6002 | 授權失效,需要重新登錄 | Authorization invalid, please sign in again. |
| 6021 | 限制提幣操作 | Limit the withdraw operation |
| 6076 | 安全密碼錯誤,請重新輸入 | Security password error, please enter again! |
| 6095 | 用戶不存在 | User does not exist |
| 6096 | 無效的參數 | Invalid parameter |
| 6114 | 提幣地址為空 | Please select a currency address! |
| 6124 | 審核失敗 | Audit failure! |
| 6126 | 審核通過 | Audit Approve! |
| 6115 | 提交提幣申請失敗 | Submit a withdrawal application failure! |
| 6125 | 無效的貨幣類型 | An invalid currency type! |
| 6130 | 沒有選取幣種 | No selection of currency, Please try again! |
| 6894 | 時間過長,API簽名已失效 | The time is too long,sign for api is invalid now! |
| 6895 | 校驗API權限失敗,接口不屬于授權 | API Failed to verify the API permission. This interface is not a authorize API! |
| 6896 | 校驗API權限失敗,Userid和Apiid不匹配 | Failed to verify the API permission. The Userid is not matching with Apiid! |
| 6897 | 校驗API權限失敗,請確認是否開啟Api權限 | Failed to verify the API permission. Please confirm whether to enable API permission! |
| 6898 | 多次校驗API權限失敗,請確認是否開啟Api權限 | Failed to verify the API permission for multiple times. Please confirm whether to enable API permission! |
| 10012 | 未知異常 | unknown error |
總結
- 上一篇: 教程:测试期间的日志记录
- 下一篇: 叙事 RPG 游戏《吸血鬼:避世血族-绝