Skip to main content

错误响应约定

  • 成功响应的 code 为数字 0
  • 错误响应的 code 可能是整数或字符串;客户端应先使用 String(code) 归一化后再比较
  • 不要根据 message 文本编写判断逻辑;message 用于说明错误,可能随具体场景变化
  • HTTP 状态码表示请求层面的结果,code 表示具体业务原因,客户端应同时检查两者

HTTP API

HTTP 错误响应至少包含 code 和 message,部分接口还会返回 error 或 data:
财务与基本面接口通常返回以下结构:

WebSocket 建连失败

在 WebSocket 升级完成前发生的鉴权错误是普通 HTTP 错误响应,此时连接尚未建立,客户端不会收到 WebSocket 消息。

WebSocket 建连后错误

连接建立后的订阅或消息错误通过 WebSocket 消息返回,cmd 表示触发错误的命令:

错误码速查表

认证错误(1xxx)

参数错误(2xxx)

HTTP 请求中的代码歧义返回字符串 AMBIGUOUS_SYMBOL;WebSocket 订阅中的代码歧义当前返回数字 2003。两者都应根据响应中的 available_types 补充 type。

访问限制与配额错误(3xxx)

WebSocket 频道权限错误(4xxx)

当前公开 WebSocket 连接使用以下 4xxx 错误: 非法 JSON 和未知命令当前均返回 cmd="error"、code=2001。4001–4004 不属于当前公开接口的返回契约,因此不应依赖这些代码编写客户端逻辑。

服务错误(5xxx)

5004 的 WebSocket 订阅响应中,data 可能包含以下字段:
  • symbols:已经订阅成功的代码,不要重复订阅
  • failed_symbols:本次未成功的全部代码
  • retryable_symbols:可以稍后重试的代码子集
  • retryable:是否存在可重试代码

字符串错误码

财务与基本面接口错误

以下五位错误码适用于标准财务与基本面接口;个股新闻接口可能使用不同的错误映射,应以其实际响应为准。

错误处理示例

JavaScript

Python