跳到主要内容
版本:最新

错误码参考

所有 API 响应都遵循统一格式。发生错误时,响应中会返回错误码与错误消息。

响应格式

成功响应

{
"code": 0,
"msg": "success",
"data": { }
}

失败响应

{
"code": -1001,
"msg": "Disconnected from server"
}

通用错误(1xxx)

CodeMessage说明解决方案
-1000Unknown error未知异常重试请求;若持续出现请联系支持
-1001Disconnected内部连接中断重试请求
-1002UnauthorizedToken 无效或过期刷新 JWT Token
-1003Rate limit exceeded请求过于频繁实现限流与指数退避
-1004Endpoint not found接口不存在检查接口 URL
-1005Invalid content typeContent-Type 错误使用 application/json
-1006Unexpected response服务端返回异常数据重试;持续出现请联系支持
-1007Timeout请求超时延长超时并重试
-1008Server busy服务暂时繁忙稍后重试
-1010Error message received通用错误查看 msg 字段细节

请求错误(11xx)

CodeMessage说明解决方案
-1100Illegal characters参数包含非法字符去除异常字符
-1101Too many parameters参数数量超限减少参数数量
-1102Mandatory parameter missing缺少必填参数补全必填字段
-1103Unknown parameter含未知参数移除无效参数
-1104Unread parameters参数未被处理检查参数格式
-1105Parameter empty参数为空提供有效值
-1106Parameter not required提交了不需要的参数移除该参数
-1111Invalid precision小数精度过高降低小数位
-1112No open orders无该交易对挂单先确认是否存在挂单
-1114Invalid time in forcetimeInForce 非法使用 GTC、IOC、FOK 或 GTX
-1115Invalid order type订单类型非法使用 MARKET、LIMIT、STOP 等
-1116Invalid side买卖方向非法使用 BUY 或 SELL
-1117Empty new client order idnewClientOrderId 为空传入有效 client order ID
-1118Empty original client order idorigClientOrderId 为空传入有效原始订单 ID
-1119Invalid intervalK 线周期非法使用有效周期(1m、5m、1h 等)
-1120Invalid symbol交易对不存在用 exchangeinfo 校验交易对
-1121Invalid symbol status交易对状态不可交易可能处于维护或暂停
-1125Invalid listen keyWebSocket listen key 无效重新生成 listen key
-1127Lookup interval too large时间范围超限缩小查询区间
-1128Invalid combination参数组合非法按接口要求重新组合参数
-1130Invalid data数据格式错误校验请求数据结构

签名错误(12xx)

CodeMessage说明解决方案
-1021Timestamp outside recv window请求时间戳超出窗口同步系统时间
-1022Invalid signature签名校验失败检查签名逻辑

签名错误排查

  1. 校验时间戳:需在服务端时间 5000ms 窗口内

    curl http://119.8.50.236:8088/api/gateway/time
  2. 确认签名算法:使用 HMAC-SHA256

  3. 确认参数顺序:参数需按字母顺序排序

  4. 确认编码方式:所有参数值应 URL 编码


订单错误(20xx)

CodeMessage说明解决方案
-2010Insufficient balance保证金不足追加资金或降低下单量
-2011Order not found订单不存在校验订单 ID
-2012Order cancelled订单已撤销无需处理
-2013Order filled订单已成交无需处理
-2014Invalid API key formatAPI Key 格式错误检查 API Key
-2015Invalid order sideside 参数非法使用 BUY 或 SELL
-2016No trading window当前不可交易市场可能关闭
-2017Order archived订单已归档查询历史订单接口
-2018Invalid quantity数量超出限制检查最小/最大下单量
-2019Invalid price价格超出限制检查价格限制
-2020Invalid stop price止损/触发价格非法检查触发价逻辑
-2021Order would trigger immediately条件单会立即触发调整触发价
-2022Quantity too low数量低于下限提高下单数量
-2023Reduce only rejectedreduceOnly 被拒绝检查是否存在可减仓位
-2024Position side mismatch仓位方向不匹配检查双向持仓设置
-2025Position side not match仓位方向错误使用正确 positionSide
-2026Insufficient position平仓数量超过当前仓位降低平仓数量
-2027Order being processed订单处理中稍后查询状态
-2028Order cancel rejected撤单失败订单可能已成交/已撤销

仓位错误(21xx)

CodeMessage说明解决方案
-2100Position mode already set仓位模式已设置无需变更
-2101Position mode change failed无法切换仓位模式先平掉全部仓位
-2102Invalid position side仓位方向非法使用 LONG、SHORT 或 BOTH
-2103Position not found仓位不存在检查交易对与仓位方向
-2104Leverage too high杠杆过高降低杠杆
-2105Leverage too low杠杆过低提高杠杆

保证金错误(22xx)

CodeMessage说明解决方案
-2200Margin type already set保证金类型已设置无需变更
-2201Cannot change margin type无法切换保证金类型先平掉相关仓位
-2202Insufficient margin保证金不足追加保证金
-2203Cannot add margin无法追加保证金需先有仓位
-2204Cannot remove margin无法减少保证金减少会触发强平风险

WebSocket 错误(30xx)

CodeMessage说明解决方案
-3000WebSocket error通用 WebSocket 错误重连
-3001Invalid message消息格式错误检查消息结构
-3002Invalid method方法非法使用有效方法(SUBSCRIBE 等)
-3003Invalid params参数非法校验参数格式
-3004Too many subscriptions订阅数超限减少订阅
-3005Listen key expired用户流 listen key 过期重新生成 listen key
-3006Connection limit连接数超限关闭闲置连接

HTTP 状态码

除 API 业务错误码外,HTTP 状态码也代表请求结果:

Status含义说明
200OK请求成功
400Bad Request请求参数不合法
401Unauthorized鉴权失败
403Forbidden无权限执行该操作
404Not Found接口不存在
429Too Many Requests触发限流
500Internal Server Error服务器内部错误
502Bad Gateway上游服务错误
503Service Unavailable服务暂不可用
504Gateway Timeout网关超时

最佳实践

错误处理

import requests

def api_request(endpoint, params=None):
response = requests.get(f"http://119.8.50.236:8088{endpoint}", params=params)
data = response.json()

if data.get("code") != 0:
error_code = data.get("code")
error_msg = data.get("msg")

if error_code == -1003:
# 触发限流,执行退避后重试
time.sleep(60)
return api_request(endpoint, params)
elif error_code == -1002:
# Token 过期,刷新后重试
refresh_token()
return api_request(endpoint, params)
else:
raise Exception(f"API Error {error_code}: {error_msg}")

return data["data"]

重试策略

对瞬时错误(-1001-1007-1008)建议使用指数退避:

import time

def retry_with_backoff(func, max_retries=3):
for attempt in range(max_retries):
try:
return func()
except Exception as e:
if attempt == max_retries - 1:
raise
wait_time = (2 ** attempt) + random.random()
time.sleep(wait_time)