コンテンツにスキップ
ShopentlyLearn

エラーコード

リクエストが失敗した場合は、レスポンスのエラーコードを確認してください。以下の一覧でコードを開くと、原因と対処方法を確認できます。各エラーには、レスポンス例と再試行の目安も載せています。

400request.malformedリクエストを解析できません。
対処方法
JSON 構文、URL エンコード、リクエスト構造を確認してください。
再試行方針
リクエストを修正してから再試行します。
レスポンス
{
  "error": {
    "code": "request.malformed",
    "fields": null,
    "message": "The request could not be read."
  },
  "meta": {
    "request_id": "example-request"
  }
}

401authentication.invalid_credentialsAPI キーまたはアクセストークンが無効、期限切れ、または失効済みです。
対処方法
ストアの URL と認証情報を確認し、有効な API キーで新しいトークンを取得してください。
再試行方針
認証を修正してから再試行します。無効なトークンで繰り返し要求しないでください。
レスポンス
{
  "error": {
    "code": "authentication.invalid_credentials",
    "fields": null,
    "message": "The credentials are invalid."
  },
  "meta": {
    "request_id": "example-request"
  }
}

401authentication.required必要な Authorization ヘッダーがないか、認証方式が誤っています。
対処方法
トークンの発行や取り消しでは、AuthorizationヘッダーにApiKeyとAPIキーを指定します。それ以外のリクエストでは、Bearerとアクセストークンを指定してください。
再試行方針
正しいヘッダーを指定してから再試行します。
レスポンス
{
  "error": {
    "code": "authentication.required",
    "fields": null,
    "message": "Authentication is required."
  },
  "meta": {
    "request_id": "example-request"
  }
}

403authorization.client_ip_unverified信頼できるクライアント IP アドレスを確認できませんでした。
対処方法
連携アプリがどのIPアドレスからAPIに接続しているか確認してください。エラーが続く場合は、Shopentlyのテクニカルサポートにお問い合わせください。
再試行方針
IPアドレスの識別に関する問題が解消してから、再試行してください。
レスポンス
{
  "error": {
    "code": "authorization.client_ip_unverified",
    "fields": null,
    "message": "The client IP address could not be verified."
  },
  "meta": {
    "request_id": "example-request"
  }
}

403authorization.ip_not_allowed送信元 IP アドレスがキーの許可リストに含まれていません。
対処方法
許可された送信元を使うか、権限のある管理者にキーの IP リスト編集を依頼してください。
再試行方針
アドレスが許可されてから再試行します。
レスポンス
{
  "error": {
    "code": "authorization.ip_not_allowed",
    "fields": null,
    "message": "Access from this IP address is not allowed."
  },
  "meta": {
    "request_id": "example-request"
  }
}

403authorization.scope_deniedキーに、この操作で必要な有効な権限がありません。
対処方法
操作の必須権限と条件付き権限、キーの付与権限、発行者のアクセス権を確認してください。
再試行方針
権限のある管理者が必要なアクセスを付与してから再試行します。
レスポンス
{
  "error": {
    "code": "authorization.scope_denied",
    "fields": null,
    "message": "The required permission has not been granted."
  },
  "meta": {
    "request_id": "example-request"
  }
}

403entitlements.api_disabledこのストアの API アクセスは無効です。
対処方法
ストア所有者に現在のプランと API の利用可否を確認してもらってください。
再試行方針
API アクセスが有効になるまで再試行しないでください。
レスポンス
{
  "error": {
    "code": "entitlements.api_disabled",
    "fields": null,
    "message": "API access is disabled for this store."
  },
  "meta": {
    "request_id": "example-request"
  }
}

403entitlements.limit_exceeded変更すると現在のプランの上限を超えます。
対処方法
対象リソースの上限を確認し、変更内容またはプランを調整してください。
再試行方針
上限の問題を解消してから再試行します。リクエストを変更する場合は新しい冪等キーを使います。
レスポンス
{
  "error": {
    "code": "entitlements.limit_exceeded",
    "fields": null,
    "message": "The operation exceeds a plan limit."
  },
  "meta": {
    "request_id": "example-request"
  }
}

403entitlements.operation_disabled現在のプランにはこの操作が含まれていません。
対処方法
操作に記載された最低プランを確認してください。
再試行方針
プランが操作を許可し、キーに必要な権限がある状態で再試行します。
レスポンス
{
  "error": {
    "code": "entitlements.operation_disabled",
    "fields": null,
    "message": "The current plan does not allow this operation."
  },
  "meta": {
    "request_id": "example-request"
  }
}

403entitlements.resource_blockedプランの制限により、このリソースがブロックされています。
対処方法
所有者に対象リソースのプラン制限を解消してもらってください。
再試行方針
ブロックが続いている間は同じリクエストを繰り返さないでください。
レスポンス
{
  "error": {
    "code": "entitlements.resource_blocked",
    "fields": null,
    "message": "A plan limit blocks access to this resource."
  },
  "meta": {
    "request_id": "example-request"
  }
}

