跳到主要内容

交易命令JSON文档

本文档包含所有交易命令序列化后的JSON格式示例,用于API调用参考。

同步命令

同步命令会立即返回结果。

自定义请求

{
"account_id": 1,
"method": "Request",
"request": {
"auth": true,
"body": {
"key2": "value2"
},
"headers": {
"Content-Type": "application/json"
},
"method": "GET",
"path": "/api/v1/test",
"query": {
"key": "value"
},
"url": "https://api.example.com/api/v1/test"
},
"sync": true
}

响应:

返回交易所原始响应数据

响应示例:

"Ok": {
// 交易所返回的原始数据
}

获取订单历史

{
"account_id": 1,
"end_time": 1704067200000,
"method": "GetOrders",
"start_time": 1672531200000,
"symbol": "BTC_USDT",
"sync": true
}

响应字段:

字段类型描述
idString订单ID
symbolString交易对名称
statusString订单状态
order_typeString订单类型: Limit/Market
sideString交易方向: Buy/Sell
pos_sideString持仓方向: Long/Short
priceNumber委托价格
amountNumber委托数量
filledNumber已成交数量
filled_avg_priceNumber成交均价

响应示例:

"Ok": [
{
"id": "order123",
"symbol": "BTC_USDT",
"status": "Open",
"order_type": "Limit",
"side": "Buy",
"pos_side": "Long",
"price": 50000.0,
"amount": 0.1,
"filled": 0.0,
"filled_avg_price": 0.0
}
]

获取当前挂单

{
"account_id": 1,
"method": "GetOpenOrders",
"symbol": "BTC_USDT",
"sync": true
}

响应字段:

同GetOrders

响应示例:

"Ok": [
{
"id": "order123",
"symbol": "BTC_USDT",
"status": "Open",
"order_type": "Limit",
"side": "Buy",
"pos_side": "Long",
"price": 50000.0,
"amount": 0.1,
"filled": 0.0,
"filled_avg_price": 0.0
}
]

获取所有挂单

{
"account_id": 1,
"method": "GetAllOpenOrders",
"sync": true
}

响应字段:

同GetOrders

响应示例:

"Ok": [
{
"id": "order123",
"symbol": "BTC_USDT",
"status": "Open",
"order_type": "Limit",
"side": "Buy",
"pos_side": "Long",
"price": 50000.0,
"amount": 0.1,
"filled": 0.0,
"filled_avg_price": 0.0
}
]

查询持仓

{
"account_id": 1,
"method": "Position",
"symbol": "BTC_USDT",
"sync": true
}

响应字段:

字段类型描述
symbolString交易对名称
timestampNumber时间戳
margin_modeString保证金模式: Cross/Isolated
sideString持仓方向: Long/Short
leverageNumber杠杆倍数
amountNumber持仓数量
entry_priceNumber开仓均价
unrealized_pnlNumber未实现盈亏

响应示例:

"Ok": [
{
"symbol": "BTC_USDT",
"timestamp": 1678234567000,
"margin_mode": "Cross",
"side": "Long",
"leverage": 10,
"amount": 0.1,
"entry_price": 50000.0,
"unrealized_pnl": 100.0
}
]

查询所有持仓

{
"account_id": 1,
"method": "Positions",
"sync": true
}

响应字段:

同Position

响应示例:

"Ok": [
{
"symbol": "BTC_USDT",
"timestamp": 1678234567000,
"margin_mode": "Cross",
"side": "Long",
"leverage": 10,
"amount": 0.1,
"entry_price": 50000.0,
"unrealized_pnl": 100.0
}
]

获取最大持仓

{
"account_id": 1,
"method": "MaxPosition",
"symbol": "BTC_USDT",
"sync": true
}

响应字段:

字段类型描述
longPositionValue多仓最大持仓
shortPositionValue空仓最大持仓

PositionValue:

  • Notional: 最大持仓价值
  • Quantity: 最大持仓数量

响应示例:

