接口說明
反饋郵箱
Email: api@bg.exchange
請求地址
HTTP請求地址
HOST: https://api.bg.exchange/hk
WEBSOCKET請求地址
WebSocket私有頻道(DEPRECATED):wss://ws.bg.exchange
WebSocket公共頻道(DEPRECATED):wss://ws.bg.exchange/ws
- WebSocket公共頻道V2:
wss://ws.bg.exchange/v2/ws
- WebSocket私有頻道V2:
wss://ws.bg.exchange/v2/ws
Response Status
{
"code":1087,
"message":"查找不到數據"
}
{
"code":40001,
"message":"ACCESS_KEY不能為空"
}
{
"code":500,
"message":"Internal Server Error"
}
Status Code | Meaning | Example |
---|---|---|
200 | Success Request | |
400 | Bad Request -- The client should not repeat this request without modification. | message string |
401 | Unauthorized -- Your API key is wrong, See 鑑權說明 | message string |
500 | Internal Server Error -- We had a problem with our server. Try again later. | message string |
名詞解釋
名詞 | 示意 |
---|---|
currency | 幣種, 例如 BTC, USDT,HKD, USD |
product | 交易產品,例如 BTC_HKD |
賬戶信息
GET 獲取所有賬戶餘額信息
獲取用戶所有的交易賬戶信息
限速:10次/s
限速規則:ApiKey
HTTP請求
GET HOST/v1/accounts
鑑權信息
私有信息的鑑權信息,請參考 鑑權說明
[
{
"available": "10.0001",
"balance": "11.0001",
"currency": "BTC",
"hold": "1.0"
}
]
參數名稱 | 參數說明 | 類型 |
---|---|---|
available | 可用額度 | string |
hold | 凍結額度 | string |
balance | 餘額,包含 可用額度為凍結額度之和 | string |
currency | 資產名稱 | string |
GET 獲取單個賬戶餘額信息
獲取用戶指定的交易賬戶信息
限速:10次/s
限速規則:ApiKey
HTTP請求
GET HOST/v1/accounts/{currency}
鑑權信息
私有信息的鑑權信息,請參考 鑑權說明
參數名稱 | 參數說明 | 是否必須 | 數據類型 |
---|---|---|---|
currency | 資產名稱,例:BTC | true | string |
{
"available": "10.0001",
"balance": "11.0001",
"currency": "BTC",
"hold": "1.0"
}
參數名稱 | 參數說明 | 類型 |
---|---|---|
available | 可用額度 | string |
hold | 凍結額度 | string |
balance | 餘額,包含 可用額度與凍結額度之和 | string |
currency | 資產名稱 | string |
資金劃轉
POST 資金賬戶劃轉到交易賬戶
將資金從資金賬戶劃轉到指定的交易賬戶
限速:10次/s
限速規則:ApiKey
HTTP請求
POST HOST/v1/deposits/accounttrue
鑑權信息
私有信息的鑑權信息,請參考 鑑權說明
{
"amount": 100,
"currency": "HKD"
}
參數名稱 | 參數說明 | 是否必須 | 數據類型 |
---|---|---|---|
amount | 劃轉數量 | true | string |
currency | 劃轉資產名稱 | true | string |
{
"amount": 100,
"currency": "HKD"
}
參數名稱 | 參數說明 | 類型 |
---|---|---|
amount | 劃轉數量 | string |
currency | 劃轉資產名稱 | string |
POST 交易賬戶劃轉到資金賬戶
將資金從交易賬戶劃轉到資金賬戶,劃轉後,可以進行提現操作。
限速:10次/s
限速規則:ApiKey
HTTP請求
POST HOST/v1/withdrawals/accounttrue
鑑權信息
私有信息的鑑權信息,請參考 鑑權說明
REQUEST EXAMPLE
{
"amount": 100,
"currency": "HKD"
}
參數名稱 | 參數說明 | 是否必須 | 數據類型 |
---|---|---|---|
amount | 劃轉數量 | true | string |
currency | 劃轉資產名稱 | true | string |
{
"amount": 100,
"currency": "HKD"
}
參數名稱 | 參數說明 | 類型 |
---|---|---|
amount | 劃轉數量 | string |
currency | 劃轉資產名稱 | string |
產品
GET 獲取所有已知的交易產品
獲取所有的交易產品信息
限速:無
限速規則:無
HTTP請求
GET HOST/v1/products
[
{
"product": "ETH_USD",
"base_currency": "ETH",
"quote_currency": "USD",
"display_name": "ETH_USD",
"status": "on",
"maker_fees_rate": "0.01",
"taker_fees_rate": "0.02",
"quote_precision": "5",
"trade_precision": "8",
"amount_precision": "6",
"max_buy_price_rate": "1.000000",
"max_sell_price_rate": "1.000000",
"max_trade_usd_per_order": "",
"min_trade_usd_per_order": "",
"max_market_taker_trade_rate": "1.000000",
"min_market_taker_trade_rate": "1.000000",
"max_market_trade_usd_per_order": "",
"min_market_trade_usd_per_order": ""
}
]
product
: 商品
base_currency
: 基礎資產名
quote_currency
: 計價資產名
display_name
: 交易產品展示名,下單時,作為交易產品唯一標識
status
: 交易產品狀態
- on
: 已上線,該產品開放交易,可以正常下單交易。
- off
: 已下線。該產品關閉一切交易,已經存在掛單的訂單,會被系統自動撤銷。
- pause
: 交易暫停,該產品關閉一些交易,但已經存在的掛單,不會被取消
amount_precision
: 交易貨幣數量單位精度
quote_precision
: 計價貨幣數量單位精度
trade_precision
: 交易貨幣價格單位精度
maker_fees_rate
: 賣單方費率
taker_fees_rate
: 買單方費率
max_buy_price_rate
: 限價買入價不能高於最新價格的比率,超過比率,訂單下單失敗。
max_sell_price_rate
: 限價賣單不可以低於最新價格的比率。超過比率,訂單下單失敗。
max_trade_usd_per_order
: 限價每筆訂單最大下單金額。該金額會被折合成美元
進行計算。
min_trade_usd_per_order
: 限價每筆訂單最小下單金額。該金額會被折合成美元
進行計算。
max_market_taker_trade_rate
: 市價買入價不能高於最新價格的比率,超過比率,訂單下單失敗。
min_market_taker_trade_rate
: 市價賣單不可以低於最新價格的比率。超過比率,訂單下單失敗。
max_market_trade_usd_per_order
: 市價單筆最小下單金額。該金額會被折合成美元
進行計算。
min_market_trade_usd_per_order
: 市價單筆最小下單金額。該金額會被折合成美元
進行計算。
參數名稱 | 參數說明 | 類型 |
---|---|---|
product | 商品 | string |
base_currency | 基礎資產 | string |
quote_currency | 計價資產名 | string |
display_name | 顯示名稱 | string |
amount_precision | 交易貨幣數量單位精度 | string |
quote_precision | 計價貨幣數量單位精度 | string |
trade_precision | 交易貨幣價格單位精度 | string |
maker_fees_rate | 賣單方費率 | string |
taker_fees_rate | 買單方費率 | string |
max_buy_price_rate | 買入價格不能高於最新價(%) | string |
max_sell_price_rate | 賣出價格不能低於最新價(%) | string |
max_trade_usd_per_order | 單筆最大下單金額 | string |
min_trade_usd_per_order | 單筆最小下單金額 | string |
max_market_taker_trade_rate | 買單成交價格上限(%) | string |
min_market_taker_trade_rate | 買單成交價格下限(%) | string |
max_market_trade_usd_per_order | 單筆最大下單金額 | string |
min_market_trade_usd_per_order | 單筆最小下單金額 | string |
status | 狀態 | string |
GET 獲取單個產品詳情
獲取指定的交易產品信息
限速:無
限速規則:無
HTTP請求
GET HOST/v1/products/{product}
參數名稱 | 參數說明 | 是否必須 | 數據類型 |
---|---|---|---|
product | 商品,例:ETH_USD | true | string |
[
{
"product": "ETH_USD",
"base_currency": "ETH",
"quote_currency": "USD",
"display_name": "ETH_USD",
"status": "on",
"maker_fees_rate": "0.01",
"taker_fees_rate": "0.02",
"quote_precision": "5",
"trade_precision": "8",
"amount_precision": "6",
"max_buy_price_rate": "1.000000",
"max_sell_price_rate": "1.000000",
"max_trade_usd_per_order": "",
"min_trade_usd_per_order": "",
"max_market_taker_trade_rate": "1.000000",
"min_market_taker_trade_rate": "1.000000",
"max_market_trade_usd_per_order": "",
"min_market_trade_usd_per_order": ""
}
]
product
: 商品
base_currency
: 基礎資產名
quote_currency
: 計價資產名
display_name
: 交易產品展示名,下單時,作為交易產品唯一標識
status
: 交易產品狀態
- on
: 已上線,該產品開放交易,可以正常下單交易。
- off
: 已下線。該產品關閉一切交易,已經存在掛單的訂單,會被系統自動撤銷。
- pause
: 交易暫停,該產品關閉一些交易,但已經存在的掛單,不會被取消
amount_precision
: 交易貨幣數量單位精度
quote_precision
: 計價貨幣數量單位精度
trade_precision
: 交易貨幣價格單位精度
maker_fees_rate
: 賣單方費率
taker_fees_rate
: 買單方費率
max_buy_price_rate
: 限價買入價不能高於最新價格的比率,超過比率,訂單下單失敗。
max_sell_price_rate
: 限價賣單不可以低於最新價格的比率。超過比率,訂單下單失敗。
max_trade_usd_per_order
: 限價每筆訂單最大下單金額。該金額會被折合成美元
進行計算。
min_trade_usd_per_order
: 限價每筆訂單最小下單金額。該金額會被折合成美元
進行計算。
max_market_taker_trade_rate
: 市價買入價不能高於最新價格的比率,超過比率,訂單下單失敗。
min_market_taker_trade_rate
: 市價賣單不可以低於最新價格的比率。超過比率,訂單下單失敗。
max_market_trade_usd_per_order
: 市價單筆最小下單金額。該金額會被折合成美元
進行計算。
min_market_trade_usd_per_order
: 市價單筆最小下單金額。該金額會被折合成美元
進行計算。
參數名稱 | 參數說明 | 類型 |
---|---|---|
product | 商品 | string |
base_currency | 基礎資產 | string |
quote_currency | 計價資產名 | string |
display_name | 顯示名稱 | string |
amount_precision | 交易貨幣數量單位精度 | string |
quote_precision | 計價貨幣數量單位精度 | string |
trade_precision | 交易貨幣價格單位精度 | string |
maker_fees_rate | 賣單方費率 | string |
taker_fees_rate | 買單方費率 | string |
max_buy_price_rate | 買入價格不能高於最新價(%) | string |
max_sell_price_rate | 賣出價格不能低於最新價(%) | string |
max_trade_usd_per_order | 單筆最大下單金額 | string |
min_trade_usd_per_order | 單筆最小下單金額 | string |
max_market_taker_trade_rate | 買單成交價格上限(%) | string |
min_market_taker_trade_rate | 買單成交價格下限(%) | string |
max_market_trade_usd_per_order | 單筆最大下單金額 | string |
min_market_trade_usd_per_order | 單筆最小下單金額 | string |
status | 狀態 | string |
公共數據V2
GET K線
獲取K線數據。 K線數據按請求的粒度分組返回,K線數據最多可獲取最近2,000條。
限速:無
限速規則:無
HTTP請求
GET HOST/public/v2/products/{product}/candles
參數名 | 必選 | 類型 | 說明 |
---|---|---|---|
product | true | string | 路徑參數 商品,如:ETH_USD |
interval | false | string | 時間粒度默認值1min 參考值:[1min,5min,15min,30min,60min,4hour,1day,1week,1mon] 具體請參考K線頻道訂閱 |
from | true | long | 開始時間 ,請求此時間戳之後的數據(秒) |
to | true | long | 結束時間 ,請求次時間戳之前的數據(秒) |
size | false | int | 默認500 ,最大1000[1,1000] |
GET /public/v2/products/ETH_USDT/candles?interval=1min&from=1639584000&to=1639584000&size=100
{
"code": 200,
"data":
[
{
"id": 1690952460,
"open": "3.5334",
"close": "3.5334",
"high": "3.5334",
"low": "3.5334",
"vol": "0",
"count": 0,
"filled_size": "0"
},
{
"id": 1690952520,
"open": "3.5334",
"close": "3.5334",
"high": "3.5334",
"low": "3.5334",
"vol": "0",
"count": 0,
"filled_size": "0"
}
],
"message": "OK"
}
參數名 | 類型 | 說明 |
---|---|---|
close | string | 這根K線期間末一筆成交價 |
high | string | 這根K線期間最高成交價 |
low | string | 這根K線期間最低成交價 |
open | string | 這根K線期間第一筆成交價 |
filled_size | string | 成交額 |
count | int | 這根k線期間的成交筆數 |
vol | string | 成交量 |
id | long | 唯一id |
GET 訂單book
獲取訂單簿(Order-book)數據。 Order-book數據按價格從高到低排序,價格相同的按照時間優先排序。
限速:無
限速規則:無
HTTP請求
GET HOST/public/v2/products/{product}/orderbook
參數名 | 必選 | 類型 | 說明 |
---|---|---|---|
product | true | string | 路徑參數 商品,如:ETH_USD |
interval | false | string | 指標週期 默認值 0 有效取值範圍 0-11 請參考 深度頻道訂閱 |
GET /public/v2/products/ETH_USDT/orderbook?interval=0
{
"code": 200,
"data":
{
"bids":
[
[
"5", //價格
"3.6" //數量
],
[
"3.5334",
"3"
]
],
"asks":
[],
"seq_id": 18867339
},
"message": "OK"
}
參數名 | 類型 | 說明 |
---|---|---|
seq_id | string | 有序且唯一id |
bids | [] | 買方 |
asks | [] | 賣方 |
GET 全部幣對24小時行情數據
獲取所有產品行情信息
限速:無
限速規則:無
HTTP請求
GET HOST/public/v2/products/overview/tickers
GET /public/v2/products/overview/tickers
{
"code": 200,
"data":
[
{
"id": 1691132221,
"product": "BTC_USDT",
"open": "7.13",
"close": "3.2713",
"high": "7.13",
"low": "2.9313",
"vol": "1979.89",
"count": 0,
"change": "-3.8587",
"seq_id": 22757,
"filled_size": "6916.093957",
"change_percent": "-0.5412"
}
],
"message": "OK"
}
參數名 | 類型 | 說明 |
---|---|---|
close | int | 24小時最新成交價格 |
high | int | 24小時內最高成交價 |
low | int | 24小時內最低成交價 |
open | int | 24小時前開始第一筆成交價格 |
filled_size | string | 24小時內成交額 |
vol | string | 24小時內成交量 |
change | string | 24小時價格變化 |
change_percent | string | 24小時價格變化(百分比) |
seq_id | long | 唯一且有序id |
count | int | 24小時成交筆數 |
product | string | 商品,例:ETH_USD |
id | long | 唯一id |
GET 單幣對24小時行情數據
獲取產品行情信息
限速:無
限速規則:無
HTTP請求
GET HOST/public/v2/products/{product}/ticker
參數名 | 必選 | 類型 | 說明 |
---|---|---|---|
product | true | string | 路徑參數 商品,如:ETH_USD |
GET /public/v2/products/ETH_USDT/ticker
{
"code": 200,
"data":
{
"id": 1691132024,
"product": "ETH_USDT",
"open": "7.13",
"close": "3.2713",
"high": "7.13",
"low": "2.9313",
"vol": "1979.89",
"count": 0,
"change": "-3.8587",
"seq_id": 22757,
"filled_size": "6916.093957",
"change_percent": "-0.5412"
},
"message": "OK"
}
參數名 | 類型 | 說明 |
---|---|---|
close | int | 24小時最新成交價格 |
high | int | 24小時內最高成交價 |
low | int | 24小時內最低成交價 |
open | int | 24小時前開始第一筆成交價格 |
filled_size | string | 24小時內成交額 |
vol | string | 24小時內成交量 |
change | string | 24小時價格變化 |
change_percent | string | 24小時價格變化(百分比) |
seq_id | long | 唯一且有序id |
count | int | 24小時成交筆數 |
product | string | 商品,例:ETH_USD |
id | long | 唯一id |
GET 單幣對實時成交數據
獲取產品的最新交易列表
限速:無
限速規則:無
HTTP請求
GET HOST/public/v2/products/{product}/trades
參數名 | 必選 | 類型 | 說明 |
---|---|---|---|
product | true | string | 路徑參數 商品,如:ETH_USD |
size | false | int | 每次請求的數量:默認值 500 最大值 1000 |
GET /public/v2/products/ETH_USDT/trades?size=1
{
"code": 200,
"data":
[
{
"vol": "0.1",
"ts": 1691029846352,
"price": "5",
"direction": "sell",
"id": 17078143
}
],
"message": "OK"
}
參數名 | 類型 | 說明 |
---|---|---|
direction | string | 成交方向 buy / sell |
price | string | 成交價格 |
vol | string | 成交量 |
id | string | 唯一id |
ts | long | 成交時間戳 |
幣種信息
GET 獲取所有已知貨幣
獲取所有幣種的信息列表
限速:無
限速規則:無
HTTP請求
GET HOST/v1/currencies
[
{
"currency": "ETH",
"min_size": "0",
"status": "on",
"max_precision": "10",
"type": "crypto",
"deposit_status": "on",
"withdraw_status": "on",
"accuracy": "8",
"details": [
{
"network_confirmations": "12",
"sort_order": "3",
"display_name": "ETH",
"deposit_status": "on",
"accuracy": "8",
"withdraw_status": "on"
}
]
}
]
currency
: 幣種名稱,可唯一標識幣種
accuracy
: fiat存取款精度
max_precision
: 最大精度。取之範圍在[18,-18]
max_precision >= 0
時,代表幣種精度在小數點後 max_precision 位;max_precision < 0
時,代表幣種精度為整數,且精度為 10 的 abs(max_precision) 次方位
min_size
: 最小出入金數量
status
: 幣種狀態
type
: 貨幣類型,fiat
為法幣, crypto
為數字幣
details
: 鏈信息,只有數字幣類型才會有此部分信息
deposit_status
: fiat 存款狀態
withdraw_status
: fiat 取款狀態
dispaly_name
: 顯示名稱network_confirmations
: 最低網絡確認次數currency
: 幣種名稱,可唯一標識幣種accuracy
: crypto存取款精度deposit_status
: crypto 存款狀態withdraw_status
: crypto 取款狀態
參數名稱 | 參數說明 | 類型 |
---|---|---|
currency | 幣種名稱 | string |
accuracy | fiat存取款精度 | string |
max_precision | 最大精度 | string |
min_size | 最小出入金數量 | string |
status | 幣種狀態 | string |
type | 貨幣類型 | string |
details | 鏈信息 | string |
deposit_status | fiat 存款狀態 | string |
withdraw_status | fiat 取款狀態 | string |
GET 獲取單個幣種信息
獲取指定幣種的信息
限速:無
限速規則:無
HTTP請求
GET HOST/v1/currencies/{currency}
參數名稱 | 參數說明 | 是否必須 | 數據類型 |
---|---|---|---|
currency | 幣種名稱,例:BTC | true | string |
[
{
"currency": "ETH",
"min_size": "0",
"status": "on",
"max_precision": "10",
"type": "crypto",
"deposit_status": "on",
"withdraw_status": "on",
"accuracy": "8",
"details": [
{
"network_confirmations": "12",
"display_name": "ETH",
"accuracy": "8",
"deposit_status": "on",
"withdraw_status": "on"
}
]
}
]
currency
: 幣種名稱,可唯一標識幣種
accuracy
: fiat存取款精度
max_precision
: 最大精度。取之範圍在[18,-18]
max_precision >= 0
時,代表幣種精度在小數點後 max_precision 位;max_precision < 0
時,代表幣種精度為整數,且精度為 10 的 abs(max_precision) 次方位
min_size
: 最小出入金數量
status
: 幣種狀態
type
: 貨幣類型,fiat
為法幣, crypto
為數字幣
details
: 鏈信息,只有數字幣類型才會有此部分信息
deposit_status
: fiat 存款狀態
withdraw_status
: fiat 取款狀態
dispaly_name
: 顯示名稱network_confirmations
: 最低網絡確認次數currency
: 幣種名稱accuracy
: crypto存取款精度deposit_status
: crypto 存款狀態withdraw_status
: crypto 取款狀態
參數名稱 | 參數說明 | 類型 |
---|---|---|
currency | 幣種名稱 | string |
accuracy | fiat存取款精度 | string |
max_precision | 最大精度 | string |
min_size | 最小出入金數量 | string |
status | 幣種狀態 | string |
type | 貨幣類型 | string |
details | 鏈信息 | string |
deposit_status | fiat 存款狀態 | string |
withdraw_status | fiat 取款狀態 | string |
交易和訂單
POST 創建新訂單
只有當您的賬戶有足夠的資金才能下單。
限速:10次/s
限速規則:ApiKey
HTTP請求
POST HOST/v1/orders
鑑權信息
私有信息的鑑權信息,請參考 鑑權說明
{
"product": "BTC_USDT",
"side": "buy",
"type": "limit",
"stp": "dc",
"price": "2.00",
"size": "3.300000000000000000",
"client_oid": "QZ_2020-jj"
}
common parameters
product
: 必須是一個存在的商品。例如 BTC_USD
。產品列表可以通過 products 獲得。
side
: buy
買入, sell
賣出。
type
: 訂單類型
limit
: 限價訂單market
: 市價訂單
client_oid
: 可選,默認"0",用戶自定義訂單號,用於用戶管理自己的訂單。該ID非唯一,長度不多於32個字符的字符串類型,必須由大小寫字母A-Z/a-z、數字0-9、下劃線_、中劃線- 中的元素組成,不支持以外的特殊符號
stp
: 即 self trade prevention
。 BGE禁止用戶與自己成交的行為。用戶可以通過stp
選項,指定當自成交場景出現時的訂單處理策略。
dc
: 即decrease and cancel
(default)。當撮合發生相同用戶訂單匹配時,數量多的一方將被執行decrease
指令,數量少的一方將被執行cancel
指令。 decrease 或者 或者cancel 的數量為兩個訂單發生自成交匹配的最小值。co
: 即cancle oldest
, 當撮合發生相同用戶訂單匹配時,掛單較早的訂單會被執行cancle
指令。新訂單將被繼續執行正常交易撮合流程。cn
: 即cancle newest
, 當撮合發生相同用戶訂單匹配時,最新訂單會被執行cancle
指令,較早的掛單依然停留在訂單簿,執行正常的交易撮合流程。cb
: 即cancle both
,當撮合發生相同用戶訂單匹配時,發生匹配的兩個訂單,均會被執行cancle
指令。
time_in_force
: 可選,交易指令,目前支持 GTC
。默認值為 GTC
limit order parameters
price
: 商品價格
size
: 買入或者賣出商品的數量
market order parameters
size
: 期望交易數量。需要side
為 sell
,代表以最新成交價進行賣出,期望最多賣出的商品數。
funds
: 期望交易額度。需要side
為 buy
,代表以最新成交價進行買入,期望花費的最多資產額度。
參數名稱 | 參數說明 | 是否必須 | 數據類型 |
---|---|---|---|
product | 商品,例:ETH_USD | true | string |
side | buy/sell | true | string |
type | limit:限價單/market:市價單 | true | string |
stp | 自成交:dc:減少和取消(默認)co:取消最舊 cn:取消最新 cb:取消兩者 | true | string |
time_in_force | 交易指令,GTC | false | string |
funds | 想要使用的報價貨幣數量 | false | string |
price | 每個幣的價格 | false | string |
size | 買入或賣出的數量 | false | string |
client_oid | 用戶自定義訂單號 | false | string |
{
"order_id":129149436110880967,
"client_oid":"Order_ower_1233"
}
order_id
: BGE所生成的訂單號
client_oid
: 用戶自定義訂單號
參數名稱 | 參數說明 | 類型 |
---|---|---|
order_id | BGE所生成的訂單號 | string |
client_oid | 用戶自定義訂單號,默認"0" | string |
GET 根據系統訂單號查詢單個訂單
獲取指定訂單信息。
限速:10次/s
限速規則:ApiKey
HTTP請求
GET HOST/v1/orders/{order_id}
鑑權信息
私有信息的鑑權信息,請參考 鑑權說明
參數名稱 | 參數說明 | 是否必須 | 數據類型 |
---|---|---|---|
order_id | 訂單ID | true | string |
{
"filled_size": "0.000000000000000000",
"filled_fees": "1.00",
"filled_amount": "0.000000000000000000",
"filled_average_price": "0",
"created_at": "2021-12-14T03:19:15Z",
"updated_at": "2022-01-04T06:57:34Z",
"price": "2.00",
"size": "3.300000000000000000",
"product": "BTC_USDT",
"order_id": "127738628653088481",
"funds": "0.000000000000000000",
"type": "limit",
"side": "buy",
"status": "7",
"client_oid": "QZ_2020-jj"
}
status
: 交易狀態,取值範圍0-7
- 0: 已經收到訂單
- 1: 已經提交訂單
- 2: 訂單部分成交
- 3: 訂單已完全成交
- 4: 訂單發起撤銷
- 5: 訂單已經撤銷
- 6: 訂單交易失敗
- 7: 訂單被減量
參數名稱 | 參數說明 | 類型 |
---|---|---|
filled_fees | 成交費用 | string |
filled_size | 成交金額 | string |
filled_amount | 成交數量 | string |
filled_average_price | 成交均價 | string |
funds | 想要使用的報價貨幣數量 | string |
order_id | 訂單編號 | string |
price | 每單位基礎貨幣的價格 | string |
product | 商品 | string |
side | buy/sell | string |
size | 買入/賣出的基礎貨幣數量 | string |
status | 狀態 | string |
type | limit:限價單/market:市價單 | string |
created_at | 創建時間 | string |
updated_at | 更新時間 | string |
client_oid | 用戶自定義訂單號 | string |
GET 根據用戶自定義訂單號查詢單個訂單
當該自定義訂單對應多個系統訂單時,只返回最新系統訂單。
限速:10次/s
限速規則:ApiKey
HTTP請求
GET HOST/v1/orders/single/{client_oid}
鑑權信息
私有信息的鑑權信息,請參考 鑑權說明
參數名稱 | 參數說明 | 是否必須 | 數據類型 |
---|---|---|---|
client_oid | 用戶自定義訂單號 | true | string |
client_oid
: 當該自定義訂單對應多個系統訂單時,只返回最新系統訂單
{
"filled_size": "0.000000000000000000",
"filled_fees": "1.00",
"filled_amount": "0.000000000000000000",
"filled_average_price": "0",
"created_at": "2021-12-14T03:19:15Z",
"updated_at": "2022-01-04T06:57:34Z",
"price": "2.00",
"size": "3.300000000000000000",
"product": "BTC_USDT",
"order_id": "127738628653088481",
"funds": "0.000000000000000000",
"type": "limit",
"side": "buy",
"status": "7",
"client_oid": "QZ_2020-jj"
}
status
: 交易狀態,取值範圍0-7
- 0: 已經收到訂單
- 1: 已經提交訂單
- 2: 訂單部分成交
- 3: 訂單已完全成交
- 4: 訂單發起撤銷
- 5: 訂單已經撤銷
- 6: 訂單交易失敗
- 7: 訂單被減量
參數名稱 | 參數說明 | 類型 |
---|---|---|
filled_fees | 成交費用 | string |
filled_size | 成交金額 | string |
filled_amount | 成交數量 | string |
filled_average_price | 成交均價 | string |
funds | 想要使用的報價貨幣數量 | string |
order_id | 訂單編號 | string |
price | 每單位基礎貨幣的價格 | string |
product | 商品 | string |
side | buy/sell | string |
size | 買入/賣出的基礎貨幣數量 | string |
status | 狀態 | string |
type | limit:限價單/market:市價單 | string |
created_at | 創建時間 | string |
updated_at | 更新時間 | string |
client_oid | 用戶自定義訂單號 | string |
GET 獲取交易明細
根據不同的查詢條件可獲得符合條件的交易明細
限速:10次/s
限速規則:ApiKey
HTTP請求
GET HOST/v1/fills
鑑權信息
私有信息的鑑權信息,請參考 鑑權說明
order_id
若存在,將優先查找該訂單的成交明細,其他參數將被忽略。order_id
若不存在,將根據參數組合分頁查詢所所有交易明細。其中limit
最大值為1000,超過1000條的訂單明細將無法查詢order_id
若存在,則查詢條件忽略client_oidclient_oid
對應多個系統訂單時,只返回最新系統訂單的明細
參數名稱 | 參數說明 | 是否必須 | 數據類型 |
---|---|---|---|
after | 用於分頁。將結束光標設置為after日期。 | false | integer(int64) |
before | 用於分頁。將開始光標設置為before日期 | false | integer(int64) |
limit | 限制返回的結果數,默認100,最大1000 | false | integer(int32) |
product | 商品id | false | string |
order_id | 訂單id | false | string |
client_oid | 用戶自定義訂單號 | false | string |
[
{
"product": "BTC_USDT",
"order_id": "12808732377541664481",
"liquidity": "maker",
"price": "19.560000000000000000",
"size": "0.937686000000000000",
"fee": "0",
"created_at": "2022-01-04T10:17:03Z",
"updated_at": "2022-01-04T10:17:03Z",
"side": "sell"
}
]
參數名稱 | 參數說明 | 類型 |
---|---|---|
created_at | 訂單創建時間 | string |
updated_at | 訂單更新時間 | string |
fee | 按當前填寫的金額支付的費用 | string |
liquidity | 流動性:marker、taker | string |
order_id | 訂單編號 | string |
price | 每單位基礎貨幣的價格 | string |
product | 產品編號 | string |
side | buy/sell | string |
size | 買入/賣出的基礎貨幣數量 | string |
GET 獲取當前的未完結訂單
獲取沒有成交的訂單
限速:10次/s
限速規則:ApiKey
HTTP請求
GET HOST/v1/orders
鑑權信息
私有信息的鑑權信息,請參考 鑑權說明
此接口可查詢單個訂單詳情,或根據商品的多個訂單
order_id
若存在,將優先查找該訂單詳情,其他參數將被忽略。order_id
若不存在,將根據參數組合分頁查詢所所有訂單詳情。其中limit
最大值為1000,超過1000條的訂單詳情將無法查詢order_id
若存在,則查詢條件忽略client_oid
參數名稱 | 參數說明 | 是否必須 | 數據類型 |
---|---|---|---|
after | 用於分頁。將結束光標設置為after日期。 | false | integer(int64) |
before | 用於分頁。將開始光標設置為before日期 | false | integer(int64) |
limit | 限制返回的結果數,默認100,最大1000 | false | integer(int32) |
order_id | 訂單id | false | string |
client_oid | 用戶自定義訂單號 | false | string |
product | 商品id | false | string |
[
{
"price": "19.560000000000000000",
"size": "35.447206000000000000",
"product": "BTC_USDT",
"order_id": "128087977541664481",
"funds": "592.668000000000000000",
"type": "limit",
"side": "sell",
"status": "2"
}
]
status
: 交易狀態,取值範圍0-7
- 0: 已經收到訂單
- 1: 已經提交訂單
- 2: 訂單部分成交
- 3: 訂單已完全成交
- 4: 訂單發起撤銷
- 5: 訂單已經撤銷
- 6: 訂單交易失敗
- 7: 訂單被減量
參數名稱 | 參數說明 | 類型 |
---|---|---|
funds | 想要使用的報價貨幣數量 | string |
order_id | 訂單編號 | string |
price | 每單位基礎貨幣的價格 | string |
product | 產品編號 | string |
side | buy/sell | string |
size | 買入/賣出的基礎貨幣數量 | string |
status | 狀態 | string |
type | limit:限價單/market:市價單 | string |
DELETE 根據系統訂單號撤銷單個訂單
撤銷指定的未完成訂單
限速:10次/s
限速規則:ApiKey
HTTP請求
DELETE HOST/v1/orders/{order_id}
鑑權信息
私有信息的鑑權信息,請參考 鑑權說明
參數名稱 | 參數說明 | 是否必須 | 數據類型 |
---|---|---|---|
order_id | 訂單id | true | string |
"1277087538632480481"
參數名稱 | 參數說明 | 數據類型 |
---|---|---|
order_id | 訂單id | string |
DELETE 根據用戶自定義訂單號撤銷單個訂單
可撤銷單個訂單,若自定義訂單對應多個系統訂單,撤銷最新一個訂單,撤銷申請成功,返回對應的系統訂單號
限速:10次/s
限速規則:ApiKey
HTTP請求
DELETE HOST/v1/orders/single/{client_oid}
鑑權信息
私有信息的鑑權信息,請參考 鑑權說明
參數名稱 | 參數說明 | 是否必須 | 數據類型 |
---|---|---|---|
client_oid | 用戶自定義訂單號 | true | string |
"1277087538632480481"
即將被取消的訂單的ID列表
DELETE 根據商品取消所有訂單
此方法為異步方法,當用戶收到接口返回時,並不代表所有訂單已經取消成功。 BGE收到請求之後,會查詢用戶賬戶下對應商品ID的所有未成交訂單,並對這些訂單異步進行取消操作。 用戶可以通過/orders/{order_id} 查詢單個訂單的成交狀態。
限速:10次/s
限速規則:ApiKey
HTTP請求
DELETE HOST/v1/orders
product
: 被撤銷的商品ID,例如 "BTC_USD"
參數名稱 | 參數說明 | 是否必須 | 數據類型 |
---|---|---|---|
product | 商品 | true | string |
即將被取消的訂單的ID列表
WEBSOCKET
歡迎使用BGE數字幣交易所 WebSocket 訂閱消息協議。該協議允許您通過 WebSocket 連接實時訂閱並接收市場數據、交易信息和其他相關信息。
希望該文檔能夠幫助您快速了解我們的數字幣交易所 WebSocket 訂閱消息協議。如果您有任何疑問或需要進一步的幫助,請隨時聯繫我們的技術支持團隊。祝您使用愉快!
WEBSOCKET 基本說明
WebSocket 是一種在單個 TCP 連接上進行全雙工通信的網絡協議,它提供了一種在客戶端和服務器之間進行實時數據傳輸的方式。通過使用 WebSocket,您可以實時地訂閱和接收來自數字幣交易所的實時市場數據和其他信息。
連接說明
在訂閱消息之前,您需要建立 WebSocket 連接。連接說明如下:
當訂閱公有頻道時,使用公有服務的地址;當訂閱私有頻道時,使用私有服務的地址
- 公有頻道:公有頻道是向所有連接到交易所的客戶端廣播的頻道,包含市場行情、交易深度等信息。 接入方法請參考: WEBSOCKET PUBLIC V2
- 私有頻道:私有頻道是指僅向特定客戶端推送個人相關信息的頻道,例如訂單通知、賬戶餘額等。 接入方法請參考: WEBSOCKET PRIVATE V2
請根據您的需求選擇相應的服務地址連接到公有或私有頻道。
訂閱限制
每個連接1s 最多可以發送 50 條消息,否則強制關閉連接
為了保持連接的穩定性和公平性,我們對發送消息做了限制,每個連接每秒最多可以發送 50 條消息。如果您在 1 秒內發送超過 50 條消息,系統將強制關閉連接,請注意遵守此限制。
連接保持
我們會定時發送 ping消息,期待您返回 pong消息作為回應,如果超過 30s 沒有收到您的響應服務器會關閉連接
同時,需要注意以下情況:
網絡問題:如果出現網絡問題,系統會自動斷開連接。
連接超時:如果連接成功後 30 秒內未訂閱或訂閱後 30 秒內服務器未向用戶推送數據,系統會自動斷開連接。
為了確保連接的活躍性,我們會定時向客戶端發送 JSON 格式的 ping 消息:{"ping": timestamp}
。您需要在收到 ping 消息後,及時發送 {"pong": timestamp}
文本消息,以表明連接處於活躍狀態。如果在 30 秒內沒有收到您的響應,我們將關閉連接,建議您進行以下操作:
每次接收到
{"ping": timestamp}
消息後,立即回復一個{"pong": timestamp}
。期待一個文字字符串
{"ping": timestamp}
作為心跳消息。如果在 N 秒內未收到,請發出錯誤或重新連接。您回复的pong消息中的時間戳應該使用收到的ping消息中的時間戳。
ping消息示例
{
"ping": 1635065532000
}
pong消息示例
{
"pong": 1635065532000
}
請求錯誤
不論私有頻道或公有頻道,當您發送的請求服務器處理失敗時,服務器將返回統一的錯誤消息,便於客戶端進行處理。
錯誤消息主要由兩部分組成:錯誤代碼和消息。代碼是通用的,但是消息可能會有所不同。
錯誤代碼和消息請參考:狀態碼對照表 ,其他錯誤狀態碼對照表
錯誤消息響應參數說明
參數名 | 類型 | 說明 |
---|---|---|
event | string | 用戶發送的事件名 事件列表 |
msg | string | 錯誤消息 |
code | int | 狀態碼 狀態碼對照表 |
常見錯誤碼說明
錯誤碼
400
:通常需要檢查您提供的請求參數是否正確,或者是否有必填參數未填寫。錯誤碼
401
:通常需要確保您已收到成功登錄響應,未登錄進行私有頻道訂閱會出現此錯誤。錯誤碼
500
:通常是服務器內部錯誤,建議您稍後重試。
錯誤請求示例
1
此示例使用的請求結構是錯誤的,請根據您的實際請求參數進行替換。
{
"event": "sub",
"para": {
"biz": "market",
"type": "percent10",
"product": "ETH_USDT"
},
"zip": true
}
錯誤請求響應示例
1
{
"event": "sub",
"code": "400",
"msg": "Invalid request: {\"event\":\"sub\",\"para\":{\"biz\":\"market\",\"type\":\"percent10\",\"pairCode\":\"ETH_USDT\"},\"zip\":true}"
}
錯誤請求示例
2
此示例使用的access_key值為空,請確保必填參數已填寫。
{
"event": "login",
"params": {
"type": "api",
"access_key": "",
"access_sign": "sign",
"access_timestamp": 14000000000
}
}
錯誤請求響應示例
2
{
"event": "login",
"code": 40001,
"msg": "ACCESS_KEY不能為空"
}
WEBSOCKET公共頻道V2
序列號 seq_id
說明
seq_id
是交易所行情的一個序列號,當用戶使用一個或多個 WebSocket 連接到同一個頻道時,除了實時成交數據外,都會收到相同序列號的數據推送,用戶需要自己處理重複數據,可以使用seq_id
來構建消息序列,這將允許用戶檢測數據包丟失和消息的排序。seq_id
是一個單調遞增的數字,最小值為 0。
K線頻道
訂閱或者請求獲取K線(最新一根K線)數據的推送
K線圖間隔參數:
min -> 分鐘; hour -> 小時; day -> 天; week -> 週; mon -> 月
- 1min
- 5min
- 15min
- 30min
- 60min
- 4hour
- 1day
- 1week
- 1mon
字段說明:
id
消息唯一idopen
這根K線期間第一筆成交價close
這根K線期間末一筆成交價low
這根K線期間最低成交價high
這根K線期間最高成交價filled_size
這根K線期間成交額vol
這根K線期間成交量seq_id
唯一且有序idcount
這根K線期間成交筆數interval
K線間隔product
交易對
訂閱
請求示例
{
"event": "sub",
"biz": "market",
"type": "candles",
"product": "BTC_USDT",
"interval": "15min",
"zip": false
}
響應示例
{
"biz": "market",
"type": "candles",
"ts": 1666851880448,
"code": 200,
"status": "OK",
"event": "sub",
"product": "BTC_USDT",
"interval": "15min"
}
取消訂閱
請求示例
{
"event": "unsub",
"biz": "market",
"type": "candles",
"product": "BTC_USDT",
"interval": "15min",
"zip": false
}
響應示例
{
"biz": "market",
"type": "candles",
"ts": 1666851880448,
"code": 200,
"status": "OK",
"event": "unsub",
"product": "BTC_USDT",
"interval": "15min"
}
推送數據
推送數據示例
{
"id": "1689144300",
"biz": "market",
"type": "candles",
"data":
{
"id": 1689144300,
"open": "3.7366",
"close": "3.7366",
"high": "3.7366",
"low": "3.7366",
"filled_size": "0",
"vol": "0",
"count": 0,
"seq_id": 112588635
},
"product": "BTC_USDT",
"interval": "15min"
}
請求數據
參數說明:
id
每個K線消息的唯一idfrom
開始時間的ix時間戳to
結束時間的ix時間戳interval
K線間隔product
交易對
獲取指定範圍的K線數據請求示例
{
"event": "req",
"biz": "market",
"type": "candles",
"product": "BTC_USDT",
"interval": "15min",
"zip": false,
"from": 1687561511,
"to": 1688641511
}
獲取指定範圍的K線數據響應示例
{
"biz": "market",
"type": "candles",
"product": "BTC_USDT",
"ts": 1690252632272,
"code": 200,
"status": "OK",
"data":
[
{
"id": 1688398200,
"open": "3.3706",
"close": "3.3706",
"high": "3.3706",
"low": "3.3706",
"filled_size": "0",
"vol": "0",
"count": 0
},
{
"id": 1688399100,
"open": "3.3706",
"close": "3.3706",
"high": "3.3706",
"low": "3.3706",
"filled_size": "0",
"vol": "0",
"count": 0
}
],
"event": "req",
"interval": "15min"
}
成交頻道
訂閱獲取產品實時成交增量推送數據
獲取最近的成交數據,有成交數據就推送,每次推送可能包含多條成交數據。
字段說明:
id
消息唯一idts
成交時間戳direction
成交方向price
成交價格vol
成交量
訂閱
請求示例
{
"event": "sub",
"biz": "market",
"type": "fills",
"product": "BTC_USDT",
"zip": false
}
響應示例
{
"biz": "market",
"type": "fills",
"product": "BTC_USDT",
"ts": 1690165577416,
"code": 200,
"status": "OK",
"event": "sub"
}
取消訂閱
請求示例
{
"event": "unsub",
"biz": "market",
"type": "fills",
"product": "BTC_USDT",
"zip": false
}
響應示例
{
"biz": "market",
"type": "fills",
"ts": 1666851880448,
"code": 200,
"status": "OK",
"event": "unsub",
"product": "BTC_USDT"
}
推送數據
推送數據示例
{
"id": "310529",
"biz": "market",
"type": "fills",
"data":
[
{
"vol": "0.79",
"ts": 1689152279117,
"price": "3.4134",
"direction": "buy",
"id": 310529000
}
],
"product": "BTC_USDT"
}
深度頻道
訂閱獲取產品訂單薄增量推送數據
最快500毫秒推送一次,沒有觸發事件時也推送,盤口無數據 bids 和 asks可能為空數組
OrderBook訂閱interval參數:[當前檔位支持最大精度, 當前檔位支持最大深度]:
- 0 : [0.000000000000000001, 150]
- 1 : [0.00001, 150]
- 2 : [0.0001, 150]
- 3 : [0.001, 150]
- 4 : [0.01, 150]
- 5 : [0.1, 150]
- 6 : [0.000000000000000001, 20]
- 7 : [0.00001, 20]
- 8 : [0.0001, 20]
- 9 : [0.001, 20]
- 10 : [0.01, 20]
- 11 : [0.1, 20]
說明:interval=5,推送的bids裡的買方價格只能精確到小數點後一位,bids的數組大小最大是150
字段說明:
id
消息唯一idbiz
業務線type
類型data.seq_id
忽略data.bids
買方data.bids[][0]
買方價格data.bids[][1]
買方數量data.asks
賣方data.asks[][0]
賣方價格data.asks[][1]
賣方數量data.product
交易對data.interval
檔位
訂閱
請求示例
{
"event": "sub",
"biz": "market",
"type": "orderbook",
"product": "BTC_USDT",
"interval": "0",
"zip": false
}
響應示例
{
"biz": "market",
"type": "orderbook",
"ts": 1666851880448,
"code": 200,
"status": "OK",
"event": "sub",
"product": "BTC_USDT",
"interval": 0
}
取消訂閱
請求示例
{
"event": "unsub",
"biz": "market",
"type": "orderbook",
"product": "BTC_USDT",
"interval": "0",
"zip": false
}
響應示例
{
"biz": "market",
"type": "orderbook",
"ts": 1666851880448,
"code": 200,
"status": "OK",
"event": "unsub",
"product": "BTC_USDT",
"interval": 0
}
推送數據
推送數據示例
{
"id": "1689143926",
"biz": "market",
"type": "orderbook",
"data":
{
"seq_id":112588640,//有序且唯一id
"bids": //買方
[
[
"3.7366", //價格
"0.66" //數量
],
[
"3.6866",
"0.98"
],
[
"3.4666",
"0.33"
],
[
"3.3766",
"0.76"
],
[
"3.3666",
"0.7"
],
[
"3.1966",
"0.75"
],
[
"3.1766",
"0.06"
],
[
"3.0666",
"0.91"
],
[
"3.0266",
"0.73"
]
],
"asks": //賣方
[
[
"3.9966", //價格
"0.9" //數量
]
]
},
"product": "BTC_USDT",//交易對
"interval": "0"
}
深度depth頻道
訂閱獲取產品深度圖增量推送數據
說明:買賣盤各拿平均價格的10%以內的最多200條,賣1價向上浮動10%內的委託,買1向下浮動10%以內的委託
最快500毫秒推送一次,沒有觸發事件時也推送,盤口無數據 bids 和 asks可能為空數組
字段說明:
id
消息唯一idbiz
業務線seq_id
忽略type
類型data.bids
買方深度data.bids[][0]
買方深度價格data.bids[][1]
買方深度數量data.asks
賣方深度data.asks[][0]
賣方深度價格data.asks[][1]
賣方深度數量data.seq_id
有序且唯一iddata.product
交易對
訂閱
請求示例
{
"event": "sub",
"biz": "market",
"type": "percent10",
"product": "BTC_USDT",
"zip": false
}
響應示例
{
"biz": "market",
"type": "percent10",
"ts": 1666851880448,
"code": 200,
"status": "OK",
"event": "sub",
"product": "BTC_USDT"
}
取消訂閱
請求示例
{
"event": "unsub",
"biz": "market",
"type": "percent10",
"product": "BTC_USDT",
"zip": false
}
響應示例
{
"biz": "market",
"type": "percent10",
"product": "BTC_USDT",
"ts": 1690193555943,
"code": 200,
"status": "OK",
"event": "unsub"
}
推送數據
推送數據示例
{
"id": "1689143539", //消息唯一id
"biz": "market",
"seq_id": 112588640, //有序且唯一id
"type": "percent10", //業務類型
"data":
{
"bids": //買方
[
[
"3.8646667",//價格
"0" //數量
]
],
"asks": //賣方
[
[
"3.8685333",//價格
"0" //數量
],
[
"3.8704666",
"0"
]
],
"seq_id": 112588640
},
"product": "BTC_USDT"
}
行情頻道
獲取產品24小時ticker增量推送數據
字段說明:
id
消息唯一idopen
24小時前開始第一筆成交價格close
24小時最新成交價格low
24小時內最低成交價high
24小時內最高成交價filled_size
24小時內成交額vol
24小時內成交量seq_id
唯一且有序idcount
24小時成交筆數change
24小時價格變化change_percent
24小時價格變化(百分比)
訂閱
請求示例
{
"event": "sub",
"biz": "market",
"type": "ticker",
"product": "BTC_USDT",
"zip": false
}
響應示例
{
"biz": "market",
"type": "ticker",
"ts": 1666851880448,
"code": 200,
"status": "OK",
"event": "sub",
"product": "BTC_USDT"
}
取消訂閱
請求示例
{
"event": "unsub",
"biz": "market",
"type": "ticker",
"product": "BTC_USDT",
"zip": false
}
響應示例
{
"biz": "market",
"type": "ticker",
"ts": 1689946788754,
"code": 200,
"status": "OK",
"event": "unsub",
"product": "BTC_USDT"
}
推送數據
推送數據示例
{
"id": "1689144487",
"biz": "market",
"type": "ticker",
"product": "BTC_USDT",
"data":
[
{
"id": 1689144487,
"seq_id": 112588640,
"open": "3.7366",
"close": "3.7366",
"high": "3.7366",
"low": "3.7366",
"filled_size": "0",
"vol": "0",
"count": 0,
"change": "0",
"change_percent": "0"
}
]
}
請求 指定交易對最新行情數據
獲取指定交易對最新行情數據請求示例
{
"event": "req",
"biz": "market",
"type": "ticker",
"product": "BTC_USDT",
"zip": false
}
獲取指定交易對最新行情數據響應示例
{
"biz": "market",
"type": "ticker",
"ts": 1689133337870,
"code": 200,
"status": "OK",
"data":
{
"id": 1689133336,
"seq_id": 112588640,
"open": "3.7366",
"close": "3.7366",
"high": "3.7366",
"low": "3.7366",
"filled_size": "0",
"vol": "0",
"count": 0,
"change": "0",
"change_percent": "0"
},
"event": "req",
"product": "BTC_USDT"
}
公共頻道Request字段說明
參數名 | 類型 | 必選 | 說明 | 參考值 |
---|---|---|---|---|
event | string | 是 | 請求事件 | 事件 |
biz | string | 是 | 業務線 | 業務線 |
type | string | 是 | 業務類型 | 類型 |
product | string | 是 | 交易對 | BTC_USDT |
interval | string | 否 | 頻率 | 1min |
zip | bool | 是 | 是否啟用gzip | true,false |
公共頻道Response字段說明
參數名 | 類型 | 必選 | 說明 | 參考值 |
---|---|---|---|---|
event | string | 是 | 請求事件 | 事件 |
biz | string | 是 | 業務線 | 業務線 |
type | string | 是 | 業務類型 | 類型 |
product | string | 是 | 交易對 | BTC_USDT |
interval | string | 否 | 頻率 | 1min |
code | int | 是 | 錯誤碼 | |
status | string | 是 | 錯誤碼狀態 | 可忽略 |
ts | long | 是 | unix時間戳 | 可忽略 |
data | json | 否 | 業務數據 | 參考具體業務數據說明 |
公共頻道Event列表
Event 名稱 | 類型 | 說明 |
---|---|---|
sub | string | 訂閱事件,由客戶端主動發起 |
unsub | string | 取消訂閱事件,由客戶端主動發起 |
req | string | 請求數據事件,由客戶端主動發起 |
公共頻道Biz列表
Biz 名稱 | 類型 | 說明 |
---|---|---|
market | string | 現貨行情 |
公共頻道Type列表
Type 名稱 | 類型 | 說明 |
---|---|---|
fills | string | 成交數據 |
candles | string | K線數據 |
orderbook | string | 訂單薄 |
ticker | string | 24小時ticker |
percent10 | string | 深度depth |
WEBSOCKET私有頻道V2
私有頻道 登錄認證
訂閱私有頻道前需要先進行登錄認證操作,只有認證過的用戶才可以訂閱用戶的資產信息以及訂單狀態變化信息。
注意:如果未進行登錄認證操作,訂閱私有頻道會返回錯誤信息
登錄請求示例
{
"event": "login",
"params": {
"type": "api",
"access_key": "de0535f81d51c998b7fbcf00f189f294",
"access_sign": "sign",
"access_timestamp": 14000000000
}
}
登錄成功響應示例 狀態碼對照表
{
"ts": 1690364037503,
"code": 200,
"status": "OK",
"event": "login"
}
登錄失敗響應示例 請參考通用錯誤說明
登錄請求參數說明
參數名 | 必選 | 類型 | 說明 |
---|---|---|---|
params.type | 是 | string | 認證方式: api :apiKey認證; |
params.access_key | 是 | string | 鑑權說明 |
params.access_sign | 是 | string | 鑑權說明 |
params.access_timestamp | 是 | long | 鑑權說明 |
event | 是 | string | 事件名 事件列表 |
登錄響應參數說明
參數名 | 類型 | 說明 |
---|---|---|
event | string | 事件名 事件列表 |
status | string | 狀態信息 可忽略 |
code | int | 狀態碼 狀態碼對照表 |
ts | long | unix時間戳 |
私有頻道 資產
訂閱用戶的資產變更,有數據更新時才推送。目前只支持按照產品進行訂閱。
請求和響應的參數說明請參考通用請求參數說明和通用響應參數說明
訂閱資產數據
訂閱請求示例
{
"event": "sub",
"biz": "exchange",
"type": "assets",
"product": "ETH_USDT",
"zip": false
}
訂閱成功響應示例
{
"biz": "exchange",
"type": "assets",
"product": "ETH_USDT",
"ts": 1690357632710,
"code": 200,
"status": "OK",
"event": "sub"
}
資產推送數據示例,本示例只是為了說明數據結構,實際推送數據中可能只包含一個幣種的資產信息
{
"biz": "exchange",
"type": "assets",
"product": "ETH_USDT",
"data":
[
{
"currency": "USDT",
"available": "999970.5238",
"hold": "29.4762"
},
{
"currency": "ETH",
"available": "999970.5238",
"hold": "29.4762"
}
]
}
參數名 | 類型 | 說明 |
---|---|---|
product | string | 產品名/交易對 |
$data.currency | string | 幣種名稱 |
$data.available | string | 可用數量 |
$data.hold | string | 凍結數量 |
請求用戶單個交易對資產數據
請求單個交易對資產數據示例
{
"event": "req",
"biz": "exchange",
"type": "assets",
"product": "BTC_USDT",
"zip": false
}
請求單個交易對資產數據響應示例
{
"biz": "exchange",
"type": "assets",
"product": "BTC_USDT",
"ts": 1690357632710,
"code": 200,
"status": "OK",
"event": "req",
"data":
[
{
"currency": "USDT",
"available": "999970.5238",
"hold": "29.4762"
},
{
"currency": "BTC",
"available": "999970.5238",
"hold": "29.4762"
}
]
}
參數名 | 類型 | 說明 |
---|---|---|
product | string | 產品名/交易對 |
ts | long | unix時間戳 |
$data.currency | string | 幣種名稱 |
$data.available | string | 可用數量 |
$data.hold | string | 凍結數量 |
私有頻道 訂單
訂閱用戶訂單的狀態變化,有數據更新時才推送。目前支持所有交易對的訂單狀態變化訂閱。支持異步查詢用戶單個交易對當前委託訂單數據。
請求和響應的參數說明請參考通用請求參數說明和通用響應參數說明
注意:訂單數據支持訂閱全量交易對,一次訂閱所有交易對訂單時請注意product
參數使用all
(忽略大小寫)
訂閱單交易對訂單數據
訂閱所有交易對的訂單數據
訂閱單交易對訂單請求示例
{
"event": "sub",
"biz": "exchange",
"type": "orders",
"product": "ETH_USDT",
"zip": false
}
訂閱所有交易對訂單請求示例
{
"event": "sub",
"biz": "exchange",
"type": "orders",
"product": "all",
"zip": false
}
訂閱單交易對訂單響應成功示例
{
"biz": "exchange",
"type": "orders",
"product": "ETH_USDT",
"ts": 1690363716709,
"code": 200,
"status": "OK",
"event": "sub"
}
訂閱所有交易對訂單響應成功示例
{
"biz": "exchange",
"type": "orders",
"product": "all",
"ts": 1690363716709,
"code": 200,
"status": "OK",
"event": "sub"
}
訂閱所有交易對訂單數據失敗響應示例 錯誤碼對照表
{
"biz": "exchange",
"type": "orders",
"product": "all",
"ts": 1690362052646,
"code": 500,
"status": "FAIL",
"event": "sub"
}
訂閱單交易對推送訂單數據示例
{
"biz": "exchange",
"type": "orders",
"product": "BTC_USDT",
"data": [
{
"orders_id": "179577241915696235",
"product": "BTC_USDT",
"side": "buy",
"price": "3.53340000",
"size": "1.00000000",
"filled_amount": "0.00000000",
"funds": "1.00000000",
"filled_size": "0.00000000",
"type": "limit",
"status": "1",
"client_oid": ""
}
]
}
訂閱所有交易對推訂單送數據示例
{
"biz": "exchange",
"type": "orders",//注意此處和單交易對不同
"product": "all",//注意此處和單交易對不同
"data":
[
//....結構參考單交易對推送訂單數據示例
]
}
*請求單個交易對當前委託訂單數據,如果請求失敗,會返回失敗的響應。 *
請求用戶單個交易對當前委託訂單數據示例
{
"event": "req",
"biz": "exchange",
"type": "orders",
"product": "BTC_USDT",
"zip": false
}
請求用戶單個交易對當前委託訂單數據成功的響應示例
{
"biz": "exchange",
"type": "orders",
"product": "BTC_USDT",
"ts": 1690375715106,
"code": 200,
"status": "OK",
"data":
[
//....結構參考單交易對推送訂單數據示例
],
"event": "req"
}
參數名稱 | 參數說明 | 類型 |
---|---|---|
orders_id | 訂單編號 | string |
product | 商品 | string |
side | buy/sell | string |
price | 每單位基礎貨幣的價格 | string |
size | 買入/賣出的基礎貨幣數量 | string |
filled_amount | 成交數量 | string |
funds | 想要使用的報價貨幣數量 | string |
filled_size | 成交金額 | string |
type | limit:限價單/market:市價單/ | string |
status | 狀態 | string |
client_oid | 默認"0",用戶自定義訂單號 | string |
status
: 交易狀態,取值範圍0-7
- 0: 已經收到訂單
- 1: 已經提交訂單
- 2: 訂單部分成交
- 3: 訂單已完全成交
- 4: 訂單發起撤銷
- 5: 訂單已經撤銷
- 6: 訂單交易失敗
- 7: 訂單被減量
私有頻道 通用請求參數說明
參數名 | 必選 | 類型 | 說明 |
---|---|---|---|
biz | 是 | string | 訂閱模塊類型 |
type | 是 | string | 訂閱業務類型 |
product | 是 | string | 產品信息 |
event | 是 | string | 事件名 事件列表 |
zip | 是 | bool | 是否啟用gzip |
私有頻道 通用響應參數說明
參數名 | 類型 | 必選 | 說明 | 參考值 |
---|---|---|---|---|
event | string | 是 | 請求事件 | 事件 |
biz | string | 是 | 業務線 | 業務線 |
type | string | 是 | 業務類型 | 類型 |
product | string | 是 | 交易對 | BTC_USDT |
code | number | 是 | 錯誤碼 | |
status | string | 是 | 錯誤碼狀態 | |
ts | long | 是 | unix時間戳 |
私有頻道Event列表
Event 名稱 | 類型 | 說明 |
---|---|---|
sub | string | 訂閱事件,由客戶端主動發起 |
login | string | 登錄事件,由客戶端主動發起 |
unsub | string | 取消訂閱事件,由客戶端主動發起 |
req | string | 請求事件,由客戶端主動發起 |
私有頻道Biz列表
Biz 名稱 | 類型 | 說明 |
---|---|---|
exchange | string | 現貨交易 |
私有頻道Type列表
Type 名稱 | 類型 | 說明 | 是否支持全部交易對數據推送訂閱 |
---|---|---|---|
assets | string | 資產變更 | 否 |
orders | string | 訂單狀態變更 | 是 |
鑑權信息
每個用戶最多可以創建50個APIKey;
請勿將您的APIKey透露給任何人,以免造成資產損失。建議為APIKey綁定IP地址,以提高您賬戶的安全性,多個IP地址用英文分割,最多支持10個IP地址,未綁定IP地址的API有效期只有180天;
請注意,將APIKey綁定在第三方平台,可能有安全隱患,請您謹慎操作;
訪問私有信息接口,需要在加入如下請求頭
Header Name | Meaning |
---|---|
ACCESS-KEY | 用戶在BGE平台創建的API KEY |
ACCESS-SIGN | 根據用戶創建的API KEY 對請求所作出的簽名信息,以驗證請求的合法性 ACCESS-SING生成算法 |
ACCESS-TIMESTAMP | 請求時間,一般為當前時間戳 例:2022-01-08T07:19:56.339Z ,或毫秒時間戳 |
requestPath
: 與文檔中給出的路徑相一致,例如 /v1/products
queryString
: 請求參數列表,注:參數順序需要保持有序。見 備註
params
: 當請求為 GET
或者 DELETE
或者為WEBSOCKET channel 進行認證時,填 ""
參數名 | 參數類型 | 說明 |
---|---|---|
method | string | GET or POST or DELETE;計算ws sign時為"" |
secretKey | string | 用戶在BGE創建的API KEY名稱 |
requestPath | string | 請求路徑 ;計算ws sign時為"" |
queryString | string | 請求參數 ;計算ws sign時為"" |
params | string | 傳輸數據內容 ;計算ws sign時為"" |
timestamp | string | 當前時間戳 例:2022-01-08T07:19:56.339Z ,或毫秒時間戳 |
計算http請求 sign
String timestamp=OpenAPiUtils.createTimestamp();
String sign=OpenAPiUtils.createSign(OpenAPiUtils.POST,
"43767b4dec6e78e07c81f89af47018dc3ab57585721bf57a389f7637a9d0506b",
"/v1/accounts",
"",
s,timestamp);
計算web socket 請求 sign
String timestamp=OpenAPiUtils.createTimestamp();
String sign=OpenAPiUtils.createSign("","43767b4dec6e78e07c81f89af47018dc3ab57585721bf57a389f7637a9d0506b","","","",timestamp);
sign 生成算法工具類
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.codec.digest.HmacUtils;
public class OpenAPiUtils {
public static final String GET = "GET";
public static final String POST = "POST";
public static final String DELETE = "DELETE";
public static final Gson gson = new Gson();
public static String createTimestamp() {
return Instant.now().toString();
}
/**
* 獲取當前時間戳 例:2022-01-08T07:19:56.339Z
* @return
*/
public static String createTimestamp() {
return Instant.now().toString();
}
/**
* 計算簽名
* @param method POST or GET or DELETE
* @param secretKey 例:HKBGE-xxxxx
* @param requestPath 例:/v1/orders
* @param queryString 請求參數
* @param body string GET時為空
* @param timestamp 當前時間戳 例:2022-01-08T07:19:56.339Z
* @return string
*/
public static String createSign(String method, String secretKey, String requestPath, String queryString, String body, String timestamp) {
String sign = "";
method = method.toUpperCase();
if (timestamp == null) {
timestamp = Instant.now().toString();
}
if (method.equals("POST")) {
sign = generate(timestamp, method, requestPath, queryString, body, secretKey, "HmacSHA256");
}
if (method.equals("GET") || method.equals("DELETE")) {
sign = generate(timestamp, method, requestPath, queryString, "", secretKey, "HmacSHA256");
}
if ("".equalsIgnoreCase(method)) {
sign = generate(timestamp, method, requestPath, queryString, "", secretKey, "HmacSHA256");
}
return sign;
}
public static String generate(final String timestamp, String method, final String requestPath,
String queryString, String body, final String secret, final String alg) {
body = StringUtils.defaultIfBlank(body, StringUtils.EMPTY);
queryString = StringUtils.isEmpty(queryString) ? "" : "?" + queryString;
final String preHash = timestamp + method + requestPath + queryString + body;
return encodeBase64(alg, secret, preHash);
}
public static String encodeBase64(final String alg, final String secret, final String data) {
Validate.notNull(alg, "SignatureAlgorithm cannot be null.");
Validate.notNull(data, "Signing Secret cannot be null.");
switch (alg) {
case "HmacMD5":
return Base64.encodeBase64String(new HmacUtils("HmacMD5", secret).hmac(data));
case "HmacSHA1":
return Base64.encodeBase64String(new HmacUtils("HmacSHA1", secret).hmac(data));
case "HmacSHA224":
return Base64.encodeBase64String(new HmacUtils("HmacSHA224", secret).hmac(data));
case "HmacSHA256":
try {
return Base64.encodeBase64String(new HmacUtils("HmacSHA256",
secret.getBytes("UTF-8")).hmac(data.getBytes("UTF-8")));
} catch (UnsupportedEncodingException e) {
throw new RuntimeException(e.getMessage());
}
case "HmacSHA384":
return Base64.encodeBase64String(new HmacUtils("HmacSHA384", secret).hmac(data));
case "HmacSHA512":
return Base64.encodeBase64String(new HmacUtils("HmacSHA512", secret).hmac(data));
default:
throw new IllegalArgumentException("The '" + alg.name() + "' algorithm cannot be used for signing.");
}
}
}
計算數據簽名時,參數的傳遞順序需要與簽名串順序一致,且queryString不以?
開頭,不以&
結尾 否則鑑權失敗。例如:給 GET "http://api.bg.exchange/hk/v1/demo?a=2&b=3"
計算簽名時,
正確使用: preHash = ... + "a=2&b=3" + ...;
錯誤使用: preHash = ... + "b=3&a=2" + ...;
錯誤使用: preHash = ... + "?b=3&a=2" + ...;
錯誤使用: preHash = ... + "b=3&a=2&" + ...;
將用戶在BGE生成的api key 與 sign 與 時間戳加入到 http請求頭中。
填充HTTP HEADERS
RequestBuilders.post("/openapi/exchange/BTC_USDT/orders")
.header("ACCESS-KEY", "HKBGE-6fc437d24902cce8635806b6d79921f2")
.header("ACCESS-SIGN", sign)
.header("ACCESS-TIMESTAMP", timestamp)
.characterEncoding("UTF-8")
.content(s.getBytes(StandardCharsets.UTF_8))
.contentType(MediaType.APPLICATION_JSON_VALUE)
數據字典
WEBSOCKET狀態碼對照表
錯誤碼 | 示意 |
---|---|
200 | 成功 |
400 | 無效的請求 |
401 | 未登錄 |
500 | 系統錯誤,請稍後重試 |
用戶認證錯誤碼對照表
錯誤碼 | 示意 |
---|---|
40001 | ACCESS_KEY不能為空 |
40002 | ACCESS_SIGN不能為空 |
40003 | ACCESS_TIMESTAMP不能為空 |
40005 | 無效的ACCESS_TIMESTAMP |
40006 | 無效的ACCESS_KEY |
40008 | 請求時間戳過期 |
40010 | API 校驗失敗 |
40012 | 無效的API用戶 |
40013 | 用戶已禁止 |
40014 | 用戶已凍結 |
40015 | 無效的IP請求 |
40016 | API_KEY已過期 |
業務錯誤碼對照表
amount limit value
為產品所配置的交易金額/數量上下限,BGE 為保護市場穩定,根據市場實時行情限定了交易限製,具體數額會隨市場交易情況實時波動。
錯誤碼 | 示意 |
---|---|
999 | 查詢的數據為空 |
1000 | 沒有登錄 |
1001 | 參數錯誤 |
1006 | 幣種信息不存在 |
1008 | K線不存在 |
1009 | 行情不存在 |
1050 | 幣對不存在 |
1051 | 檔位深度不存在 |
1053 | 下單已阻斷 |
1054 | 小於最小下單數量 |
1055 | 金額小於余額 |
1056 | 大於最大下單數量 |
1057 | 市價單金額無效 |
1058 | 下單失敗 |
1059 | 訂單不存在 |
1060 | 撤單失敗 |
1061 | 訂單已撤銷 |
1062 | 訂單已成交 |
1063 | 撤單失敗 |
1099 | 幣種不存在 |
1029 | 轉出金額大於可轉金額 |
1049 | 用戶請求接口過於頻繁 |
1100 | 可用余額不足 |
1064 | KYC驗證失敗 |
1065 | 您已被凍結,無法下單 |
1066 | 交易密碼失效 |
1067 | 價格,Price ≥ ${amount limit value} |
1068 | 價格,Price ≤ ${amount limit value} |
1069 | 交易額精度不正確 |
1070 | 數量精度不正確 |
1071 | 價格精度不正確 |
1072 | 下單數量不能小於等於0 |
1073 | 下單價格不能小於等於0 |
1074 | 賬戶余額不足 |
1075 | 數量,Amount ≥ ${amount limit value} |
1076 | 數量,Amount ≤ ${amount limit value} |
1077 | 金額,Total ≥ ${amount limit value} |
1078 | 數量,Amount ≥ ${amount limit value} |
1079 | 金額,Total ≤ ${amount limit value} |
1080 | 數量,Amount ≤ ${amount limit value} |
1081 | 市價單買單觸及最高成交限定價格,已自動撤單 |
1082 | 市價單賣單觸及最低成交限定價格,已自動撤單 |
1083 | 用戶數據獲取失敗 |
1084 | 無當前委托訂單 |
1085 | 超過最大委托數 |
1087 | 查找不到數據 |
1088 | 無法驗證用戶身份 |
1089 | order_id或者product有一個不能為空 |
1090 | client_oid已經存在 |
1091 | client_oid不符合規則 |
1092 | 當前交易賬戶可用余額不足,是否自動將資金賬戶的${0}劃轉至交易賬戶,並發起下單 |
1093 | 資金賬戶余額不足 |
1094 | 劃轉失敗 |
1095 | 超過最大數量 |
1096 | 賬戶不存在 |
1097 | 系統超時 |
1098 | 系統繁忙 |
公共數據(DEPRECATED)
GET K線
歷史產品的k線圖, 數據以數組形式返回,每個對象保函[close
,count
,high
,low
,open
,turnOver
,vol
]
限速:無
限速規則:無
HTTP請求
GET HOST/public/v1/products/{product}/candles
參數名 | 必選 | 類型 | 說明 |
---|---|---|---|
product | true | string | 路徑參數 商品,例:ETH_USD 商品,例:ETH_USD |
period | true | string | 指標週期 [1min,5min,15min,30min,60min,4hour,1day,1week,1mon] |
start | true | string | timestamp 毫秒 開始 (毫秒) |
end | true | string | 結束 (毫秒) |
size | false | string | 數據長度默認500 ,最大1000[1,1000] |
{
"code": 200,
"data": [
{
"close": 11.9,
"count": 2,
"high": 11.9,
"id": 1639584000,
"low": 11,
"open": 11,
"turnOver": 22.9,
"vol": 2
}
],
"interval": "1day",
"msg": "success",
"productId": "ETH_USDT",
"ts": 1639650753079
}
參數名 | 類型 | 說明 |
---|---|---|
close | int | 收盤價格 |
high | int | 最高價格 |
low | int | 最低價格 |
open | int | 開盤價格 |
turnOver | string | 交易量 |
vol | string | 交易額 |
productId | string | 商品,例:ETH_USD |
GET 訂單book
訂單book
限速:無
限速規則:無
HTTP請求
GET HOST/public/v1/products/{product}/orderbook
參數名 | 必選 | 類型 | 說明 |
---|---|---|---|
product | true | string | 路徑參數 商品,例:ETH_USD |
interval | true | string | 指標週期 有效取值範圍 step0-step11 請參考 深度頻道訂閱 |
{
"interval": "step1",
"status": "ok",
"ts": 1641378313942,
"type": "orderBook",
"tick": {
"seqId": 9996,
"id": 1641378313,
"bids": [
[1, 65]
],
"asks": [
[48349.99, 5.3795],
[48562.27, 94.1076],
[48998.82, 49.924],
[49322.83, 15.03636],
[49324.72, 8.1281],
[49334.76, 82.7552],
[49342.59, 44.9204],
[49364.66, 28.5769],
[49365.2, 6.2237],
[49390.8, 44.7102],
[49414.67, 92.3859],
[49428.24, 46.7245],
[49430.6, 66.2994],
[49435.96, 68.4281],
[49437.07, 20.5226],
[49443.47, 51.3443],
[49444.4, 73.2709],
[49448.78, 41.5535],
[49454.19, 77.954],
[49458.74, 29.2196],
[49477.83, 50.3074],
[49492.03, 93.2679],
[49500.02, 11.1431],
[49506.89, 74.3294],
[49519.14, 45.8255],
[49525.62, 19.6835],
[49538.88, 97.1741],
[49544.83, 70.238],
[49551.81, 38.3689],
[49557.84, 69.0679],
[49565.77, 55.5486],
[49571.15, 55.1521],
[49589.14, 83.2236],
[49590.11, 1.5069],
[49593.9, 45.1853],
[49601.42, 21.826],
[49602.74, 2.7914],
[49609.3, 79.3817],
[49615.55, 81.7304],
[49653.07, 12.2331],
[49662.5, 68.8741],
[49675.13, 31.3474],
[49686.03, 6.1158],
[49690.92, 79.5905],
[49699.37, 91.9541],
[49719.33, 80.5142],
[49724.29, 61.7956],
[49726.37, 96.1342],
[49752.36, 71.4982],
[49769.78, 49.3641],
[49785.77, 43.4184],
[49815.95, 91.9892],
[49820.16, 74.1338],
[49847.76, 20.297],
[49888.07, 76.3738],
[49888.44, 8.6581],
[49907.97, 12.634],
[49932.43, 63.1484],
[49951.37, 5.0352],
[49952.08, 81.9681],
[49958.58, 99.3703],
[49977.74, 62.3056],
[49986.53, 34.2252],
[49998.03, 47.7642],
[49998.3, 88.6624]
],
"ts": 1641378313486,
"version": 1641378313,
"type": "orderBook",
"pairCode": "BTC_USDT",
"interval": "1"
}
}
參數名 | 類型 | 說明 |
---|---|---|
interval | string | 檔位 |
status | string | 狀態碼 |
ts | string | 時間戳 |
type | string | 類型 |
seqId | string | 有序且唯一id |
id | string | 消息唯一id |
bids | [] | 買方 |
asks | [] | 賣方 |
pairCode | string | 商品,例:ETH_USD |
GET 全部幣對24小時行情數據
行情總覽,獲取有關交易(報價變動)、最佳買價/賣價和 24 小時交易量的快照信息。
限速:無
限速規則:無
HTTP請求
GET HOST/public/v1/products/{product}/tickers
參數名 | 必選 | 類型 | 說明 |
---|---|---|---|
product | true | string | 路徑參數 商品,例:ETH_USD |
{
"type": "overview",
"code": 200,
"ts": 1641378730830,
"msg": "success",
"data": [{
"open": "19.56",
"close": "48174.19",
"low": "1",
"high": "54969.49",
"turnOver": "2397481368.57161866",
"count": 0,
"vol": "49659.154689",
"pairCode": "BTC_USDT",
"change": "48154.63",
"changePercent": "2461.8931492842535787"
}, {
"open": "11.9",
"close": "11.9",
"low": "11.9",
"high": "11.9",
"turnOver": "0",
"count": 0,
"vol": "0",
"pairCode": "ETH_USDT",
"change": "0",
"changePercent": "0"
}]
}
參數名 | 類型 | 說明 |
---|---|---|
close | int | 收盤價格 |
high | int | 最高價格 |
low | int | 最低價格 |
open | int | 開盤價格 |
turnOver | string | 交易量 |
vol | string | 交易額 |
pairCode | string | 商品,例:ETH_USD |
GET 單幣對24小時行情數據
獲取有關最後交易(報價)、最佳買價/賣價和 24 小時交易量的快照信息。
限速:無
限速規則:無
HTTP請求
GET HOST/public/v1/products/{product}/ticker
參數名 | 必選 | 類型 | 說明 |
---|---|---|---|
product | true | string | 路徑參數 商品,例:ETH_USD |
{
"ch": "market.ETH_USDT.detail",
"status": "ok",
"tick": {
"open": "11.9",
"close": "11.9",
"low": "11.9",
"high": "11.9",
"turnOver": "0",
"count": 0,
"vol": "0",
"pairCode": "ETH_USDT",
"change": "0",
"changePercent": "0"
},
"ts": 1641378912756
}
參數名 | 類型 | 說明 |
---|---|---|
close | int | 收盤價格 |
high | int | 最高價格 |
low | int | 最低價格 |
open | int | 開盤價格 |
turnOver | string | 交易量 |
vol | string | 交易額 |
GET 單幣對單條實時成交
獲取產品的最新交易列表
限速:無
限速規則:無
HTTP請求
GET HOST/public/v1/products/{product}/trade
參數名 | 必選 | 類型 | 說明 |
---|---|---|---|
product | true | string | 路徑參數 商品,例:ETH_USD |
{
"status": "ok",
"tick": {
"data": [{
"direction": "sell",
"id": 28730000,
"price": "11.9",
"ts": 1639585820376,
"vol": "1"
}],
"id": 1641379110358,
"ts": 1641379110358
},
"ts": 1641379110358
}
參數名 | 類型 | 說明 |
---|---|---|
direction | string | buy / sell |
price | string | 價格 |
vol | string | 成交量 |
GET 單幣對多條實時成交
獲取產品的最新交易列表
限速:無
限速規則:無
HTTP請求
GET HOST/public/v1/products/{product}/trades
參數名 | 必選 | 類型 | 說明 |
---|---|---|---|
product | true | string | 路徑參數 商品,例:ETH_USD |
size | false | int | 數據長度 默認500 ,最大1000[1,1000] |
{
"data": [{
"data": [{
"direction": "buy",
"id": 28470000,
"price": "11",
"ts": 1639585820373,
"vol": "1"
}],
"id": 2847,
"ts": 1639585820373,
"type": "fills"
}, {
"data": null,
"id": 2871,
"ts": 1639585820376,
"type": "fills"
}, {
"data": [{
"direction": "sell",
"id": 28730000,
"price": "11.9",
"ts": 1639585820376,
"vol": "1"
}],
"id": 2873,
"ts": 1639585820376,
"type": "fills"
}],
"status": "ok",
"ts": 1641379702364
}
參數名 | 類型 | 說明 |
---|---|---|
direction | string | buy / sell |
price | string | 價格 |
vol | string | 成交量 |
WEBSOCKET PUBLIC(DEPRECATED)
Candles Subscribe/UnSubscribe
Subscribe
sub request
{
"event": "sub",
"params":{
"biz": "market",
"type": "candles",
"product": "ETH_BNB",
"interval": "30min"
},
"zip": true
}
請求參數
參數名 | 必選 | 類型 | 說明 |
---|---|---|---|
params .biz | 是 | string | |
params .type | 是 | string | 訂閱類型 |
params .product | 是 | string | 幣對 |
params .interval | 是 | string | 週期 |
event | 是 | string | 事件 Subscribe |
zip | 是 | bool | 是否啟用gzip |
sub response
{
"channel": "subscribe",
"biz": "market",
"type": "candles",
"product": "ETH_BNB",
"interval": "30min",
"ts": 1639655425910,
"status": "ok"
}
返回參數
參數名 | 類型 | 說明 |
---|---|---|
type | string | 訂閱類型 |
interval | string | 間隔 |
product | string | 幣對 |
data .open | string | 這根K線期間第一筆成交價 |
data .close | string | 這根K線期間末一筆成交價 |
data .low | string | 這根K線期間最低成交價 |
data .high | string | 這根K線期間最高成交價 |
data .vol | string | 這根K線期間成交量 |
data .turnOver | string | 這根K線期間成交額 |
data .id | int | 唯一且有序id |
data .count | int | 這根K線期間成交筆數 |
UnSubscribe
unsub request
{
"event": "unsub",
"params": {
"biz": "market",
"type": "candles",
"product": "ETH_BNB",
"interval": "1day"
},
"zip":true
}
請求參數
參數名 | 必選 | 類型 | 說明 |
---|---|---|---|
params .biz | 是 | string | |
params .type | 是 | string | 訂閱類型 |
params .product | 是 | string | 幣對 |
params .interval | 是 | string | 週期 |
event | 是 | string | 事件 UnSubscribe |
zip | 是 | bool | 是否啟用gzip |
unsub response
{
"channel":"unsubscribe",
"biz": "market",
"type": "candles",
"product": "ETH_BNB",
"interval": "1day",
"ts": 1639655425910,
"status": "ok"
}
返回參數
參數名 | 類型 | 說明 |
---|---|---|
type | string | 訂閱類型 |
interval | string | 間隔 |
product | string | 幣對 |
data .open | string | 這根K線期間第一筆成交價 |
data .close | string | 這根K線期間末一筆成交價 |
data .low | string | 這根K線期間最低成交價 |
data .high | string | 這根K線期間最高成交價 |
data .vol | string | 這根K線期間成交量 |
data .turnOver | string | 這根K線期間成交額 |
data .id | int | 唯一且有序id |
data .count | int | 這根K線期間成交筆數 |
data .seqId | int | 有序且唯一id |
Feed Stream
feed stream
{
"id": 1688954400,
"type": "candles",
"pairCode": "BTC_USDT",
"product": "BTC_USDT",
"data":
{
"open": 3.1406,
"close": 3.0466,
"high": 4.0007,
"low": 3.0051,
"turnOver": 51642.553798,
"vol": 14765.94,
"count": 52144,
"seqId": 111322735,
"id": 1688954400
},
"interval": "30min",
"SeqId": 111322735
}
Fills Subscribe/UnSubscribe
Subscribe
sub request
{
"event": "sub",
"params": {
"biz": "market",
"type": "fills",
"product": "ETH_USDT"
},
"zip": false
}
參數名 | 必選 | 類型 | 說明 |
---|---|---|---|
params .biz | 是 | string | |
params .type | 是 | string | 訂閱類型類型 |
params .product | 是 | string | 幣對 |
event | 是 | string | 事件 Subscribe |
zip | 是 | bool | 是否啟用gzip |
sub response
{
"channel": "subscribe",
"biz": "market",
"type": "fills",
"product": "ETH_USDT",
"ts": 1641384262679,
"status": "ok"
}
UnSubscribe
參數名 | 必選 | 類型 | 說明 |
---|---|---|---|
params .biz | 是 | string | |
params .type | 是 | string | 訂閱類型類型 |
params .product | 是 | string | 幣對 |
params .interval | 是 | string | 週期 |
event | 是 | string | 事件 Subscribe |
zip | 是 | bool | 是否啟用gzip |
sub request
{
"event": "unsub",
"params": {
"biz": "market",
"type": "fills",
"product": "ETH_USDT"
},
"zip": false
}
unsub response
{
"biz": "market",
"channel": "unsubscribe",
"product": "ETH_USDT",
"type": "fills",
"status": "ok",
"ts": 1689041894440
}
Feed Stream
參數名 | 類型 | 說明 |
---|---|---|
id | int | 無符號整數 此消息唯一id |
type | string | 訂閱類型 |
interval | string | 間隔 |
product | string | 幣對 |
pairCode | string | 忽略 |
data .price | string | 價格 |
data .vol | string | 成交量 |
data .ts | int | 時間戳 |
data .direction | string | 方向 |
data .id | int | 成交id |
feed stream
{
"id": 323241,
"type": "fills",
"pairCode": "BTC_USDT",
"data":
[
{
"ts": 1689152406185,
"id": 323241000,
"vol": "0.04",
"price": "3.6733",
"direction": "buy"
}
],
"product": "BTC_USDT",
"ts": 1689152412845
}
OrderBook Subscribe/UnSubscribe
sub request
{
"event": "sub",
"params": {
"biz": "market",
"type": "orderBook",
"product": "ETH_USDT",
"interval": "1"
},
"zip": false
}
Subscribe
參數名 | 必選 | 類型 | 說明 |
---|---|---|---|
params .biz | 是 | string | |
params .type | 是 | string | 訂閱類型 |
params .product | 是 | string | 幣對 |
params .interval | 是 | string | 週期 |
event | 是 | string | 事件 |
zip | 是 | bool | 是否啟用gzip |
sub response
{
"biz": "market",
"channel": "subscribe",
"interval": "1",
"product": "ETH_USDT",
"type": "orderBook",
"status": "ok",
"ts": 1689934070509
}
UnSubscribe
參數名 | 必選 | 類型 | 說明 |
---|---|---|---|
params .biz | 是 | string | |
params .type | 是 | string | 訂閱類型 |
params .product | 是 | string | 幣對 |
params .interval | 是 | string | 週期 |
event | 是 | string | 事件 |
zip | 是 | bool | 是否啟用gzip |
unsub request
{
"event": "unsub",
"params": {
"biz": "market",
"type": "orderBook",
"product": "ETH_USDT",
"interval": "1"
},
"zip": false
}
unsub response
{
"biz": "market",
"channel": "unsubscribe",
"interval": "1",
"product": "ETH_USDT",
"type": "orderBook",
"status": "ok",
"ts": 1689934273388
}
Feed Stream
feed stream
{
"id": 1689934071,
"type": "orderBook",
"pairCode": "ETH_USDT",
"product": "ETH_USDT",
"ts": 1689934071000,
"version": 1689934071,
"seqId": 0,
"interval": "1",
"bids": [
[3781.85, 0.30656],
[3781.78, 0.0219],
[360, 4.59207],
[10, 11]
],
"asks": [
[3835, 0.19948],
[3836.98, 0.00026],
[3837.33, 0.4445],
[3839, 0.2]
]
}
Percent10 Subscribe\Unsubscribe
Subscribe
sub request
{
"event": "sub",
"params":
{
"biz": "market",
"type": "percent10",
"product": "ETH_USDT"
},
"zip": false
}
參數名 | 必選 | 類型 | 說明 |
---|---|---|---|
params .biz | 是 | string | |
params .type | 是 | string | 訂閱類型 |
params .product | 是 | string | 幣對 |
event | 是 | string | 事件 |
zip | 是 | bool | 是否啟用gzip |
sub response
{
"biz": "market",
"channel": "subscribe",
"product": "ETH_USDT",
"type": "percent10",
"status": "ok",
"ts": 1689934871904
}
UnSubscribe
unsub request
{
"event": "unsub",
"params":
{
"biz": "market",
"type": "percent10",
"product": "ETH_USDT"
},
"zip": false
}
參數名 | 必選 | 類型 | 說明 |
---|---|---|---|
params .biz | 是 | string | |
params .type | 是 | string | 訂閱類型 |
params .product | 是 | string | 幣對 |
params .pairCode | 是 | string | 幣對(忽略) |
event | 是 | string | 事件 |
zip | 是 | bool | 是否啟用gzip |
unsub response
{
"biz": "market",
"channel": "unsubscribe",
"product": "ETH_USDT",
"type": "percent10",
"status": "ok",
"ts": 1689934879610
}
Feed Stream
feed stream
{
"id": 1689934879,
"type": "percent10",
"pairCode": "ETH_USDT",
"product": "ETH_USDT",
"ts": 1689934879000,
"version": 1689934879,
"seqId": 0,
"bids": [
[11.994, 0.10124]
],
"asks": [
[12.006, 0]
]
}
Ticker Subscribe\UnSubscribe
Subscribe
sub request
{
"event": "sub",
"params": {
"biz": "market",
"type": "ticker",
"product": "ETH_USDT"
},
"zip":false
}
參數名 | 必選 | 類型 | 說明 |
---|---|---|---|
params .biz | 是 | string | |
params .type | 是 | string | 訂閱類型 |
params .product | 是 | string | 幣對 |
event | 是 | string | 事件 |
zip | 是 | bool | 是否啟用gzip |
sub response
{
"id": "",
"channel": "subscribe",
"biz": "market",
"type": "ticker",
"product": "ETH_USDT",
"interval": "",
"ts": 1641387679813,
"status": "ok"
}
UnSubscribe
unsub request
{
"event": "unsub",
"params": {
"biz": "market",
"type": "ticker",
"product": "ETH_USDT"
},
"zip":false
}
參數名 | 必選 | 類型 | 說明 |
---|---|---|---|
params .biz | 是 | string | |
params .type | 是 | string | 訂閱類型 |
params .product | 是 | string | 幣對 |
event | 是 | string | 事件 |
zip | 是 | bool | 是否啟用gzip |
unsub response
{
"biz": "market",
"channel": "unsubscribe",
"product": "BTC_USDT",
"type": "ticker",
"status": "ok",
"ts": 1689935550687
}
Feed Stream
參數名 | 類型 | 說明 |
---|---|---|
type | string | 訂閱類型 |
ts | int | 時間戳 |
product | string | 幣對 |
msg | string | 忽略 |
code | int | 忽略 |
data .open | string | 24小時前開始第一筆成交價格 |
data .close | string | 24小時最新成交價格 |
data .low | string | 24小時內最低成交價 |
data .high | string | 24小時內最高成交價 |
data .vol | string | 24小時內成交量 |
data .turnOver | string | 24小時內成交額 |
data .count | int | 24小時成交筆數 |
data .change | int | 24小時價格變化 |
data .changePercent | int | 24小時價格變化(百分比) |
data .pairCode | string | 忽略 |
feed stream
{
"code": 200,
"msg": "success",
"ts": 1689935550508,
"type": "ticker",
"product": "BTC_USDT",
"data":
{
"pairCode": "BTC_USDT",
"open": "3.2934",
"close": "3.01",
"high": "4.003",
"low": "2.9758",
"turnOver": "25483.2032",
"vol": "7355.4",
"count": 0,
"change": "-0.2834",
"changePercent": "-0.0861"
}
}
Request Candles
req request
{
"event": "req",
"params": {
"biz": "market",
"type": "candles",
"product": "BTC_USDT",
"interval": "1day",
"size": 301,
"from": 1613692800,
"to": 1639699200
},
"zip":false
}
參數名 | 必選 | 類型 | 說明 |
---|---|---|---|
params.biz | 是 | string | |
params.type | 是 | string | 類型 |
params.product | 是 | string | 幣對 |
params.interval | 是 | string | 週期 |
params.from | 是 | string | 開始時間 |
params.to | 是 | string | 結束時間 |
event | 是 | string | 事件 |
zip | 是 | bool | 是否啟用gzip |
返回結構
參數名 | 類型 | 說明 |
---|---|---|
biz | string | 行情 |
ts | int | 時間戳 |
product | string | 幣對 |
interval | string | 間隔 1day |
event | string | req |
data .open | string | 這根K線期間第一筆成交價 |
data .close | string | 這根K線期間末一筆成交價 |
data .low | string | 這根K線期間最低成交價 |
data .high | string | 這根K線期間最高成交價 |
data .vol | string | 這根K線期間成交量 |
data .turnOver | string | 這根K線期間成交額 |
data .id | int | 唯一且有序id |
data .count | int | 這根K線期間成交筆數 |
req response
{
"biz": "market",
"product": "BTC_USDT",
"ts": 1689936708184,
"type": "candles",
"interval": "1day",
"event": "req",
"data":
[
{
"count": 2265,
"turnOver": 2802.082564,
"vol": 810.94,
"id": 1689782400,
"high": 4.003,
"open": 3.2934,
"low": 3.0103,
"close": 3.2399
},
{
"count": 25441,
"turnOver": 29922.563131,
"vol": 8627.47,
"id": 1689868800,
"high": 3.9711,
"open": 3.2399,
"low": 2.9758,
"close": 3.8212
}
]
}
Request Ticker
請求結構
參數名 | 必選 | 類型 | 說明 |
---|---|---|---|
params.biz | 是 | string | |
params.type | 否 | string | 類型 |
params.product | 否 | string | 幣對 |
event | 是 | string | 事件 |
zip | 是 | bool | 是否啟用gzip |
req request
{
"event": "req",
"params": {
"biz": "market",
"type": "ticker",
"product": "ETH_USDT"
},
"zip":false
}
返回參數
參數名 | 類型 | 說明 |
---|---|---|
biz | string | 行情 |
type | string | ticker |
ts | int | 時間戳 |
product | string | 幣對 |
event | string | req |
data .open | string | 24小時前開始第一筆成交價格 |
data .close | string | 24小時最新成交價格 |
data .low | string | 24小時內最低成交價 |
data .high | string | 24小時內最高成交價 |
data .vol | string | 24小時內成交量 |
data .turnOver | string | 24小時內成交額 |
data .count | int | 24小時成交筆數 |
data .change | int | 24小時價格變化 |
data .changePercent | int | 24小時價格變化(百分比) |
req response
{
"biz": "market",
"product": "BTC_USDT",
"ts": 1689937681602,
"type": "ticker",
"event": "req",
"data":
{
"open": "3.2934",
"close": "3.3483",
"low": "2.9758",
"high": "4.003",
"turnOver": "39507.143672",
"count": 0,
"vol": "11384.41",
"pairCode": "BTC_USDT",
"change": "0.0549",
"changePercent": "0.0167"
}
}
WEBSOCKET PRIVATE(DEPRECATED)
Login
進行WS通道用戶認證。只有認證過的通道才可以進行訂閱用戶的資產信息以及訂單狀態變化信息
Subscribe
request
{
"event": "login",
"params": {
"type": "api",
"access-key": "de0535f81d51c998b7fbcf00f189f294",
"access-sign": "sign",
"access-timestamp": 14000000000
}
}
請求參數
參數名 | 必選 | 類型 | 說明 |
---|---|---|---|
params.type | 是 | string | 認證方式: api :apiKey認證;token :token認證 |
params.access-key | 是 | string | 鑑權說明 |
params.access-sign | 是 | string | 鑑權說明 |
params.access-timestamp | 是 | long | 鑑權說明 |
event | 是 | string | 事件名 事件列表 |
response
{
"result": "login",
"data":
{
"result": true
}
}
參數名 | 類型 | 說明 |
---|---|---|
result | string | 數據頻道 |
data.result | bool | 訂閱是否成功 |
Assets
訂閱用戶的資產變更。目前只支持按照產品進行訂閱。訂閱全量的資產變更信息正在開發中。
Subscribe
request
{
"event": "sub",
"params": {
"biz": "exchange",
"type": "assets",
"product": "ETH_BTC",
"zip": false
}
}
請求參數
參數名 | 必選 | 類型 | 說明 |
---|---|---|---|
params.biz | 是 | string | 訂閱模塊類型 |
params.type | 是 | string | 訂閱業務類型 |
params.product | 是 | string | 產品信息 |
event | 是 | string | 事件名 事件列表 |
zip | 是 | bool | 是否啟用gzip |
response
{
"channel": "subscribe",
"biz": "exchange",
"type": "assets",
"product": "ETH_BTC",
"data": {
"result": true
}
}
返回參數
參數名 | 類型 | 說明 |
---|---|---|
channel | string | 數據頻道 |
biz | string | 業務線 |
type | string | 協議類型 |
product | string | 產品名 |
data.result | bool | 訂閱是否成功 |
feed
{
"biz": "exchange",
"type": "assets",
"product": "BTC_USDT",
"zip": false,
"data": [
{
"symbol": "BTC",
"available": 100805.8,
"hold": 13.2
}
]
}
推送數據
參數名 | 類型 | 說明 |
---|---|---|
channel | string | 數據頻道 |
biz | string | 業務線 |
type | string | 協議類型 |
product | string | 產品名 |
$data.currency | string | 幣種名稱 |
$data.available | bigdecimal | 可用數量名稱 |
$data.hold | bigdecimal | 凍結數量幣種名稱 |
Orders
訂閱所有訂單的狀態變化
Subscribe
request
{
"event": "sub",
"params": {
"biz": "exchange",
"type": "orders",
"product": "all",
"zip": false
}
}
請求參數
參數名 | 必選 | 類型 | 說明 |
---|---|---|---|
params.biz | 是 | string | 訂閱模塊類型 |
params.type | 是 | string | 訂閱業務類型 |
params.product | 是 | string | 產品名 |
event | 是 | string | 事件名 事件列表 |
zip | 是 | bool | 是否啟用gzip |
response
{
"channel": "subscribe",
"biz": "exchange",
"type": "orders",
"product": "all",
"data": {
"result": true
}
}
返回參數
參數名 | 類型 | 說明 |
---|---|---|
channel | string | 數據頻道 |
biz | string | 業務線 |
type | string | 協議類型 |
product | string | 產品名 |
data.result | bool | 訂閱是否成功 |
參數名稱 | 參數說明 | 類型 | schema |
---|---|---|---|
order_id | 訂單編號 | string | |
product | 商品 | string | |
side | buy/sell | string | |
price | 每單位基礎貨幣的價格 | string | |
size | 買入/賣出的基礎貨幣數量 | string | |
filled_amount | 成交數量 | string | |
funds | 想要使用的報價貨幣數量 | string | |
filled_size | 成交金額 | string | |
type | limit:限價單/market:市價單/ | string | |
status | 狀態 | string | |
client_oid | 默認"0",用戶自定義訂單號 | string |
status
: 交易狀態,取值範圍0-7
- 0: 已經收到訂單
- 1: 已經提交訂單
- 2: 訂單部分成交
- 3: 訂單已完全成交
- 4: 訂單發起撤銷
- 5: 訂單已經撤銷
- 6: 訂單交易失敗
- 7: 訂單被減量
feed
{
"biz": "exchange",
"type": "orders",
"data": {
"order_id": "124645019749408967",
"product": "BTC_USDT",
"side": "buy",
"price": "60000",
"size": "1",
"filled_amount": "0",
"funds": "1",
"filled_size": "0",
"type": "limit",
"status": "1",
"client_oid": ""
}
}
推送數據
參數名 | 類型 | 說明 |
---|---|---|
channel | string | 數據頻道 |
biz | string | 業務線 |
type | string | 協議類型 |
product | string | 產品名 |
$data | object | 訂單詳情 |
Event 列表
Event 名稱 | 類型 | 說明 |
---|---|---|
sub | string | 訂閱事件,由客戶端主動發起 |
login | string | 登錄事件,由客戶端主動發起 |
Biz 列表
Biz 名稱 | 類型 | 說明 |
---|---|---|
exchange | string | 現貨交易 |
Type 列表
Type 名稱 | 類型 | 說明 |
---|---|---|
assets | string | 資產變更 |
orders | string | 訂單狀態變更 |