404resource.not_foundリソースが存在しない、削除済み、または指定識別子で利用できません。
対処方法
ストア、リソースのパス、識別子を確認してください。このストアから返された識別子を使います。
再試行方針
対象を修正するか、存在を確認してから再試行します。
レスポンス
{
  "error": {
    "code": "resource.not_found",
    "fields": null,
    "message": "The resource was not found."
  },
  "meta": {
    "request_id": "example-request"
  }
}

405request.method_not_allowedこのエンドポイントは指定した HTTP メソッドに対応していません。
対処方法
文書化されたメソッドを使ってください。Allow ヘッダーに対応メソッドが示されます。
再試行方針
非対応のメソッドを再試行しないでください。
レスポンス
{
  "error": {
    "code": "request.method_not_allowed",
    "fields": null,
    "message": "This method is not supported for this resource."
  },
  "meta": {
    "request_id": "example-request"
  }
}

409idempotency.key_reusedこの冪等キーは別のリクエストに使われています。
対処方法
元の操作を確認してください。意図的に新しい論理操作を行う場合だけ、新しいキーを使います。
再試行方針
競合したキーで変更済みの内容を再送しないでください。
レスポンス
{
  "error": {
    "code": "idempotency.key_reused",
    "fields": null,
    "message": "This idempotency key was used with a different request."
  },
  "meta": {
    "request_id": "example-request"
  }
}

409resource.already_exists一意であるべき値が既存のリソースと競合しています。
対処方法
既存のリソースを取得し、それを使うか別の一意な値を選ぶか判断してください。
再試行方針
同じ競合する作成処理を繰り返さないでください。
レスポンス
{
  "error": {
    "code": "resource.already_exists",
    "fields": null,
    "message": "A resource with these unique values already exists."
  },
  "meta": {
    "request_id": "example-request"
  }
}

409resource.in_use他のリソースがまだこのリソースに依存しています。
対処方法
依存関係を確認し、削除前に対応する操作で解除または変更してください。
再試行方針
依存関係を解消してから再試行します。
レスポンス
{
  "error": {
    "code": "resource.in_use",
    "fields": null,
    "message": "The resource is still in use."
  },
  "meta": {
    "request_id": "example-request"
  }
}

409resource.state_conflict現在の業務状態ではこの変更を実行できません。
対処方法
現在の状態を取得し、有効な業務上の状態遷移を選んでください。
再試行方針
競合する変更を自動で強制したり、繰り返し送信したりしないでください。
レスポンス
{
  "error": {
    "code": "resource.state_conflict",
    "fields": null,
    "message": "The current resource state does not allow this operation."
  },
  "meta": {
    "request_id": "example-request"
  }
}

409resource.version_conflict取得したバージョンの後に、別の書き込みがリソースを変更しました。
対処方法
最新状態を取得し、変更を調整して、新しい expected_version を送信してください。
再試行方針
修正後の操作には新しい冪等キーを使い、確認せず上書きしないでください。
レスポンス
{
  "error": {
    "code": "resource.version_conflict",
    "fields": null,
    "message": "The resource version has changed."
  },
  "meta": {
    "request_id": "example-request"
  }
}

409storage.limit_reached画像とファイルの保存容量が上限に達しました。空き容量を確保するか上限を増やしてください。
対処方法
画像とファイルの保存容量が上限に達しました。空き容量を確保するか上限を増やしてください。
再試行方針
それぞれの冪等キーを使い、小さく有効な操作として再試行します。
レスポンス
{
  "error": {
    "code": "storage.limit_reached",
    "fields": null,
    "message": "The upload storage limit is reached."
  },
  "meta": {
    "request_id": "example-request"
  }
}

413request.too_largeリクエストがサイズ上限を超えています。
対処方法
内容を減らすか、対応する個別の操作に分割してください。
再試行方針
それぞれの冪等キーを使い、小さく有効な操作として再試行します。
レスポンス
{
  "error": {
    "code": "request.too_large",
    "fields": null,
    "message": "The request exceeds the size limit."
  },
  "meta": {
    "request_id": "example-request"
  }
}

415request.unsupported_media_typeメディアタイプまたはコンテンツのエンコードに対応していません。
対処方法
JSON 書き込みには Content-Type: application/json と、対応する非圧縮の本文を使用してください。
再試行方針
メディアタイプまたはエンコードを修正してから再試行します。
レスポンス
{
  "error": {
    "code": "request.unsupported_media_type",
    "fields": null,
    "message": "The request media type or encoding is not supported."
  },
  "meta": {
    "request_id": "example-request"
  }
}

416request.range_not_satisfiable制約: Range
対処方法
Range: bytes=0-(size_bytes-1)
再試行方針
リクエストを修正してから再試行します。
レスポンス
{
  "error": {
    "code": "request.range_not_satisfiable",
    "fields": null,
    "message": "The requested byte range is unavailable."
  },
  "meta": {
    "request_id": "example-request"
  }
}

