深色模式

參考

錯誤碼

伺服器錯誤一律回傳 {"error":{"code","message","requestId","retryAfterSec?","current?"}},且 Cache-Control: no-store;SDK 另有 4 個本地錯誤碼。三端的錯誤碼字串一致。

HTTP
code
意義
400
INVALID_PARAM
參數格式不符
401
TOKEN_EXPIRED
token 過期
401
TOKEN_INVALID
token 無效,或 App、裝置已被封鎖
401
CHALLENGE_INVALID
challenge 過期或 appKey 不符
401
ATTESTATION_FAILED
裝置驗證失敗或需重新驗證
403
ENTITLEMENT_REQUIRED
未開通該資料集
403
DATASET_DISABLED
資料集暫停提供
404
SECURITY_NOT_FOUND
證券不存在
404
DATASET_NOT_FOUND
該證券沒有此資料集,或資料集未知
404
NOT_FOUND
版本或分塊不存在
410
RELEASE_REVOKED
該版已撤回,body 的 current 為目前版本
429
RATE_LIMITED
每秒或 App 總量超限,帶 Retry-After
429
QUOTA_EXCEEDED
當日次數用完,台北時間次日 00:00 恢復
503
DATA_NOT_READY
尚無已發佈版本
503
UPSTREAM_UNAVAILABLE
伺服器暫時異常
本地
SDK_NETWORK_ERROR
連線失敗、逾時,或 2xx 但無內容
本地
SDK_INTEGRITY_ERROR
分塊雜湊不符
本地
SDK_DECODING_ERROR
回應無法解析
本地
SDK_ATTESTATION_UNAVAILABLE
平台驗證無法使用,請求未送出(Web 無此錯誤)

RANGE_UNAVAILABLE 為保留碼,伺服器目前不會回傳。

錯誤物件

平台
型別
主要欄位
iOS
LapidError
code、message、httpStatus?、requestId、retryAfterSec?(秒,Double)、currentRelease;code.isRetryable
Android
LapidException
code、message、httpStatus(本地錯誤為 0)、retryAfterSec?(Int)、currentRelease;code.retryable
Web
LapidApiError、LapidNetworkError、LapidIntegrityError、LapidDecodingError
code;LapidApiError 另有 status、body

可重試的判定

可重試:RATE_LIMITED、DATA_NOT_READY、UPSTREAM_UNAVAILABLE、SDK_NETWORK_ERROR、TOKEN_EXPIRED。

QUOTA_EXCEEDED 在 Android 視為可重試、iOS 為否,建議一律不重試。

各錯誤碼的處理建議見 錯誤處理與重試。