REST API

エラー

問題レスポンスの仕様に対応し、リクエストを追跡します。

エラーはRFC 9457の問題JSON仕様に従い、メディアタイプはapplication/problem+jsonです。

{
  "type": "https://www.ninjabuy.com/api/v1/problems/bad-body",
  "title": "Invalid request",
  "status": 400,
  "detail": "The request did not match the expected shape.",
  "request_id": "REQUEST_ID",
  "errors": [{"pointer": "/links", "detail": "Validation detail"}]
}

typeは固定の問題識別子で、titleとdetailは説明です。statusはHTTPステータスと一致します。任意のerrors項目にはJSON Pointerと検証の詳細が含まれます。空のポインターは本文全体を示します。問題を報告する際はrequest_id(X-Request-Idにも含まれます)を添えてください。

以下のすべてのタイプはhttps://www.ninjabuy.com/api/v1/problems/で始まります。

タイプの末尾HTTP意味 / 対応
bad-json400本文が有効なJSONではありません。構文を修正してください。
bad-body400本文、クエリパラメーター、またはカーソルの検証に失敗しました。errorsを確認してください。
bad-idempotency-key400Idempotency-Keyには1〜255文字の表示可能なASCII文字を使用してください。
unauthorized401有効なBearerトークンを指定してください。WWW-Authenticateにディスカバリー情報があります。
not-found404リソースが利用できない、不明、またはこのアカウントに属していません。
method-not-allowed405Allowで示されたメソッドを使用してください。
idempotency-key-in-progress409このキーの最初のリクエストが実行中です。Retry-Afterに従って待ってください。
upload-too-large413アップロードしたバイト数が申告したサイズまたは20 MiBの上限を超えています。
unsupported-media-type415Content-Type: application/jsonを送信してください。
idempotency-key-reused422このキーは別のリクエストで使用されています。新しいキーを使用してください。
invalid-workbook422アップロードが制限内の読み取り可能なXLSX/CSVではありません。errorsを確認してください。
upload-expired422アップロード予約が期限切れです。ファイルを再アップロードしてください。
rate-limited429Retry-Afterで指定された秒数だけ待って再試行してください。
search-rate-limited429キーワード検索枠を使い切りました。Retry-Afterに従って待ってください。
service-unavailable503少し待って再試行してください。Retry-Afterがある場合は従ってください。
internal-error500後で再試行してください。続く場合はリクエストIDを保管してください。

成功したリクエストでも、個々の入力に失敗が含まれる場合があります。リンクのステータスはHTTPエラーとは別に処理してください。作成リクエストを再返却するにはIdempotency-Keyを使用してください。キーなしで一括処理を再送すると別のジョブが作成されます。