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-json | 400 | 本文が有効なJSONではありません。構文を修正してください。 |
bad-body | 400 | 本文、クエリパラメーター、またはカーソルの検証に失敗しました。errorsを確認してください。 |
bad-idempotency-key | 400 | Idempotency-Keyには1〜255文字の表示可能なASCII文字を使用してください。 |
unauthorized | 401 | 有効なBearerトークンを指定してください。WWW-Authenticateにディスカバリー情報があります。 |
not-found | 404 | リソースが利用できない、不明、またはこのアカウントに属していません。 |
method-not-allowed | 405 | Allowで示されたメソッドを使用してください。 |
idempotency-key-in-progress | 409 | このキーの最初のリクエストが実行中です。Retry-Afterに従って待ってください。 |
upload-too-large | 413 | アップロードしたバイト数が申告したサイズまたは20 MiBの上限を超えています。 |
unsupported-media-type | 415 | Content-Type: application/jsonを送信してください。 |
idempotency-key-reused | 422 | このキーは別のリクエストで使用されています。新しいキーを使用してください。 |
invalid-workbook | 422 | アップロードが制限内の読み取り可能なXLSX/CSVではありません。errorsを確認してください。 |
upload-expired | 422 | アップロード予約が期限切れです。ファイルを再アップロードしてください。 |
rate-limited | 429 | Retry-Afterで指定された秒数だけ待って再試行してください。 |
search-rate-limited | 429 | キーワード検索枠を使い切りました。Retry-Afterに従って待ってください。 |
service-unavailable | 503 | 少し待って再試行してください。Retry-Afterがある場合は従ってください。 |
internal-error | 500 | 後で再試行してください。続く場合はリクエストIDを保管してください。 |
成功したリクエストでも、個々の入力に失敗が含まれる場合があります。リンクのステータスはHTTPエラーとは別に処理してください。作成リクエストを再返却するにはIdempotency-Keyを使用してください。キーなしで一括処理を再送すると別のジョブが作成されます。