Skip to content

錯誤碼

WebSocket 行情推送涉及兩類錯誤碼,分別來自不同層級:

  • 通道錯誤碼:由 WebSocket 通道層返回,發生在鑑權或底層請求處理階段。碼值為 4xxx / 5xxx 的整數。
  • 訂閲響應碼:由業務層返回,僅出現在訂閲、反訂閲請求的響應中。碼值為 0–5 的小整數。

兩類錯誤碼互相獨立,碼值範圍不重疊,可通過數值範圍直接區分。


通道錯誤碼

通道錯誤發生在請求到達業務邏輯之前,由 WebSocket 網關或鑑權服務返回。

響應格式

json
{
  "id": "req-001",
  "code": 4002,
  "msg": "auth_failed"
}

注意:字段名為 msg,與訂閲響應的 message 字段不同。

錯誤碼說明

code含義常見原因處理建議
4000請求格式錯誤發送的幀結構不符合協議,如 JSON 格式有誤、action 字段為空。檢查請求幀格式,修復後重新發送。
4001尚未完成鑑權在鑑權成功之前發送了業務請求。先完成 Auth 鑑權,收到 session_id 後再發送業務請求。
4002鑑權失敗credential_id 不存在、簽名驗證不通過、Bearer Token 已過期或無效。檢查憑證和簽名邏輯;OAuth2 場景需先刷新 Token 再重新建立連接。
4003權限不足當前憑證的授權範圍(scope)不包含所請求的接口權限。確認所用憑證是否已授權該接口;如使用 OAuth2,檢查授權時申請的 scope。
4004接口不存在action 填寫有誤,或請求了服務端未開放的接口。核對接口文檔,確認 action 名稱拼寫正確。
5000服務內部錯誤服務端處理請求時發生意外異常。可聯繫服務端排查;不建議自動重試。
5002網關錯誤服務端網絡異常,請求未能送達後端。稍後重試;持續出現請檢查網絡環境或聯繫服務端。
5003服務暫時不可用服務端負載過高,暫時無法處理新請求。等待片刻後重試,建議加退避策略。
5004請求超時服務端處理超時,未能在規定時間內返回結果。稍後重試;持續超時請聯繫服務端排查。

訂閲響應碼

訂閲響應碼僅出現在訂閲(subscribe)和反訂閲(unsubscribe)請求的響應中,由業務層處理後返回。

響應格式

json
{
  "id": "sub-001",
  "code": 0,
  "message": "success"
}

注意:字段名為 message,與通道錯誤的 msg 字段不同。

成功示例:

json
{
  "id": "sub-001",
  "code": 0,
  "message": "success"
}

失敗示例:

json
{
  "id": "sub-002",
  "code": 4,
  "message": "sub quota exceeded, max=100"
}

錯誤碼說明

code含義常見原因處理建議
0成功訂閲、反訂閲或會話清理請求處理成功。繼續接收推送,或更新本地訂閲狀態。
1必要會話信息缺失未完成鑑權就發起訂閲;連接會話異常;網關未能建立有效用户會話。重新建立 WebSocket 連接,先完成登錄鑑權,再重新訂閲。
2不支持的操作類型action 填寫錯誤,或使用了服務端不支持的動作。檢查 action 是否為 subscribeunsubscribe
3系統異常服務端進行訂閲配額檢查時依賴服務暫時不可用。按退避策略稍後重試;如果持續出現,請聯繫技術支持並提供請求 ID、時間和返回內容。
4訂閲配額不足當前賬號的訂閲數量超過上限。減少訂閲標的或數據類型;先反訂閲不再使用的標的;確認賬號行情權限和配額。
5K 線週期參數非法kline.period 不在支持範圍內,或週期格式不正確。訂閲與反訂閲 中支持的 K 線週期重新傳參。

TIP

收到非 0 響應時,不應把該請求視為已生效。客户端應保持本地訂閲狀態與服務端響應一致:只有在訂閲成功後才標記為已訂閲,只有在反訂閲成功後才移除本地訂閲記錄。

重試建議

錯誤類型是否建議立即重試建議策略
系統臨時異常(code=3短暫等待後重試,避免高頻請求。
參數錯誤(code=2code=5修正參數後再重試。
配額超限(code=4先減少訂閲數量或提升配額,再重試。
會話缺失(code=1重新連接並完成鑑權後再訂閲。