メインコンテンツへスキップ
このページはAIによって自動翻訳されています。不明点や相違がある場合は、英語版を正式版として参照してください。
すべての API レスポンスは標準のエンベロープ(correlationId + meta + payload — エラーハンドリング を参照)を使用します。エラーが発生した場合、meta.errorCode が機械可読のエラーキーになります。本ページでは User API と Public API が返却し得るすべての値を列挙します。

このページの読み方

Wire HTTP 列はレスポンスが実際に届く際の HTTP ステータスです。 meta.status 列はボディ内のアプリケーションレベルのステータスです。 meta.errorCode 列はクライアントコードで分岐に使用する値です。 meta.error 列は各エラーの詳細の形を表します。 本 API のほとんどのエラー経路は HTTP 200 を返し、論理的なステータスを meta.status に載せます(ソフトエラーの慣習)。少数のケースでは実際の HTTP 401/403/409 を返します — これらは API 自身のレスポンスエンベロープが適用される前に発生するか、本来の HTTP の意味を表しているためです。

バリデーション失敗

ほぼすべての書き込みエンドポイントは FluentValidation を通過します。ここで捕捉されたもの — 必須フィールドの欠落、値の範囲外、無効な国コード、バッチサイズ超過、Custom(...) チェックで表現された業務ルール違反など — はすべて 1 つのエラーコードに集約されます:
Wire HTTPmeta.statusmeta.errorCodemeta.error
200400VALIDATION_FAILEDリクエストプロパティ名をキーとし、カンマ区切りのエラーメッセージリストを値に持つオブジェクト。バッチ系エンドポイント(例:/api/Recall/createRecallByReturnInventoryId)では jobEntryList 内の各項目が個別に提示されるため、どのリスト要素が失敗したかを特定できます。
サンプルレスポンスボディ:
{
  "correlationId": "0HNLB2U6T1QG1:00000001",
  "meta": {
    "status": 400,
    "data": {},
    "errorCode": "VALIDATION_FAILED",
    "error": {
      "returnInventoryId": "'return Inventory Id' must not be empty."
    }
  }
}
meta.error を確認してください — キーがどのフィールドが誤っているかを示します。

業務ルール・リソースエラー

リクエストは構造的に有効でも、データの現在の状態、アカウント、あるいはサポートインフラストラクチャと矛盾する場合に、業務ロジックから送出されます。各エラーは異なる errorCode を持つため、分岐処理が可能です。
meta.errorCodeWire HTTPmeta.status発生条件
TRACKING_ALREADY_EXIST200400送信した trackingNumber がすでに別のアクティブなレコードで使用されています。最も多いのは Create FBA shipment で同じ Amazon 追跡番号を二重送信した場合。tracking 値を直接渡す return shipment / resend 作成でも発生し得ます。meta.error には衝突したレコードの識別情報が含まれます。
ACCOUNT_IS_BLOCKED200403お客様の API アカウントがブロックされています(例:未払い残高、規約違反)。Return Helper サポートがブロックを解除するまで、すべての書き込みエンドポイントは失敗します。meta.error.message に人間可読の理由が含まれます。support@returnhelper.com までご連絡ください。
S3_OBJECT_NOT_FOUND_OR_NOT_PUBLIC_READ200404S3 からファイルを取得する必要があるエンドポイント(通常は VAS の添付ファイルやラベル成果物)が対象オブジェクトを読み取れませんでした。以前アップロードしたファイルが今も存在しアクセス可能であることをご確認ください。
UPLOAD_FILE_TO_S3_FAIL200500ファイルを S3 にアップロードする必要があるエンドポイントが失敗しました。一過性のインフラ問題です — 同じ冪等キーでリトライしてください。
REQUEST_CUSTOM_DOMAIN_FAIL200500カスタムドメインサービスを呼び出すラベル / ブランディング系エンドポイントが失敗しました。一過性です — リトライしてください。

認証・アクセス制御失敗

これらはソフトエラーではありません。通常のリクエストパイプラインの前(または外)で生成されるため、実際の HTTP ステータスコードで届きます。
Wire HTTPmeta.statusmeta.errorCode発生条件
401401nullx-rr-apikey または x-rr-apitoken が欠落、形式不正、もしくはアクティブなアカウントに一致しません。meta.error.message"Missing request header" のような内容になります。
403403nullRrForbiddenException が送出された場合 — お客様のアカウントは認証されていますが、当該操作の権限がありません(例:他テナントのレコードを読もうとした)。meta.error.message は人間可読です。

競合・未検出

頻度は低いですが発生し得ます:
Wire HTTPmeta.statusmeta.errorCode発生条件
200404nullRrInvalidException または RrNotfoundException が送出された場合 — 参照したリソース(ID 指定)が存在しないか、お客様のアカウントに属していません。meta.error.message は人間可読です。
409409nullDuplicateTransactionException が送出された場合 — 送信した状態変更リクエストが、冪等性レイヤーによって進行中または完了済みのリクエストの重複と認識されました。meta.error には transactionTypeheadIduniqueChargeKeymessage が含まれます。no-op として扱ってください — 元のリクエストは成功しています。

クライアント側の推奨処理

擬似コード:
response = call(endpoint, body)

if response.status == 401:
  reauth or alert ops
elif response.status == 403:
  surface meta.error.message — account or permission issue
elif response.status == 409:
  treat as success (idempotency replay) — do NOT retry
elif response.status == 200:
  meta = response.body.meta
  if meta.errorCode == 'VALIDATION_FAILED':
    surface meta.error map to the user — field-level messages
  elif meta.errorCode == 'TRACKING_ALREADY_EXIST':
    handle duplicate — likely already created on a previous attempt
  elif meta.errorCode == 'ACCOUNT_IS_BLOCKED':
    halt all calls, alert ops, do not retry
  elif meta.errorCode in ('UPLOAD_FILE_TO_S3_FAIL', 'REQUEST_CUSTOM_DOMAIN_FAIL'):
    retry with the same idempotency key (transient infra)
  elif meta.errorCode == 'S3_OBJECT_NOT_FOUND_OR_NOT_PUBLIC_READ':
    re-upload the source file, then retry
  elif meta.status == 200 and meta.errorCode is null:
    success — read the payload at the top level
  elif meta.status == 404 and meta.errorCode is null:
    resource not found — the ID is wrong or out of scope
correlationId はすべてのレスポンスに含まれます。必ずログに記録してください — Return Helper のサポートが内部システムで特定のリクエストを追跡する手がかりになります。

各エラーコードの定義場所

本ページに掲載しているエラーコードは ReturnRequestApiModel.RrException 名前空間の RrErrorCode 定数に由来します。本ページに記載のない errorCode 値に遭遇した場合は、未文書化の内部エラーとして扱い、correlationId とともにサポートへご報告ください。