REST API 命令列表[旧版]
本文档描述了交易系统支持的所有REST API命令及其请求/响应格式。
API接口概览
- Sync: 同步命令
- Async: 异步命令
异步命令的返回值仅表示命令已成功发送,实际执行结果将通过对应的回调函数返回。例如:异步下单结果在 on_order_submitted 中返回,修改订单、批量下单、批量撤单等操作均遵循此机制。
自定义请求
| 接口 | Sync | Async |
|---|---|---|
| Request | √ |
公共行情
| 接口 | Sync | Async |
|---|---|---|
| Ticker | √ | |
| Bbo | √ | |
| Depth | √ | |
| Instrument | √ | |
| FundingRate | √ |
订单操作
| 接口 | Sync | Async |
|---|---|---|
| GetOrders | √ | |
| GetOrderById | √ | |
| GetOpenOrders | √ | |
| GetAllOpenOrders | √ | |
| PlaceOrder | √ | √ |
| BatchPlaceOrder | √ | √ |
| AmendOrder | √ | √ |
| CancelOrder | √ | √ |
| BatchCancelOrder | √ | √ |
| BatchCancelOrderById | √ | √ |
账户操作
API 接口详情
完整的请求体
请求参数
| 参数 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| exchange | String | 是 | 交易所详情 |
| account_id | Number | 是 | 账户ID |
| context | Object | 是 | 上下文信息 |
| cmd | Object | 是 | 命令详情 |
请求示例:
{
"exchange": "BinanceSwap",
"account_id": 0,
"context": {
"latency": {
"timer": 1731049492802925100,
"times": {
"strategy_begin": null,
"strategy_end": null,
"ex_command_begin": null,
"place_order_end": null,
"amend_end": null
},
"label_times": {
"start": 0.0
},
"label_duration_metas": []
},
"request_id": null
},
{
...
}
}
自定义请求
Request
自定义请求
请求参数:
| 参数 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| method | String | 是 | HTTP方法: GET/POST/PUT/DELETE |
| path | String | 是 | API路径 |
| auth | Boolean | 是 | 是否需要认证 |
| params | Object | 否 | 请求参数 |
| url | String | 否 | 完整URL(设置后path无效) |
| headers | Object | 否 | 自定义请求头 |
请求示例:
{
"Sync": {
"Request": {
"method": "GET",
"path": "/api/v1/ticker",
"auth": false,
"params": {
"symbol": "BTC_USDT"
}
}
}
}
响应:
返回交易所原始响应数据
响应示例:
"Ok": {
// 交易所返回的原始数据
}
公共行情
Ticker
获取给定/所有交易对24h交易信息
请求参数:
| 参数 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| Ticker | String/null | 是 | 交易对名称,null表示查询所有 |
示例:
// 查询给定交易对行情
{
"Sync": {
"Ticker": "BTC_USDT"
}
}
// 查询所有交易对行情
{
"Sync": {
"Ticker": null
}
}
响应字段
| 字段 | 类型 | 描述 |
|---|---|---|
| symbol | String | 交易对名称 |
| timestamp | Number | 时间戳 |
| high | Number | 最高价 |
| low | Number | 最低价 |
| open | Number | 开盘价 |
| close | Number | 收盘价 |
| volume | Number | 成交量,基础货币 |
| quote_volume | Number | 成交额, 报价货币 |
| change | Number | 涨跌幅 |
| change_percent | Number | 涨跌幅百分比 |
响应示例:
"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
}
]
Bbo
获取给定交易对的最佳报价
请求参数:
| 参数 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| Bbo | String/null | 是 | 交易对名称,null表示查询所有 |
示例:
// 查询给定交易对最佳报价
{
"Sync": {
"Bbo": "BTC_USDT"
}
}
// 查询所有交易对最佳报价
{
"Sync": {
"Bbo": null
}
}
响应字段:
| 字段 | 类型 | 描述 |
|---|---|---|
| symbol | String | 交易对名称 |
| bid_price | Number | 最佳买单价格 |
| bid_qty | Number | 最佳买单数量 |
| ask_price | Number | 最佳卖单价格 |
| ask_qty | Number | 最佳卖单数量 |
| timestamp | Number | 时间戳 |
响应示例:
"Ok": [
{
"symbol": "BTC_USDT",
"bid_price": 50000.0,
"bid_qty": 1000.0,
"ask_price": 51000.0,
"ask_qty": 1000.0,
"timestamp": 1678234567000
}
]
Depth
获取给定交易对的深度信息
请求参数:
| 参数 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| Depth | String | 是 | 交易对名称 |
| limit | Number/null | 否 | 深度条数,默认5 |
示例:
// 查询给定交易对深度
{
"Sync": {
"Depth": ["BTC_USDT",10]
}
}
响应字段:
| 字段 | 类型 | 描述 |
|---|---|---|
| symbol | String | 交易对名称 |
| timestamp | Number | 时间戳 |
| bids | Array(DepthEntry) | 买单深度 |
| asks | Array(DepthEntry) | 卖单深度 |
DepthEntry 数据结构:
| 字段 | 类型 | 描述 |
|---|---|---|
| price | Number | 价格 |
| amount | Number | 数量 |
响应示例:
"Ok": {
"symbol": "BTC_USDT",
"timestamp": 1678234567000,
"bids": [
[50000.0, 1000.0],
[49990.0, 1000.0]
],
"asks": [
[51000.0, 1000.0],
[51010.0, 1000.0]
]
}
Instrument
获取给定/所有交易对的合约信息
请求参数:
| 参数 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| Instrument | String/null | 是 | 交易对名称,null表示查询所有 |
示例:
// 查询BTC_USDT合约信息
{
"Sync": {
"Instrument": "BTC_USDT"
}
}
// 查询所有合约信息
{
"Sync": {
"Instrument": null
}
}
响应字段:
| 字段 | 类型 | 描述 |
|---|---|---|
| symbol | String | 交易对名称 |
| state | String | 交易状态 |
| price_tick | Number | 价格步长 |
| amount_tick | Number | 数量步长 |
| price_precision | Number | 交易所的价格小数位 |
| amount_precision | Number | 交易所的数量小数位 |
| min_qty | Number | 数量下限, 最小下单数量 |
| min_notional | Number | 最小名义价值,仅币安/bitget有该规则 |
| price_multiplier | Number | 价格乘数 |
| amount_multiplier | Number | 数量乘数 |
交易状态:
- 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
}
FundingRate
获取交易对的资金费率
请求参数:
| 参数 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| FundingRate | String/null | 是 | 交易对名称,null表示查询所有 |
示例:
// 查询BTC_USDT资金费率
{
"Sync": {
"FundingRate": "BTC_USDT"
}
}
响应字段:
| 字段 | 类型 | 描述 | 必填 |
|---|---|---|---|
| symbol | String | 交易对名称 | 是 |
| funding_rate | Number | 当前资金费率 | 是 |
| next_funding_at | Number | 下次资金费时间戳 | 是 |
| funding_interval | Number | 资金费结算周期,以小时为单位 | 否 |
响应示例:
"Ok": [
{
"symbol": "BTC_USDT",
"funding_rate": 0.0001,
"next_funding_at": 1678234567000,
"funding_interval": 8
}
]
订单操作
GetOrders
获取给定交易对的历史订单
请求参数:
| 参数 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| GetOrders | String | 是 | 交易对名称,例如 "BTC_USDT" |
| start_time | Number | 是 | 开始时间戳。毫秒 |
| end_time | Number | 是 | 结束时间戳, 毫秒 |
请求示例:
{
"Sync": {
"GetOrders": [
"BTC_USDT",
0,
1678234567000
]
}
}
响应字段:
| 字段 | 类型 | 描述 |
|---|---|---|
| id | String | 订单ID |
| symbol | String | 交易对名称 |
| status | Sting | 订单状态 |
| order_type | String | 订单类型: Limit/Market |
| side | String | 交易方向: Buy/Sell |
| pos_side | String | 持仓方向: Long/Short |
| price | Number | 委托价格 |
| amount | Number | 委托数量 |
| filled | Number | 已成交数量 |
| filled_avg_price | Number | 成交均价 |
响应示例:
"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
}
]
GetOrderById
获取订单详情
请求参数:
| 参数 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| symbol | Symbol | 是 | 交易对名称,例如 "BTC_USDT" |
| Id | OrderId | 是 | 订单Id或者客户端自定义Id |
OrderId
| 参数 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| Id | String | 是 | 订单Id |
| ClientOrderId | String | 是 | 客户端自定义Id |
请求示例: 根据订单Id查询
{
"Sync": {
"GetOrderById": [
"BTC_USDT",
{
"Id": "test1"
}
]
}
}
请求示例: 根据客户自定义订单Id查询
{
"Sync": {
"GetOrderById": [
"BTC_USDT",
{
"ClientOrderId": "test2"
}
]
}
}
响应字段:
| 字段 | 类型 | 描述 |
|---|---|---|
| id | String | 订单ID |
| symbol | String | 交易对名称 |
| status | Sting | 订单状态 |
| order_type | String | 订单类型: Limit/Market |
| side | String | 交易方向: Buy/Sell |
| pos_side | String | 持仓方向: Long/Short |
| price | Number | 委托价格 |
| amount | Number | 委托数量 |
| filled | Number | 已成交数量 |
| filled_avg_price | Number | 成交均价 |
响应示例:
"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
}
]
GetOpenOrders
获取当前交易对挂单
请求参数:
| 参数 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| GetOpenOrders | String | 是 | 交易对名称 |
请求示例:
{
"Sync": {
"GetOpenOrders": "BTC_USDT"
}
}
响应字段:
同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
}
]
GetAllOpenOrders
获取当前所有挂单
请求示例:
{
"Sync": "GetAllOpenOrders"
}
响应字段:
同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
},
]
PlaceOrder
下单
请求参数:
| 参数 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| cid | String | 否 | 客户端自定义订单ID |
| symbol | String | 是 | 交易对名称 |
| order_type | String | 是 | 订单类型: Limit/Market |
| side | String | 是 | 交易方向: Buy/Sell |
| pos_side | String | 是 | 持仓方向: Long/Short |
| price | Number | 限价单必须 | 委托价格 |
| amount | Number | 是 | 委托数量 |
| time_in_force | String | 否 | 有效期类型: GTC/IOC/FOK/PostOnly |
| -以下需要另起一个对象- | -- | -- | -- |
| is_dual_side | Boolean | 是 | 是否开启双向持仓 |
| leverage | Number | 否 | 杠杆倍数,仅huobi需要 |
| margin_mode | String | 否 | 保证金模式: Cross/Isolated,仅okx需要 |
| take_profit | Number | 否 | 止盈价格 |
| stop_loss | Number | 否 | 止损价格 |
| leverage_order_mode | String | 否 | 杠杆订单模式, Normal: 普通下单; AutoLoan: 自动借款下单, AutoRepay: 自动还款下单; AutoLoanAndRepay: 自动借款还款下单 |
| market_order_mode | String | 否 | 市价单模式, Safe:安全市价单,订单必须传价格,会变成ioc加滑点下单,默认滑点为0.2%,可以传入滑点参数; Normal: 普通市价单,订单可以不传价格 |
请求示例:
{
"Sync": {
"PlaceOrder": [
{
"cid": "test1234567",
"symbol": "BTC_USDT",
"order_type": "Limit",
"side": "Buy",
"pos_side": "Long",
"price": 50000.0,
"amount": 0.1,
"time_in_force": "GTC"
},
{
"is_dual_side": false,
"leverage": 10,
"margin_mode": "Cross",
"take_profit": null,
"stop_loss": null,
"leverage_order_mode": null,
"market_order_mode":{
"Safe":{
"slippage":0.002
},
}
}
]
}
}
market_order_mode可传入值如下所示:
{"market_order_mode":{"Safe":{"slippage":0.002}}} 安全市价单, 可以传入滑点参数
{"market_order_mode":{"Safe":null}} 安全市价单,默认滑点为0.2%
{"market_order_mode":"Normal"} 普通市价单
响应字段:
| 字段 | 类型 | 描述 |
|---|---|---|
| Ok | String | 订单ID |
响应示例:
"Ok": "order_12345"
BatchPlaceOrder
批量下单
请求参数:
| 参数 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| BatchPlaceOrder | Array/Object | 是 | 订单数组,每个订单的参数同PlaceOrder |
| BatchPlaceOrder.params | Object | 是 | 订单共同参数,同PlaceOrder |
请求示例:
{
"Sync": {
"BatchPlaceOrder": [
[
{
"symbol": "BTC_USDT",
"order_type": "Limit",
"side": "Buy",
"pos_side": "Long",
"price": 50000.0,
"amount": 0.1
},
{
"symbol": "BTC_USDT",
"order_type": "Limit",
"side": "Sell",
"pos_side": "Short",
"price": 51000.0,
"amount": 0.1
}
],
{
"is_dual_side": false,
"leverage": 10
}
]
}
}
响应字段:
| 字段 | 类型 | 描述 |
|---|---|---|
| BatchOrderRsp | BatchOrderRsp | 订单列表 |
响应示例:
"Ok": {
"success_list": [
{
"id": "order id",
"cid": null
},
{
"id": null,
"cid": "orde 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"
}
]
}
AmendOrder
修改订单
请求参数:
| 参数 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| id | String | 否 | 订单ID, id和cid必须有一个 |
| cid | String | 否 | 客户端自定义订单ID |
| symbol | String | 是 | 交易对名称 |
| order_type | String | 是 | 订单类型: Limit/Market |
| side | String | 是 | 交易方向: Buy/Sell |
| pos_side | String | 是 | 持仓方向: Long/Short |
| price | Number | 限价单必须 | 委托价格 |
| amount | Number | 是 | 委托数量 |
| time_in_force | String | 否 | 有效期类型: GTC/IOC/FOK |
请求示例:
{
"Sync": {
"AmendOrder":{
"id": "order_12345",
"symbol": "BTC_USDT",
"order_type": "Limit",
"side": "Buy",
"pos_side": "Long",
"price": 50000.0,
"amount": 0.1
}
}
}
响应字段:
| 字段 | 类型 | 描述 |
|---|---|---|
| Ok | String | 订单ID |
响应示例:
"Ok": "order_12345"
CancelOrder
撤单
请求参数:
| 参数 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| Id | String | 否 | 订单ID,Id和ClientOrderId必须有一个 |
| ClientOrderId | String | 否 | 客户自定义的订单ID |
| Symbol | String | 是 | 交易对名称 |
请求示例:
{
"Async": {
"CancelOrder": [
{
"Id": "test"
// 或者
// "ClientOrderId": "test"
},
"BTC_USDT"
]
}
}
响应字段:
成功返回 Ok:null
响应示例:
"Ok": null
BatchCancelOrder
批量撤单
请求参数:
| 参数 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| BatchCancelOrder | String | 是 | 交易对名称 |
请求示例:
{
"Async": {
"BatchCancelOrder": "BTC_USDT"
}
}
响应字段:
| 字段 | 类型 | 描述 |
|---|---|---|
| BatchOrderRsp | BatchOrderRsp | 订单列表 |
响应示例:
"Ok": {
"success_list": [
{
"id": "order id",
"cid": null
},
{
"id": null,
"cid": "orde 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"
}
]
}
BatchCancelOrderById
根据订单id或者客户端id批量撤单
请求参数:
| 参数 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| Symbol | String | 否 | 表示要取消的订单的交易对。部分交易所不需要传: KrakenSpot、KucoinSwap(通过order_id撤单时)、BitgetSwap(通过order_id撤单时) |
| Ids | Array[String] | 否 | 订单Id数组 |
| Cids | Array[String] | 否 | 客户自定义订单Id数组 |
Ids和Cids至少一个不为空
请求示例:
{
"Sync": {
"BatchCancelOrderById": [
"BTC_USDT",
[
"order-id-1"
],
[
"order-client-id-2"
]
]
}
}
响应字段:
| 字段 | 类型 | 描述 |
|---|---|---|
| BatchOrderRsp | BatchOrderRsp | 订单列表 |
响应示例:
"Ok": {
"success_list": [
{
"id": "order id",
"cid": null
},
{
"id": null,
"cid": "orde 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"
}
]
}
账户操作
UsdtBalance
查询USDT余额
请求示例:
{
"Sync": "UsdtBalance"
}
响应字段:
| 字段 | 类型 | 描述 |
|---|---|---|
| asset | String | 资产名称 |
| balance | Number | 总余额 |
| available_balance | Number | 可用余额 |
| unrealized_pnl | Number | 未实现盈亏 |
响应示例:
"Ok": {
"asset": "USDT",
"balance": 1000.0,
"available_balance": 900.0,
"unrealized_pnl": 100.0
}
Balance
查询多币种余额
请求示例:
{
"Sync": "Balance"
}
响应字段:
| 字段 | 类型 | 描述 |
|---|---|---|
| asset | String | 资产名称 |
| balance | Number | 总余额 |
| available_balance | Number | 可用余额 |
| unrealized_pnl | Number | 未实现盈亏 |
响应示例:
"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
}
]
BalanceByCoin
查询指定币种余额
请求参数:
| 参数 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| symbol | String | 是 | 交易对名称 |
请求示例:
{
"Sync": {
"BalanceByCoin": "USDT"
}
}
响应字段:
| 字段 | 类型 | 描述 |
|---|---|---|
| asset | String | 资产名称 |
| balance | Number | 总余额 |
| available_balance | Number | 可用余额 |
| unrealized_pnl | Number | 未实现盈亏 |
响应示例:
"Ok": {
"asset": "USDT",
"balance": 1000.0,
"available_balance": 900.0,
"unrealized_pnl": 100.0
}
Position
查询账户下给定交易对/所有持仓
请求参数:
| 参数 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| Position | String/null | 否 | 交易对名称,null表示查询所有 |
请求示例:
// 查询给定交易对持仓
{
"Sync": {
"Position": "BTC_USDT"
}
}
// 查询所有持仓
{
"Sync": {
"Position": null
}
}
响应字段:
| 字段 | 类型 | 描述 |
|---|---|---|
| symbol | String | 交易对名称 |
| timestamp | Number | 时间戳 |
| margin_mode | String | 保证金模式: Cross/Isolated |
| side | String | 持仓方向: Long/Short |
| leverage | Number | 杠杆倍数 |
| amount | Number | 持仓数量 |
| entry_price | Number | 开仓均价 |
| unrealized_pnl | Number | 未实现盈亏 |
响应示例:
"Ok": [
{
"symbol": "BTC_USDT",
"timestamp": 1678234567000,
"margin_mode": "Cross",
"side": "Long",
"leverage": 10,
"amount": 0.1,
"entry_price": 50000.0,
"unrealized_pnl": 100.0
}
]
MaxPosition
最大持仓
请求参数:
| 参数 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| symbol | String | 是 | 交易对名称 |
| leverage | Number | 是 | 杠杆 |
请求示例:
{
"Sync": {
"MaxPosition": [
"BTC_USDT",
10
]
}
}
响应字段:
| 字段 | 类型 | 描述 |
|---|---|---|
| long | PositionValue | 多仓最大持仓 |
| short | PositionValue | 空仓最大持仓 |
PositionValue: Notional: 最大持仓价值 Quantity: 最大持仓数量
响应示例:
"Ok": {
"long": {
"Notional": 10000000.0
},
"short": {
"Quantity": 100.0
}
}
MaxLeverage
最大杠杆
请求参数:
| 参数 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| symbol | String | 是 | 交易对名称 |
请求示例:
{
"Sync": {
"MaxLeverage": "BTC_USDT"
}
}
响应字段:
| 字段 | 类型 | 描述 |
|---|---|---|
| leverage | Number | 最大杠杆 |
响应示例:
"Ok": {
"long": {
"Notional": 10000000.0
},
"short": {
"Quantity": 100.0
}
}
MarginMode
查询保证金模式 全仓/逐仓
请求参数:
| 参数 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| symbol | String | 是 | 交易对名称 |
| coin | String | 是 | 保证金币种 |
请求示例:
{
"Sync": {
"MarginMode": [
"BTC_USDT",
"USDT"
]
}
}
响应字段:
| 字段 | 类型 | 描述 |
|---|---|---|
| margin_mode | MarginMode | 保证金模式: Cross/Isolated |
响应示例:
"Ok": "Cross"
SetMarginMode
设置保证金模式 全仓/逐仓
请求参数:
| 参数 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| symbol | String | 是 | 交易对名称 |
| coin | String | 是 | 保证金币种 |
| margin_mode | MarginMode | 是 | 保证金模式: Cross/Isolated |
请求示例:
{
"Sync": {
"SetMarginMode": [
"BTC_USDT",
"USDT",
"Cross"
]
}
}
响应字段:
| 字段 | 类型 | 描述 |
|---|---|---|
| result | Result | 结果 Ok/Err |
响应示例:
"Ok": null
FeeRate
查询手续费率
请求参数:
| 参数 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| Feerate | String | 是 | 交易对名称 |
请求示例:
{
"Sync": {
"FeeRate": "BTC_USDT"
}
}
响应字段:
| 字段 | 类型 | 描述 |
|---|---|---|
| taker | Number | Taker手续费率 |
| maker | Number | Maker手续费率 |
响应示例:
"Ok": {
"taker": 0.0004,
"maker": 0.0002
}
SetLeverage
设置杠杆
请求参数:
| 参数 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| symbol | String | 是 | 交易对名称 |
| leverage | Number | 是 | 杠杆倍数 |
请求示例:
{
"Sync": {
"SetLeverage": [
"BTC_USDT",
1
]
}
}
响应:
响应示例:
"Ok": null
SetDualSidePosition
设置双向持仓
请求参数:
| 参数 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| SetDualSidePosition | Boolean | 是 | true:开启双向持仓, false:单向持仓 |
请求示例:
{
"Sync": {
"SetDualSidePosition": true
}
}
响应:
响应示例:
"Ok": null
IsDualSidePosition
查询是否双向持仓
请求示例:
{
"Sync": "IsDualSidePosition"
}
响应示例:
"Ok": true
Transfer
万向划转
请求参数:
| 参数 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| asset | String | 是 | 币种 |
| amount | Number | 是 | 划转数量 |
| from | WalletType | 是 | 转出账户类型,本质是String |
| to | WalletType | 是 | 转入账户类型 |
WalletType:
- Spot: 现货钱包
- UsdtFuture: U本位合约钱包
- CoinFuture: 币本位合约钱包
- Margin: 杠杆全仓钱包
- IsolatedMargin: 杠杆逐仓钱包
请求示例:
{
"Sync": {
"Transfer": {
"asset": "USDT",
"amount": 1.0,
"from": "Spot",
"to": "CoinFuture"
}
}
}
GetAccountInfo
获取账户信息
请求示例:
{
"Sync": "GetAccountInfo"
}
响应字段:
| 字段 | 类型 | 描述 |
|---|---|---|
| total_mmr | Number | 总保证金率 |
| total_equity | Number | 总权益 |
| total_available | Number | 总可用 |
响应示例:
"Ok": {
"total_mmr": 0.0,
"total_equity": 1234.56,
"total_available": 1234.56
}
Borrow
借币
请求参数:
| 参数 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| coin | String | 是 | 币种 |
| amount | Number | 是 | 数量 |
请求示例:
{
"Sync": {
"Borrow": [
"USDT",
100.0
]
}
}
响应:
响应示例:
"Ok": null
GetBorrowed
获取借币数量
请求参数:
| 参数 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| coin | String | 是 | 币种 |
请求示例:
{
"Sync": {
"GetBorrowed": "USDT"
}
}
响应字段:
| 字段 | 类型 | 描述 |
|---|---|---|
| borrow | Array[Borrow] | 当前借币详情 |
Borrow
| 字段 | 类型 | 描述 |
|---|---|---|
| coin | String | 是 |
| amount | Number | 是 |
响应示例:
"Ok": [
{
"coin": "USDT",
"amount": 100.0
}
]
Repay
还币
请求参数:
| 参数 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| coin | String | 是 | 币种 |
| amount | Number | 是 | 数量 |
请求示例:
{
"Sync": {
"Repay": [
"USDT",
100.0
]
}
}
响应:
响应示例:
"Ok": null
GetBorrowRate
获取借贷利率
请求参数:
| 参数 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| coin | String | 否 | 币种 |
请求示例:
{
"Sync": {
"GetBorrowRate": "USDT"
}
}
响应示例:
"Ok": [
{
"ccy": "USDT",
"rate": 0.0001
}
]
GetBorrowLimit
获取借贷利率
请求参数:
| 参数 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| is_vip | bool | 否 | 是否是vip |
| coin | String | 是 | 币种 |
请求示例:
{
"Sync": {
"GetBorrowLimit": [
null,
"USDT"
]
}
}
响应字段:
| 字段 | 类型 | 描述 |
|---|---|---|
| debt | Number | 当前负债 |
| interest | Number | 当前计息 |
| coin | String | 借贷币种 |
| rate | String | 日利率 |
| borrow_limit | String | 可借贷限额 |
| vip_detail | Object | 尊享用户详情(okx) |
VipDetail 尊享用户详情
| 字段 | 类型 | 描述 |
|---|---|---|
| pos_loan | Number | 当前账户负债占用 |
| available_loan | Number | 当前账户剩余可用 |
| used_loan | Number | 当前账户已借额度 |
响应示例:
"Ok": {
"debt": 0.0,
"interest": 0.0,
"coin": "USDT",
"rate": 0.0001,
"borrow_limit": 1000.0,
"vip_detail": {
"pos_loan": 0.0,
"available_loan": 0.0,
"used_loan": 0.0
}
}
GetAccountMode
获取账户模式
请求示例:
{
"Sync": "GetAccountMode"
}
响应字段:
| 字段 | 类型 | 描述 |
|---|---|---|
| account_mode | AccountMode | 账户模式 |
AccountMode枚举
| 枚举名 | 描述 |
|---|---|
| Classic | 初始经典账户模型 |
| SpotAndSwap | 现货和合约模式 |
| MultiCurrency | 跨币种保证金模式 |
| Portfolio | 组合保证金模式 |
响应示例:
"Ok": "MultiCurrency"
SetAccountMode
设置账户模式
请求参数:
| 参数 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| account_mode | AccountMode | 是 | 账户模式 |
请求示例:
{
"Sync": {
"SetAccountMode": "MultiCurrency"
}
}
响应:
响应示例:
"Ok": null
FundingFee
获取历史资金结算费用
请求参数:
| 参数 | 类型 | 是否必须 | 描述 |
|---|---|---|---|
| symbol | String | 交易对名称 | 是 |
| start_time | Number | 开始时间戳 | 否 |
| end_time | Number | 结束时间戳 | 否 |
示例:
{
"Sync": {
"FundingFee":
[
"BTC_USDT",
1678234567000,
1678234667000
]
}
}
响应字段:
| 字段 | 类型 | 描述 |
|---|---|---|
| symbol | String | 交易对名称 |
| timestamp | Number | 时间戳 |
| funding_fee | Number | 资金费率 |
响应示例:
"Ok": [
{
"symbol": "BTC_USDT",
"timestamp": 1678234567000,
"funding_fee": 0.0001
},
{
"symbol": "BTC_USDT",
"timestamp": 1678234567000,
"funding_fee": 0.0001
}
]
错误处理
所有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: 暂停交易