githubEdit

错误码

本文档提供 Zanbara API 完整的错误码列表、错误说明以及处理建议,帮助您快速诊断和解决问题。

错误响应格式

所有错误响应遵循统一格式:

{
  "success": false,
  "error": {
    "code": "ERROR_CODE",
    "message": "Human-readable error description",
    "field": "optional_field_name",
    "details": {}
  },
  "timestamp": 1696752000000
}

字段说明:

  • code: 机器可读的错误代码,用于程序化处理

  • message: 人类可读的错误描述

  • field: (可选) 导致错误的请求字段名

  • details: (可选) 额外的错误详情

HTTP 状态码

Zanbara API 使用标准 HTTP 状态码:

状态码
含义
说明

200

OK

请求成功

201

Created

资源创建成功

400

Bad Request

请求参数错误

401

Unauthorized

认证失败或 Token 无效

403

Forbidden

权限不足

404

Not Found

资源不存在

429

Too Many Requests

超过速率限制

500

Internal Server Error

服务器内部错误

503

Service Unavailable

服务暂时不可用

认证相关错误 (1xxx)

1001 - AUTHENTICATION_FAILED

说明: JWT Token 认证失败

常见原因:

  • Token 已过期

  • Token 签名无效

  • Token 格式错误

  • 缺少 Authorization 请求头

示例:

处理建议:

1002 - INVALID_API_KEY

说明: API Key 无效或已被禁用

常见原因:

  • API Key 格式错误

  • API Key 已被删除

  • API Key 已被禁用

示例:

处理建议: 检查 API Key 配置,必要时生成新的 API Key

1003 - INVALID_SIGNATURE

说明: 请求签名验证失败

常见原因:

  • 签名算法实现错误

  • 时间戳与服务器时间相差超过 5 秒

  • 请求体与签名不匹配

示例:

处理建议:

  1. 同步系统时钟

  2. 检查签名算法实现

  3. 确认请求体格式一致

1004 - INSUFFICIENT_PERMISSIONS

说明: API Key 权限不足

常见原因:

  • 使用只读 Key 执行交易操作

  • 使用交易 Key 执行提现操作

示例:

处理建议: 使用具有相应权限的 API Key

1005 - IP_NOT_WHITELISTED

说明: 请求 IP 不在白名单中

示例:

处理建议: 在 API Key 设置中添加 IP 到白名单

请求参数错误 (2xxx)

2001 - INVALID_INPUT

说明: 请求参数格式或类型错误

示例:

处理建议: 检查参数类型和格式

2002 - MISSING_REQUIRED_FIELD

说明: 缺少必需的请求字段

示例:

处理建议: 补充缺失的必需字段

2003 - INVALID_SYMBOL

说明: 交易对不存在或格式错误

示例:

处理建议: 使用 GET /v1/market/symbols 查询有效交易对列表

2004 - INVALID_SIDE

说明: 订单方向无效

有效值: buy, sell

示例:

2005 - INVALID_ORDER_TYPE

说明: 订单类型无效

有效值: limit, market, stop_limit, stop_market, post_only, iceberg

示例:

2006 - INVALID_QUANTITY

说明: 订单数量无效

常见原因:

  • 数量为负数或零

  • 数量小于最小订单量

  • 数量超过最大订单量

  • 数量精度超过限制

示例:

2007 - INVALID_PRICE

说明: 订单价格无效

常见原因:

  • 价格为负数或零

  • 价格偏离市场价过大

  • 价格精度超过限制

示例:

2008 - INVALID_LEVERAGE

说明: 杠杆倍数无效

示例:

2009 - INVALID_TIME_IN_FORCE

说明: 订单时间有效性参数无效

有效值: GTC, IOC, FOK, GTT

业务逻辑错误 (3xxx)

3001 - INSUFFICIENT_BALANCE

说明: 账户余额不足

示例:

处理建议: 充值或减少订单金额

3002 - ORDER_NOT_FOUND

说明: 订单不存在

常见原因:

  • 订单 ID 错误

  • 订单已被撤销或成交

  • 查询他人的订单

示例:

3003 - POSITION_NOT_FOUND

说明: 仓位不存在

示例:

3004 - ORDER_ALREADY_FILLED

说明: 订单已成交,无法撤销

示例:

3005 - POSITION_SIZE_EXCEEDED

说明: 超过最大仓位限制

示例:

3006 - LIQUIDATION_RISK

说明: 操作会导致清算风险过高

示例:

处理建议: 降低杠杆或增加保证金

3007 - MARKET_CLOSED

说明: 市场已关闭

示例:

3008 - DUPLICATE_ORDER

说明: 重复的 client_order_id

示例:

说明: 这是幂等性保护,如果确实是重复请求,可以使用返回的现有订单

3009 - SELF_TRADE_PREVENTION

说明: 触发自成交预防机制

示例:

3010 - PRICE_DEVIATION_EXCEEDED

说明: 价格偏离市场价过大

示例:

处理建议: 调整价格或使用市价单

速率限制错误 (4xxx)

4001 - RATE_LIMIT_EXCEEDED

说明: 超过 API 速率限制

示例:

HTTP 响应头:

处理建议: 参考 速率限制文档

系统错误 (5xxx)

5001 - INTERNAL_ERROR

说明: 服务器内部错误

示例:

处理建议:

  1. 重试请求 (使用指数退避)

  2. 如果持续失败,联系技术支持并提供 request_id

5002 - SERVICE_UNAVAILABLE

说明: 服务暂时不可用

常见原因:

  • 系统维护

  • 服务过载

  • 网络故障

示例:

HTTP 状态码: 503

5003 - DATABASE_ERROR

说明: 数据库操作错误

示例:

5004 - MATCHING_ENGINE_ERROR

说明: 撮合引擎错误

示例:

5005 - SETTLEMENT_FAILED

说明: 链上结算失败

示例:

说明: 系统会自动重试,通常无需用户介入

错误处理最佳实践

1. 按错误码分类处理

2. 实现重试机制

3. 记录错误日志

4. 用户友好的错误提示

调试工具

错误代码查询

使用我们的在线工具快速查询错误代码:

https://docs.zanbarax.com/error-lookup?code=3001

错误统计

在 API 管理页面查看您的错误统计:

  • 按错误码分组

  • 按时间趋势

  • 按端点分类

请求日志

每个错误响应都包含 request_id,用于在支持工单中追踪:

联系支持时请提供 request_id,我们将快速定位问题。

相关文档


文档版本: v1.0.0 最后更新: 2025-10-07 维护: Zanbara API Team

Last updated