"Ok": {
"long": {
"Notional": 10000000.0
},
"short": {
"Quantity": 100.0
}
}

最大杠杆

{
"account_id": 1,
"method": "MaxLeverage",
"symbol": "BTC_USDT",
"sync": true
}

响应字段:

字段类型描述
leverageNumber最大杠杆

响应示例:

"Ok": {
"leverage": 125
}

查询USDT余额

{
"account_id": 1,
"method": "UsdtBalance",
"sync": true
}

响应字段:

字段类型描述
assetString资产名称
balanceNumber总余额
available_balanceNumber可用余额
unrealized_pnlNumber未实现盈亏

响应示例:

"Ok": {
"asset": "USDT",
"balance": 1000.0,
"available_balance": 900.0,
"unrealized_pnl": 100.0
}

查询多币种余额

{
"account_id": 1,
"method": "Balance",
"sync": true
}

响应字段:

字段类型描述
assetString资产名称
balanceNumber总余额
available_balanceNumber可用余额
unrealized_pnlNumber未实现盈亏

响应示例:

"Ok": [
{
"asset": "BTC",
"balance": 1.0,
"available_balance": 0.8,
"unrealized_pnl": 0.0
},
{
"asset": "USDT",
"balance": 10000.0,
"available_balance": 8000.0,
"unrealized_pnl": 100.0
}
]

查询指定币种余额

{
"account_id": 1,
"asset": "BTC",
"method": "BalanceByCoin",
"sync": true
}

响应字段:

字段类型描述
assetString资产名称
balanceNumber总余额
available_balanceNumber可用余额
unrealized_pnlNumber未实现盈亏

响应示例:

"Ok": {
"asset": "BTC",
"balance": 1.0,
"available_balance": 0.8,
"unrealized_pnl": 0.0
}

获取手续费

{
"account_id": 1,
"method": "FeeRate",
"symbol": "BTC_USDT",
"sync": true
}

响应字段:

字段类型描述
takerNumberTaker手续费率
makerNumberMaker手续费率

响应示例:

"Ok": {
"taker": 0.0004,
"maker": 0.0002
}

查询是否双向持仓

{
"account_id": 1,
"method": "IsDualSidePosition",
"sync": true
}

响应示例:

"Ok": true

设置双向持仓

{
"account_id": 1,
"is_dual_side": true,
"method": "SetDualSidePosition",
"sync": true
}

响应:

响应示例:

"Ok": null

获取账户信息

{
"account_id": 1,
"method": "GetAccountInfo",
"sync": true
}

响应字段:

字段类型描述
total_mmrNumber总保证金率
total_equityNumber总权益
total_availableNumber总可用

响应示例:

"Ok": {
"total_mmr": 0.0,
"total_equity": 1234.56,
"total_available": 1234.56
}

获取账户模式

{
"account_id": 1,
"method": "GetAccountMode",
"sync": true
}

响应字段:

字段类型描述
account_modeAccountMode账户模式

AccountMode枚举

枚举名描述
Classic初始经典账户模型
SpotAndSwap现货和合约模式
MultiCurrency跨币种保证金模式
Portfolio组合保证金模式

响应示例:

"Ok": "MultiCurrency"

获取用户ID

{
"account_id": 1,
"method": "GetUserId",
"sync": true
}

响应示例:

"Ok": "user_12345"

查询交易所折扣信息

{
"account_id": 1,
"method": "GetFeeDiscountInfo",
"sync": true
}

响应字段:

字段类型描述
tokenString折扣币
rateNumber折扣率: 例如: 0.8 表示 八折

响应示例:

"Ok": {
"token": "USDT",
"rate": 0.85
}

查询账户是否开启原生币手续费折扣

{
"account_id": 1,
"method": "IsFeeDiscountEnabled",
"sync": true
}

响应字段:

字段类型描述
is_enabledBoolean是否开启原生币手续费折扣

响应示例:

"Ok": true