422request.validation_failed1つ以上のフィールドまたはパラメーターが検証に失敗しました。
対処方法
error.fields を確認し、必須フィールド、null の可否、識別子、許可された値を確認してください。
再試行方針
修正したリクエストを再送します。変更した書き込みは新しい論理操作です。
レスポンス
{
  "error": {
    "code": "request.validation_failed",
    "fields": null,
    "message": "Some request parameters are invalid."
  },
  "meta": {
    "request_id": "example-request"
  }
}

429capacity.queue_fullAPIの短い待機キューが満杯です。リクエストの実行は開始されていません。
対処方法
リクエストをキューに入れ、Retry-After レスポンスヘッダーに従ってください。
再試行方針
Retry-Afterに示された秒数以上待ってください。書き込みを再試行する場合は、リクエスト本文とIdempotency-Keyの値を変えないでください。
レスポンス
{
  "error": {
    "code": "capacity.queue_full",
    "fields": null,
    "message": "The API is busy. Please retry shortly."
  },
  "meta": {
    "request_id": "example-request"
  }
}

429capacity.wait_timeoutAPIキューの待機時間が終了しました。リクエストの実行は開始されていません。
対処方法
リクエストをキューに入れ、Retry-After レスポンスヘッダーに従ってください。
再試行方針
Retry-Afterに示された秒数以上待ってください。書き込みを再試行する場合は、リクエスト本文とIdempotency-Keyの値を変えないでください。
レスポンス
{
  "error": {
    "code": "capacity.wait_timeout",
    "fields": null,
    "message": "The API could not start this request in time. Please retry shortly."
  },
  "meta": {
    "request_id": "example-request"
  }
}

429rate_limit.exceededリクエスト頻度が適用上限を超えています。
対処方法
リクエストをキューに入れ、Retry-After レスポンスヘッダーに従ってください。
再試行方針
Retry-Afterに示された秒数以上待ってください。書き込みを再試行する場合は、リクエスト本文とIdempotency-Keyの値を変えないでください。
レスポンス
{
  "error": {
    "code": "rate_limit.exceeded",
    "fields": null,
    "message": "The request rate limit has been exceeded."
  },
  "meta": {
    "request_id": "example-request"
  }
}

500internal.error予期しないサービスエラーが発生しました。
対処方法
少し待ってからリクエストを再送してください。エラー500が再び発生する場合は、リクエストIDを添えてShopentlyのテクニカルサポートにお問い合わせください。
再試行方針
データの読み取りは、少し待ってから再試行できます。書き込みを再試行する場合は、同じIdempotency-Keyを使い、リクエスト本文を変更しないでください。
レスポンス
{
  "error": {
    "code": "internal.error",
    "fields": null,
    "message": "An unexpected error occurred."
  },
  "meta": {
    "request_id": "example-request"
  }
}

502gateway.bad_responseゲートウェイが有効な API レスポンスを受信できませんでした。
対処方法
リクエスト識別子を保存してください。失敗レスポンスでも書き込みが未実行とは限りません。
再試行方針
回数を制限したバックオフを使います。同じ論理書き込みでは元の Idempotency-Key と内容を維持してください。
レスポンス
{
  "error": {
    "code": "gateway.bad_response",
    "fields": null,
    "message": "The API gateway could not obtain a valid response."
  },
  "meta": {
    "request_id": "example-request"
  }
}

503service.unavailableAPI が一時的にリクエストを処理できません。
対処方法
レスポンスにRetry-Afterヘッダーがある場合は、指定された秒数を待ってから再試行してください。ない場合も少し待ってください。エラーが続く場合は、リクエストIDを添えてShopentlyのテクニカルサポートにお問い合わせください。
再試行方針
上記の待ち時間を置いてから再試行してください。書き込みを再試行する場合は、同じIdempotency-Keyを使い、リクエスト本文を変更しないでください。
レスポンス
{
  "error": {
    "code": "service.unavailable",
    "fields": null,
    "message": "The API is temporarily unavailable."
  },
  "meta": {
    "request_id": "example-request"
  }
}

504gateway.timeoutゲートウェイが API の応答待ちでタイムアウトしました。
対処方法
データを変更するリクエストだった場合は、変更がストアに保存されているか確認してください。レスポンスがないことは、保存の失敗を意味しません。エラーが続く場合は、リクエストIDを添えてShopentlyのテクニカルサポートにお問い合わせください。
再試行方針
データの読み取りは、少し待ってから再試行できます。書き込みを再試行する場合は、同じIdempotency-Keyを使い、リクエスト本文を変更しないでください。
レスポンス
{
  "error": {
    "code": "gateway.timeout",
    "fields": null,
    "message": "The API gateway timed out."
  },
  "meta": {
    "request_id": "example-request"
  }
}