correlationId + meta + payload — 見 錯誤處理)。當出現錯誤時,meta.errorCode 是機器可讀的錯誤鍵。本頁列出 User 與 Public API 可能產生的全部值。
如何閱讀本頁
Wire HTTP 欄是回應實際抵達時的 HTTP 狀態碼。meta.status 欄是回應體內部的應用層狀態。
meta.errorCode 欄是您在用戶端程式碼中進行分支判斷的值。
meta.error 欄描述每筆錯誤明細的形態。
本 API 的多數錯誤路徑會回傳 HTTP 200,並把邏輯狀態放在 meta.status 中(軟錯誤約定)。少數情況下會回傳真實的 HTTP 401/403/409——這些情況發生在回應信封被套用之前,或代表真正的 HTTP 語意。
驗證失敗
幾乎每個寫入端點都會經過 FluentValidation。在此被攔截的任何內容——缺少必填欄位、值超出範圍、國家代碼無效、批次超出上限、以Custom(...) 檢查表達的業務規則違反——都會歸併到同一個錯誤代碼:
| Wire HTTP | meta.status | meta.errorCode | meta.error |
|---|---|---|---|
200 | 400 | VALIDATION_FAILED | 以請求屬性名為鍵的物件 → 以逗號連接的錯誤訊息列表。對於批次端點(例如 /api/Recall/createRecallByReturnInventoryId),jobEntryList 內的項目會單獨顯示,方便您定位是哪一筆失敗。 |
meta.error——鍵名告訴您哪些欄位有問題。
業務規則與資源錯誤
這些是請求在結構上有效,但與當前資料狀態、您的帳號,或支援基礎設施衝突時由業務邏輯拋出的錯誤。每種都帶有不同的errorCode,方便您據此分支處理。
meta.errorCode | Wire HTTP | meta.status | 何時出現 |
|---|---|---|---|
TRACKING_ALREADY_EXIST | 200 | 400 | 您提交的 trackingNumber 已被另一筆活躍紀錄佔用。最常見於 Create FBA shipment ——同一個 Amazon 追蹤號碼被重複提交;也可能發生在直接傳入 tracking 值的退件運貨單 / 重發(resend)建立上。meta.error 攜帶衝突紀錄的識別資料。 |
ACCOUNT_IS_BLOCKED | 200 | 403 | 您的 API 帳號已被封鎖(例如欠款、違反條款)。所有寫入端點都會失敗,直到 Return Helper 客服解除封鎖。meta.error.message 含有人類可讀的原因。請聯絡 support@returnhelper.com。 |
S3_OBJECT_NOT_FOUND_OR_NOT_PUBLIC_READ | 200 | 404 | 需要從 S3 拉取檔案的端點(通常是 VAS 附件或面單檔案)無法讀取該物件。請確認您先前上傳的檔案仍然存在且可存取。 |
UPLOAD_FILE_TO_S3_FAIL | 200 | 500 | 需要上傳檔案到 S3 的端點失敗。暫時性基礎設施問題——請用相同的等冪鍵重試。 |
REQUEST_CUSTOM_DOMAIN_FAIL | 200 | 500 | 呼叫自訂網域服務的面單/品牌相關端點失敗。暫時性——請重試。 |
認證與存取控制失敗
這些不是軟錯誤。它們會以真實的 HTTP 狀態碼回傳,因為它們在正常請求管線之前(或之外)產生。| Wire HTTP | meta.status | meta.errorCode | 何時出現 |
|---|---|---|---|
401 | 401 | null | x-rr-apikey 或 x-rr-apitoken 缺失、格式錯誤,或未匹配到任何活躍帳號。meta.error.message 為 "Missing request header" 或類似訊息。 |
403 | 403 | null | 拋出了 RrForbiddenException ——您的帳號已認證但未被授權執行此動作(例如嘗試讀取其他租戶的紀錄)。meta.error.message 是人類可讀的。 |
衝突與未找到
不常見但有可能遇到:| Wire HTTP | meta.status | meta.errorCode | 何時出現 |
|---|---|---|---|
200 | 404 | null | 拋出了 RrInvalidException 或 RrNotfoundException ——您引用的資源(按 ID)不存在,或不屬於您的帳號。meta.error.message 是人類可讀的。 |
409 | 409 | null | 拋出了 DuplicateTransactionException ——您提交的狀態改變請求被等冪層識別為正在進行或已完成的請求的重複。meta.error 含 transactionType、headId、uniqueChargeKey、message。請視為無動作——原始請求已成功。 |
建議的用戶端處理
虛擬程式碼範例:correlationId 會出現在每一個回應中。請永遠把它記錄到日誌裡——這是 Return Helper 客服把某一次請求追溯到內部系統的方式。
錯誤代碼的定義位置
本頁記錄的錯誤代碼來自ReturnRequestApiModel.RrException 命名空間中的 RrErrorCode 常數。如果您遇到本頁未列出的 errorCode 值,請將其視為未文件化的內部錯誤,並附上 correlationId 透過客服回報。