开关账户原生币手续费折扣

{
"account_id": 1,
"enable": true,
"method": "SetFeeDiscountEnabled",
"sync": true
}

响应:

响应示例:

"Ok": null

查询24h交易信息

{
"account_id": 1,
"method": "Ticker",
"symbol": "BTC_USDT",
"sync": true
}

响应字段

字段类型描述
symbolString交易对名称
timestampNumber时间戳
highNumber最高价
lowNumber最低价
openNumber开盘价
closeNumber收盘价
volumeNumber成交量,基础货币
quote_volumeNumber成交额, 报价货币
changeNumber涨跌幅
change_percentNumber涨跌幅百分比

响应示例:

"Ok": [
{
"symbol": "BTC_USDT",
"timestamp": 1678234567000,
"high": 50000.0,
"low": 49000.0,
"open": 49500.0,
"close": 50000.0,
"volume": 1000.0,
"quote_volume": 5000000.0,
"change": 500.0,
"change_percent": 0.01
}
]

查询所有交易对的24h交易信息

{
"account_id": 1,
"method": "Tickers",
"sync": true
}

响应字段

同Ticker

响应示例:

"Ok": [
{
"symbol": "BTC_USDT",
"timestamp": 1678234567000,
"high": 50000.0,
"low": 49000.0,
"open": 49500.0,
"close": 50000.0,
"volume": 1000.0,
"quote_volume": 5000000.0,
"change": 500.0,
"change_percent": 0.01
}
]

查询最佳买卖价

{
"account_id": 1,
"method": "Bbo",
"symbol": "BTC_USDT",
"sync": true
}

响应字段:

字段类型描述
symbolString交易对名称
bid_priceNumber最佳买单价格
bid_qtyNumber最佳买单数量
ask_priceNumber最佳卖单价格
ask_qtyNumber最佳卖单数量
timestampNumber时间戳

响应示例:

"Ok": [
{
"symbol": "BTC_USDT",
"bid_price": 50000.0,
"bid_qty": 1000.0,
"ask_price": 51000.0,
"ask_qty": 1000.0,
"timestamp": 1678234567000
}
]

查询所有交易对的最佳买卖价

{
"account_id": 1,
"method": "BboTickers",
"sync": true
}

响应字段:

同Bbo

响应示例:

"Ok": [
{
"symbol": "BTC_USDT",
"bid_price": 50000.0,
"bid_qty": 1000.0,
"ask_price": 51000.0,
"ask_qty": 1000.0,
"timestamp": 1678234567000
}
]

查询深度

{
"account_id": 1,
"limit": 20,
"method": "Depth",
"symbol": "BTC_USDT",
"sync": true
}

响应字段:

字段类型描述
symbolString交易对名称
timestampNumber时间戳
bidsArray(DepthEntry)买单深度
asksArray(DepthEntry)卖单深度

DepthEntry 数据结构:

字段类型描述
priceNumber价格
amountNumber数量

响应示例:

"Ok": {
"symbol": "BTC_USDT",
"timestamp": 1678234567000,
"bids": [
[50000.0, 1000.0],
[49990.0, 1000.0]
],
"asks": [
[51000.0, 1000.0],
[51010.0, 1000.0]
]
}

查询产品信息

{
"account_id": 1,
"method": "Instrument",
"symbol": "BTC_USDT",
"sync": true
}

响应字段:

字段类型描述
symbolString交易对名称
stateString交易状态
price_tickNumber价格步长
amount_tickNumber数量步长
price_precisionNumber交易所的价格小数位
amount_precisionNumber交易所的数量小数位
min_qtyNumber数量下限, 最小下单数量
min_notionalNumber最小名义价值,仅币安/bitget有该规则
price_multiplierNumber价格乘数
amount_multiplierNumber数量乘数

交易状态:

  • Normal: 正常
  • Maintenance: 交易所维护
  • LimitOpen: 限制开仓
  • CloseOnly: 关闭交易

响应示例:

