跳到主要内容

错误代码

本页列出了 BigONE OpenAPI 可能返回的所有错误代码。

错误响应格式

所有错误都遵循此格式:

{
"code": 40004,
"message": "Unauthorized"
}

code 字段包含错误代码,message 提供可读的描述。

认证错误

这些错误发生在认证过程中。

代码HTTP信息描述
40004401Unauthorized缺少认证凭证或凭证无效
40106401Invalid tokenJWT Token 格式错误、签名无效或已过期
40107400Unexpected request headerAuthorization 请求头格式不正确
10403403Permission deniedAPI Key 缺少所需的权限范围或 IP 不在白名单中
10429429Too many requests超出频率限制

通用错误

可能在所有端点发生的常见错误。

代码HTTP信息描述
10005500Internal error服务器遇到意外错误
10007400Parameter error请求参数无效或缺失
10013404Resource not found请求的资源不存在
10014400Insufficient funds账户余额不足以执行操作

订单错误

订单创建和管理特有的错误。

代码HTTP信息描述
40303403Forbid cancel market order市价单提交后无法取消
40304403Creating order is forbidden暂时禁止创建订单
40305403Account restricted您的账户受到交易限制
50047400Liquidity taken too much订单将消耗过多流动性
54041400Duplicate order具有相同 client_order_id 的订单已存在
54043400Unknown opening order未找到要取消的订单
60100403Asset pair is suspended该交易对暂停交易

闪兑错误

闪兑 (Convert) API 特有的错误。

代码HTTP信息描述
54046400Convert asset not supported不支持指定的资产兑换
54047400Convert price expired报价已过期,请重新请求
54048400Convert parameter inconsistent请求参数与原始报价不匹配
54050400Convert amount too small数量低于最小兑换限制
54053403Convert system busy系统暂时过载,请稍后重试

错误处理

最佳实践

  1. 始终检查 code 字段 — 不要仅依赖 HTTP 状态码
  2. 记录错误详情 — 记录错误代码和信息以便调试
  3. 实现重试逻辑 — 对于瞬时错误 (10005, 54053),使用指数退避重试
  4. 处理限频 — 对于 10429,在重试前等待(建议 10 秒)

错误处理示例 (Python)

import requests
import time

def make_api_request(url, headers):
response = requests.get(url, headers=headers)
data = response.json()

if data.get("code") != 0:
error_code = data.get("code")
error_message = data.get("message")

if error_code == 10429:
# 被限频 - 等待并重试
time.sleep(10)
return make_api_request(url, headers)
elif error_code == 40004:
# 认证错误 - 刷新 Token
raise AuthenticationError("Token expired")
elif error_code == 10014:
# 余额不足
raise InsufficientFundsError(error_message)
elif error_code in [10005, 54053]:
# 瞬时错误 - 带退避的重试
time.sleep(1)
return make_api_request(url, headers)
else:
raise APIError(f"Error {error_code}: {error_message}")

return data

错误处理示例 (Go)

type APIError struct {
Code int `json:"code"`
Message string `json:"message"`
}

func handleAPIError(resp *http.Response) error {
var apiErr APIError
if err := json.NewDecoder(resp.Body).Decode(&apiErr); err != nil {
return err
}

switch apiErr.Code {
case 10429:
// 限频
time.Sleep(10 * time.Second)
return ErrRateLimited
case 40004, 40106:
// 认证错误
return ErrUnauthorized
case 10014:
// 余额不足
return ErrInsufficientFunds
default:
return fmt.Errorf("API error %d: %s", apiErr.Code, apiErr.Message)
}
}

获取帮助

如果您遇到此处未列出的错误:

  1. 查看特定 API 端点文档以获取更多错误代码
  2. 加入 Telegram 群组 @bigapi 获取实时社区支持
  3. 联系 BigONE 客服并提供:
    • 错误代码和信息
    • 请求端点和参数
    • 错误发生的时间戳 (UTC)