錯誤響應約定
- 成功響應的
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:是否存在可重試代碼