"Ok": {
"symbol": "BTC_USDT",
"state": "Normal",
"price_tick": 0.1,
"amount_tick": 0.001,
"price_precision": 1,
"amount_precision": 3,
"min_qty": 0.001,
"min_notional": 5.0,
"price_multiplier": 1.0,
"amount_multiplier": 1.0
}

查询所有产品信息

{
"account_id": 1,
"method": "Instruments",
"sync": true
}

响应字段:

同Instrument

响应示例:

"Ok": [
{
"symbol": "BTC_USDT",
"state": "Normal",
"price_tick": 0.1,
"amount_tick": 0.001,
"price_precision": 1,
"amount_precision": 3,
"min_qty": 0.001,
"min_notional": 5.0,
"price_multiplier": 1.0,
"amount_multiplier": 1.0
}
]

查询资金费率

{
"account_id": 1,
"method": "FundingRate",
"sync": true
}

响应字段:

字段类型描述必填
symbolString交易对名称
funding_rateNumber当前资金费率
next_funding_atNumber下次资金费时间戳
funding_intervalNumber资金费结算周期,以小时为单位

响应示例:

"Ok": [
{
"symbol": "BTC_USDT",
"funding_rate": 0.0001,
"next_funding_at": 1678234567000,
"funding_interval": 8
}
]

查询单个交易对资金费率

{
"account_id": 1,
"method": "FundingRateBySymbol",
"symbol": "BTC_USDT",
"sync": true
}

响应字段:

同FundingRate

响应示例:

"Ok": [
{
"symbol": "BTC_USDT",
"funding_rate": 0.0001,
"next_funding_at": 1678234567000,
"funding_interval": 8
}
]

标记价格

{
"account_id": 1,
"method": "MarkPrice",
"symbol": "BTC_USDT",
"sync": true
}

响应字段:

字段类型描述
symbolString交易对名称
mark_priceNumber标记价格
timestampNumber时间戳

响应示例:

"Ok": {
"symbol": "BTC_USDT",
"mark_price": 50000.0,
"timestamp": 1678234567000
}

异步命令

异步命令会通过回调或事件返回结果。

信息

异步命令的返回值仅表示命令已成功发送,实际执行结果将通过对应的回调函数返回。例如:异步下单结果在 on_order_submitted 中返回,修改订单、批量下单、批量撤单等操作均遵循此机制。

异步下单

{
"account_id": 1,
"method": "PlaceOrder",
"order": {
"amount": 0.1,
"cid": "client123456",
"filled": 0.0,
"filled_avg_price": 0.0,
"id": "",
"order_type": "Limit",
"pos_side": "Long",
"price": 50000.0,
"quote_amount": null,
"side": "Buy",
"source": "Order",
"status": "Open",
"symbol": "BTC_USDT",
"time_in_force": "GTC",
"timestamp": 0
},
"params": {
"is_dual_side": false,
"leverage": 10,
"margin_mode": "Cross",
"market_order_mode": "Safe",
"market_order_slippage": 0.002
},
"sync": false
}

响应字段:

字段类型描述
OkString订单ID

响应示例:

"Ok": "order_12345"

异步批量下单

{
"account_id": 1,
"method": "BatchPlaceOrder",
"orders": [
{
"amount": 0.1,
"cid": "client123456",
"filled": 0.0,
"filled_avg_price": 0.0,
"id": "",
"order_type": "Limit",
"pos_side": "Long",
"price": 50000.0,
"quote_amount": null,
"side": "Buy",
"source": "Order",
"status": "Open",
"symbol": "BTC_USDT",
"time_in_force": "GTC",
"timestamp": 0
},
{
"amount": 1.0,
"cid": "client789012",
"filled": 0.0,
"filled_avg_price": 0.0,
"id": "",
"order_type": "Limit",
"pos_side": "Short",
"price": 3000.0,
"quote_amount": null,
"side": "Sell",
"source": "Order",
"status": "Open",
"symbol": "ETH_USDT",
"time_in_force": "GTC",
"timestamp": 0
}
],
"params": {
"is_dual_side": false,
"leverage": 10,
"margin_mode": "Cross",
"market_order_mode": "Safe",
"market_order_slippage": 0.002
},
"sync": false
}

