# 交易介面
# 1. 交易下單
HTTP請求
# Request
POST api/v1/user/trade
請求方式
POST
請求參數
參數名 | 參數類型 | 必填 | 描述 |
---|---|---|---|
symbol | String | 是 | 合約名稱中需有"-",如BTC-USDT |
apiKey | String | 是 | 介面密鑰 |
timestamp | String | 是 | 發起請求的時間戳,單位為毫秒 |
side | String | 是 | (Bid/Ask 買/賣) |
entrustPrice | float64 | 是 | 價格 |
entrustVolume | float64 | 是 | 數量 |
tradeType | String | 是 | Market/Limit 市價/限價 |
action | String | 是 | Open/Close 開倉/平倉 |
takerProfitPrice | float64 | 否 | 止盈價格 |
stopLossPrice | float64 | 否 | 止損價格 |
返回值說明
參數名 | 參數類型 | 描述 |
---|---|---|
orderId | String | 訂單ID |
# Response
{
"code": 0,
"msg": "",
"data": {
"orderId": "11141",
}
}
# 2. 一鍵平倉下單
查詢持倉信息後,可根據倉位ID進行一鍵平倉操作。注意,一鍵平倉是以市價委託進行觸發的。
HTTP請求
# Request
POST api/v1/user/oneClickClosePosition
請求方式
POST
請求參數
參數名 | 參數類型 | 必填 | 描述 |
---|---|---|---|
symbol | String | 是 | 合約名稱中需有"-",如BTC-USDT |
positionId | Int64 | 是 | 一鍵平倉對應的倉位ID |
apiKey | String | 是 | 介面密鑰 |
timestamp | String | 是 | 發起請求的時間戳,單位為毫秒 |
返回值說明
參數名 | 參數類型 | 描述 |
---|---|---|
code | Int64 | 錯誤碼,0表示成功,不為0表示異常失敗 |
msg | String | 錯誤信息提示 |
orderId | String | 一鍵平倉產生的委託訂單ID |
# Response
{
"code": 0,
"msg": "",
"data": {
}
}
# 3. 全部一鍵平倉下單
將當前賬戶下所有倉位進行一鍵平倉操作。注意,一鍵平倉是以市價委託進行觸發的。
HTTP請求
# Request
POST api/v1/user/oneClickCloseAllPositions
請求方式
POST
請求參數
參數名 | 參數類型 | 必填 | 描述 |
---|---|---|---|
apiKey | String | 是 | 介面密鑰 |
timestamp | String | 是 | 發起請求的時間戳,單位為毫秒 |
返回值說明
參數名 | 參數類型 | 描述 |
---|---|---|
code | Int64 | 錯誤碼,0表示成功,不為0表示異常失敗 |
msg | String | 錯誤信息提示 |
orders | String數組 | 全部一鍵平倉產生的多個委託訂單ID |
# Response
{
"code": 0,
"msg": "",
"data": {
"orders": ["123", "456", "789"]
}
}
# 4. 撤銷訂單
將處於當前委託狀態的訂單進行撤銷操作。
HTTP請求
# Request
POST api/v1/user/cancelOrder
請求方式
POST
請求參數
參數名 | 參數類型 | 必填 | 描述 |
---|---|---|---|
orderId | String | 是 | 訂單ID |
symbol | String | 是 | 合約名稱中需有"-",如BTC-USDT |
apiKey | String | 是 | 介面密鑰 |
timestamp | String | 是 | 發起請求的時間戳,單位為毫秒 |
返回值說明
參數名 | 參數類型 | 描述 |
---|---|---|
orderId | String | 訂單ID |
# Response
{
"code": 0,
"msg": "",
"data": {
"orderId": "11141",
}
}
# 5. 批量撤銷訂單
將合約下處於當前委託狀態的部分訂單進行撤銷操作。
HTTP請求
# Request
POST api/v1/user/batchCancelOrders
請求方式
POST
請求參數
參數名 | 參數類型 | 必填 | 描述 |
---|---|---|---|
symbol | String | 是 | 合約名稱中需有"-",如BTC-USDT |
oids | String | 是 | 訂單ID列表,多個訂單id用逗號進行分隔 |
apiKey | String | 是 | 介面密鑰 |
timestamp | String | 是 | 發起請求的時間戳,單位為毫秒 |
返回值說明
參數名 | 參數類型 | 描述 |
---|---|---|
code | Int64 | 錯誤碼,0表示成功,不為0表示異常失敗 |
msg | String | 錯誤信息提示 |
Success | String數組 | 撤銷成功的訂單ID列表 |
Failed | 結構數組 | 撤銷失敗的訂單列表 |
orderId | String | 訂單ID |
errorCode | Int64 | 錯誤碼,0表示成功,不為0表示異常失敗 |
errorMessage | String | 錯誤信息提示 |
# Response
{
"code": 0,
"msg": "",
"data": {
"success": ["725970815","725970736"],
"failed":[
{
"orderId": "725971356",
"errorCode": 80012,
"errorMessage": "Service network failed"
},
],
}
}
# 6. 撤銷全部訂單
將賬戶下處於當前委託狀態的全部訂單進行撤銷操作。
HTTP請求
# Request
POST api/v1/user/cancelAll
請求方式
POST
請求參數
參數名 | 參數類型 | 必填 | 描述 |
---|---|---|---|
apiKey | String | 是 | 介面密鑰 |
timestamp | String | 是 | 發起請求的時間戳,單位為毫秒 |
返回值說明
參數名 | 參數類型 | 描述 |
---|---|---|
code | Int64 | 錯誤碼,0表示成功,不為0表示異常失敗 |
msg | String | 錯誤信息提示 |
# Response
{
"code": 0,
"msg": "",
"data": {
}
}
# 7. 查詢當前委託訂單
查詢一段時間周期內賬戶下處於當前委託狀態的訂單詳情。
HTTP請求
# Request
POST api/v1/user/pendingOrders
請求方式
POST
請求參數
參數名 | 參數類型 | 必填 | 欄位描述 |
---|---|---|---|
symbol | String | 是 | 合約名稱中需有"-",如BTC-USDT,為空則返回全部 |
apiKey | String | 是 | |
timestamp | String | 是 | 發起請求的時間戳,單位為毫秒 |
返回值說明
參數名 | 參數類型 | 描述 |
---|---|---|
entrustTm | String | 訂單委託時間 |
side | String | 交易方向(Bid/Ask 買/賣) |
tradeType | String | 委託類型(Market/Limit 市價/限價) |
action | String | Open/Close 開倉/平倉 |
entrustPrice | Float64 | 委託價格 |
entrustVolume | Float64 | 委託數量 |
avgFilledPrice | Float64 | 成交均價 |
filledVolume | Float64 | 成交數量 |
orderId | String | 訂單號 |
profit | Float64 | 盈虧 |
commission | Float64 | 手續費 |
updateTm | String | 訂單更新時間 |
# Response
{
"code": 0,
"msg": "",
"data": {
"orders": [
{
"entrustTm": "2018-04-25T15:00:51.000Z",
"side": "Bid",
"tradeType": "Limit",
"action": "Open",
"entrustPrice": 6.021954,
"entrustVolume": 18.098,
"filledVolume": 0,
"avgFilledPrice": 0,
"orderId": "6030",
"symbol": "BTC-USDT",
"profit": 0,
"commission": 0,
"updateTm": "2018-04-25T15:00:52.000Z"
}
]
}
}
# 8. 查詢訂單詳情
HTTP請求
# Request
POST api/v1/user/queryOrderStatus
請求方式
POST
請求參數
參數名 | 參數類型 | 必填 | 描述 |
---|---|---|---|
apiKey | String | 是 | 介面秘鑰 |
timestamp | String | 是 | 發起請求的時間戳,單位為毫秒 |
symbol | String | 是 | 合約名稱中需有"-",如BTC-USDT |
orderId | String | 是 | 訂單ID |
返回值說明
參數名 | 參數類型 | 描述 |
---|---|---|
entrustTm | String | 訂單委託時間 |
side | String | 交易方向(Bid/Ask 買/賣) |
tradeType | String | 委託類型(Market/Limit 市價/限價) |
action | String | Open/Close 開倉/平倉 |
entrustPrice | Float64 | 委託價格 |
entrustVolume | Float64 | 委託數量 |
avgFilledPrice | Float64 | 成交均價 |
filledVolume | Float64 | 成交數量 |
orderId | String | 訂單號 |
status | String | 訂單狀態(Filled or PartiallyFilled, Pending, Cancelled, Failed) |
profit | Float64 | 盈虧 |
commission | Float64 | 手續費 |
updateTm | String | 訂單更新時間 |
備註
Status | 欄位說明 |
---|---|
Pending | 尚未成交 |
PartiallyFilled | 部分成交 |
Cancelled | 已撤銷 |
Filled | 已完成 |
Failed | 失敗 |
# Response
{
"code": 0,
"msg": "",
"data": {
"entrustTm": "2018-04-25T15:00:51.000Z",
"side": "Ask",
"tradeType": "Limit",
"action": "Close",
"entrustPrice": 6.021954,
"entrustVolume": 18.098,
"filledVolume": 0,
"avgFilledPrice": 0,
"orderId": "6030",
"status": "Filled",
"profit": 0,
"commission": 0,
"updateTm": "2018-04-25T15:00:52.000Z"
}
}
# 9. 查詢賬戶保證金模式
HTTP請求
# Request
Post api/v1/user/getMarginMode
請求方式
POST
請求參數
參數名 | 參數類型 | 必填 | 描述 |
---|---|---|---|
symbol | String | 是 | 合約名稱中需有"-",如BTC-USDT |
apiKey | String | 是 | 介面密鑰 |
timestamp | String | 是 | 發起請求的時間戳,單位為毫秒 |
返回值說明
參數名 | 參數類型 | 描述 |
---|---|---|
marginMode | String | 保證金模式 |
備註
marginMode | 欄位說明 |
---|---|
Isolated | 逐倉 |
Cross | 全倉 |
# Response
{
"data": {
"marginMode":"Isolated"
},
"code": 0,
"message": ""
}
# 10. 切換賬戶保證金模式
修改永續合約賬戶的保證金模式,全倉模式或逐倉模式。
HTTP請求
# Request
POST api/v1/user/setMarginMode
請求方式
POST
請求參數
參數名 | 參數類型 | 必填 | 描述 |
---|---|---|---|
symbol | String | 是 | 合約名稱中需有"-",如BTC-USDT |
marginMode | String | 是 | Isolated or Cross, 賬戶保證金模式,逐倉或者全倉 |
apiKey | String | 是 | 介面密鑰 |
timestamp | String | 是 | 發起請求的時間戳,單位為毫秒 |
返回值說明
參數名 | 參數類型 | 描述 |
---|---|---|
code | Int64 | 錯誤碼,0表示成功,不為0表示異常失敗 |
msg | String | 錯誤信息提示 |
# Response
{
"code": 0,
"msg": "",
"data": {
}
}
# 11. 查詢槓桿
HTTP請求
# Request
Post api/v1/user/getLeverage
請求方式
POST
請求參數
參數名 | 參數類型 | 必填 | 描述 |
---|---|---|---|
symbol | String | 是 | 合約名稱中需有"-",如BTC-USDT |
apiKey | String | 是 | 介面密鑰 |
timestamp | String | 是 | 發起請求的時間戳,單位為毫秒 |
返回值說明
參數名 | 參數類型 | 描述 |
---|---|---|
longLeverage | Int64 | 多倉槓桿倍數 |
shortLeverage | Int64 | 空倉槓桿倍數 |
# Response
{
"data": {
"longLeverage": 5,
"shortLeverage": 5
},
"code": 0,
"message": ""
}
# 12. 修改槓桿
調整合約多倉或空倉的槓桿倍數。
HTTP請求
# Request
POST api/v1/user/setLeverage
請求方式
POST
請求參數
參數名 | 參數類型 | 必填 | 描述 |
---|---|---|---|
symbol | String | 是 | 合約名稱中需有"-",如BTC-USDT |
side | String | 是 | 多倉或者空倉的槓桿,Long表示多倉,Short表示空倉 |
leverage | String | 是 | 槓桿倍數 |
apiKey | String | 是 | 介面密鑰 |
timestamp | String | 是 | 發起請求的時間戳,單位為毫秒 |
返回值說明
參數名 | 參數類型 | 描述 |
---|---|---|
code | Int64 | 錯誤碼,0表示成功,不為0表示異常失敗 |
msg | String | 錯誤信息提示 |
# Response
{
"code": 0,
"msg": ""
}
# 13. 查詢強平訂單
HTTP請求
# Request
POST api/v1/user/forceOrders
請求方式
POST
請求參數
參數名 | 參數類型 | 必填 | 描述 |
---|---|---|---|
symbol | String | 是 | 合約名稱中需有"-",如BTC-USDT |
autoCloseType | String | 是 | Liquidation 表示強平訂單, ADL 表示減倉訂單 |
lastOrderId | int64 | 是 | 用於分頁, 第一次填寫0, 後續填寫前一次返回結果裡面的最後一個訂單id |
length | int64 | 是 | 每次請求的長度, 最大值為100 |
apiKey | String | 是 | 介面密鑰 |
timestamp | String | 是 | 發起請求的時間戳,單位為毫秒 |
返回值說明
參數名 | 參數類型 | 描述 |
---|---|---|
symbol | String | 合約名稱 |
tradeType | String | 訂單類型, Limit是限價單, Market是市價單 |
action | String | Liquidation 表示強平訂單, ADL 表示減倉訂單 |
avgFilledPrice | Float64 | 破產價格 |
entrustTm | String | 成交時間 |
filledVolume | Float64 | 成交數量 |
orderId | String | 訂單id |
side | String | 交易方向, Bid買入, Ask賣出 |
profit | Float64 | 盈虧 |
commission | Float64 | 手續費 |
# Response
{
"code": 0,
"msg": "",
"data": {
"symbol": "BTC-USDT",
"tradeType": "Limit",
"action": "Liquidation",
"avgFilledPrice": 5938.23,
"entrustTm": "2018-04-25T15:00:51.000Z",
"filledVolume": 1.2123,
"orderId": 123456789,
"side": "Bid",
"profit": -11.34,
"commission": 0.4231
}
}
# 14. 查詢歷史訂單
HTTP請求
# Request
POST api/v1/user/historyOrders
請求方式
POST
請求參數
參數名 | 參數類型 | 必填 | 描述 |
---|---|---|---|
symbol | String | 否 | 合約名稱 |
lastOrderId | int64 | 是 | 用於分頁, 第一次填寫0, 後續填寫前一次返回結果裡面的最後一個訂單id |
length | int64 | 是 | 每次請求的長度, 最大值為100 |
apiKey | String | 是 | 介面密鑰 |
timestamp | String | 是 | 發起請求的時間戳,單位為毫秒 |
返回值說明
參數名 | 參數類型 | 描述 |
---|---|---|
symbol | String | 合約名稱 |
orderId | String | 訂單id |
side | String | 交易方向, Bid買入, Ask賣出 |
action | String | Open表示開倉, Close表示平倉, ADL表示自動減倉, Liquidation表示爆倉強平 |
tradeType | String | 訂單類型, Limit是限價單, Market是市價單 |
entrustVolume | Float64 | 委託數量 |
entrustPrice | Float64 | 委託價格 |
filledVolume | Float64 | 成交數量 |
avgFilledPrice | Float64 | 成交價格 |
profit | Float64 | 盈虧 |
commission | Float64 | 手續費 |
orderStatus | String | 訂單狀態(Filled or PartiallyFilled, Pending, Cancelled, Failed) |
entrustTm | String | 委託時間 |
updateTm | String | 更新時間 |
備註
OrderStatus | 欄位說明 |
---|---|
Pending | 尚未成交 |
PartiallyFilled | 部分成交 |
Cancelled | 已撤銷 |
Filled | 已完成 |
Failed | 失敗 |
# Response
{
"code": 0,
"data": {
"orders": [
{
"action": "Open",
"avgFilledPrice": 31333.37,
"commission": -0.0009,
"entrustPrice": 31331.25,
"entrustTm": "2021-01-05T09:15:02Z",
"entrustVolume": 0.0001,
"filledVolume": 0.0001,
"orderId": "996273190",
"orderStatus": "Filled",
"profit": 0,
"side": "Bid",
"symbol": "BTC-USDT",
"tradeType": "Market",
"updateTm": "2021-01-05T09:15:15Z"
}
]
},
"message": ""
}
# 15. 設置止盈止損訂單
HTTP請求
# Request
POST api/v1/user/stopOrder
請求方式
POST
請求參數
參數名 | 參數類型 | 必填 | 描述 |
---|---|---|---|
apiKey | String | 是 | 介面密鑰 |
timestamp | String | 是 | 發起請求的時間戳,單位為毫秒 |
positionId | String | 是 | 持倉id |
orderId | String | 否 | 止盈止損訂單id |
stopLossPrice | Float64 | 否 | 止損價格 |
takeProfitPrice | Float64 | 否 | 止盈價格 |
entrustVolume | Float64 | 是 | 委託數量 |
返回值說明
參數名 | 參數類型 | 描述 |
---|---|---|
orderId | String | 止盈止損訂單id |
# Response
{
"code": 0,
"data": {
"orderId": "1414483504200159232"
},
"message": ""
}
# 16. 撤銷止盈止損訂單
HTTP請求
# Request
POST api/v1/user/cancelStopOrder
請求方式
POST
請求參數
參數名 | 參數類型 | 必填 | 描述 |
---|---|---|---|
apiKey | String | 是 | 介面密鑰 |
timestamp | String | 是 | 發起請求的時間戳,單位為毫秒 |
orderId | String | 是 | 止盈止損訂單id |
返回值說明
# Response
{
"code": 0,
"message": ""
}
# 17. 查詢止盈止損訂單列表
HTTP請求
# Request
POST api/v1/user/pendingStopOrders
請求方式
POST
請求參數
參數名 | 參數類型 | 必填 | 描述 |
---|---|---|---|
apiKey | String | 是 | 介面密鑰 |
timestamp | String | 是 | 發起請求的時間戳,單位為毫秒 |
symbol | String | 是 | 合約名稱 |
返回值說明
參數名 | 參數類型 | 描述 |
---|---|---|
userId | String | 用戶id |
orderId | String | 訂單id |
symbol | String | 合約名稱 |
positionId | String | 倉位id |
stopLossPrice | Float64 | 止損價格 |
takeProfitPrice | Float64 | 止盈價格 |
entrustVolume | Float64 | 委託數量 |
side | String | 交易方向, Bid買入, Ask賣出 |
entrustTm | String | 委託時間 |
# Response
{
"code": 0,
"data": {
"orders": [
{
"entrustTm": "2021-07-12T07:15:21.891Z",
"entrustVolume": 0.001,
"orderId": "1414483504200159232",
"positionId": "1414483266773192704",
"side": "Ask",
"stopLossPrice": 10000,
"symbol": "BTC-USDT",
"takeProfitPrice": 0,
"userId": "809519987784454146"
}
]
},
"message": ""
}
# 18. 查詢止盈止損歷史訂單列表
HTTP請求
# Request
POST api/v1/user/historyStopOrders
請求方式
POST
請求參數
參數名 | 參數類型 | 必填 | 描述 |
---|---|---|---|
apiKey | String | 是 | 介面密鑰 |
timestamp | String | 是 | 發起請求的時間戳,單位為毫秒 |
symbol | String | 是 | 合約名稱 |
lastOrderId | int64 | 是 | 用於分頁, 第一次填寫0, 後續填寫前一次返回結果裡面的最後一個訂單id |
length | int64 | 是 | 每次請求的長度, 最大值為100 |
返回值說明
參數名 | 參數類型 | 描述 |
---|---|---|
userId | String | 用戶id |
orderId | String | 訂單id |
symbol | String | 合約名稱 |
positionId | String | 倉位id |
stopLossPrice | Float64 | 止損價格 |
takeProfitPrice | Float64 | 止盈價格 |
entrustVolume | Float64 | 委託數量 |
side | String | 交易方向, Bid買入, Ask賣出 |
orderStatus | String | 訂單狀態 |
entrustTm | String | 委託時間 |
triggerTm | String | 觸發時間 |
備註
orderStatus | 欄位說明 |
---|---|
TriggerStopLoss | 止損觸發 |
TriggerTakeProfit | 止盈觸發 |
Cancelled | 已撤銷 |
Failed | 失敗 |
# Response
{
"code": 0,
"data": {
"orders": [
{
"entrustTm": "2021-05-17T10:13:46.000Z",
"entrustVolume": 0.001,
"orderId": "47513",
"orderStatus": "TriggerTakeProfit",
"positionId": "74578",
"side": "Ask",
"stopLossPrice": 0,
"symbol": "BTC-USDT",
"takeProfitPrice": 45400,
"triggerTm": "2021-05-17T11:34:06.000Z",
"userId": "809519987784454146"
}
]
},
"message": ""
}