响应字段:

字段类型描述
BatchOrderRspBatchOrderRsp订单列表

响应示例:

"Ok": {
"success_list": [
{
"id": "order id",
"cid": null
},
{
"id": null,
"cid": "order client id"
}
],
"failure_list": [
{
"id": "order id",
"cid": null,
"error_code": 0,
"error": "error"
},
{
"id": null,
"cid": "order client id",
"error_code": 0,
"error": "error"
}
]
}

异步修改订单

{
"account_id": 1,
"method": "AmendOrder",
"order": {
"amount": 0.15,
"cid": "client123456",
"filled": 0.0,
"filled_avg_price": 0.0,
"id": "",
"order_type": "Limit",
"pos_side": null,
"price": 52000.0,
"quote_amount": null,
"side": "Buy",
"source": "Order",
"status": "Open",
"symbol": "BTC_USDT",
"time_in_force": "GTC",
"timestamp": 0
},
"sync": false
}

响应字段:

字段类型描述
OkString订单ID

响应示例:

"Ok": "order_12345"

异步撤单

{
"account_id": 1,
"method": "CancelOrder",
"order_id": {
"Id": "test_order_id"
},
"symbol": "BTC_USDT",
"sync": false
}

响应字段:

成功返回 Ok:null

响应示例:

"Ok": null

异步批量撤单

{
"account_id": 1,
"method": "BatchCancelOrder",
"symbol": "BTC_USDT",
"sync": false
}

响应字段:

字段类型描述
BatchOrderRspBatchOrderRsp订单列表

响应示例:

"Ok": {
"success_list": [
{
"id": "order id",
"cid": null
},
{
"id": null,
"cid": "order client id"
}
],
"failure_list": [
{
"id": "order id",
"cid": null,
"error_code": 0,
"error": "error"
},
{
"id": null,
"cid": "order client id",
"error_code": 0,
"error": "error"
}
]
}

异步批量撤单根据订单ID

{
"account_id": 1,
"cids": [
"client1",
"client2"
],
"ids": [
"order1",
"order2"
],
"method": "BatchCancelOrderById",
"symbol": "BTC_USDT",
"sync": false
}

响应字段:

字段类型描述
BatchOrderRspBatchOrderRsp订单列表

响应示例:

"Ok": {
"success_list": [
{
"id": "order id",
"cid": null
},
{
"id": null,
"cid": "order client id"
}
],
"failure_list": [
{
"id": "order id",
"cid": null,
"error_code": 0,
"error": "error"
},
{
"id": null,
"cid": "order client id",
"error_code": 0,
"error": "error"
}
]
}

错误处理

所有API在发生错误时会返回以下格式:

错误响应示例:

{
"命令名": {
"Err": {
"code": 10001, // 错误码
"error": "错误描述",
"location": "错误位置"
}
}
}

通用枚举值

订单状态(status)

  • Open - 未成交
  • PartiallyFilled - 部分成交
  • Filled - 全部成交
  • Canceled - 已取消

订单类型 (order_type):

  • Limit: 限价单
  • Market: 市价单

订单方向 (side):

  • Buy: 买入
  • Sell: 卖出

持仓方向 (pos_side):

  • Long: 多仓
  • Short: 空仓

订单有效期 (time_in_force):

  • GTC: Good Till Cancel, 一直有效直到取消
  • IOC: Immediate or Cancel, 立即成交或取消
  • FOK: Fill or Kill, 完全成交或取消

保证金模式 (margin_mode):

  • Cross: 全仓模式
  • Isolated: 逐仓模式

交易对状态 (state):

  • Normal: 正常交易
  • Suspended: 暂停交易