OCAPI HTTP ステータスコードとフォールト 23.1

Open Commerce API は、エラーや特殊なケースの処理に役立つ HTTP ステータスコードとフォールトを返します。

次の表に、HTTP ステータスコードとその典型的な使用ケースをリストします:

HTTP ステータスコードケース
200 (OK)GET、PUT、または POST リクエストが正常に完了しました。
201 (Created)POST または PUT リクエストがリソースまたは関係リソースを正常に作成しました。
204 (No Content)DELETE、HEAD、または OPTIONS (まれに、POST、PUT、または PATCH) リクエストが正常に完了ました。返されたコンテンツはありません。
400 (Bad Request)リクエストに、形式が正しくないパラメーター、ヘッダー値、ボディなどの無効な情報が含まれています。
401 (Unauthorized)リクエストの処理は許可されていません。
403 (Forbidden)サーバーによってリクエストが拒否されました。
404 (Not Found)リクエストされたリソースが存在しません。
405 (Method Not Allowed)指定された HTTP メソッドはリソースでサポートされていません。
409 (Conflict)リソースの現在の状態と競合しているため、リクエストを完了できませんでした。
412 (Precondition Failed)PATCH リクエストが期限切れの最後の既知のベースポイントを提供しました。これは、おそらく同時実行リクエストのためリソースがサーバーで変更されたことを意味します。
415 (Unsupported Media Type)"format" リクエストパラメーター (または Accept ヘッダー) で指定されたメディアタイプがサポートされていません。
500 (Internal Server Error)サーバーで予期しない状態が発生したため、リクエストを処理できません。

ステータスコードが 400 以上の場合、API はフォールトドキュメントを返します。

フォールトドキュメントには、type 識別子、読み取り可能な message、およびメッセージに組み込まれた値をリストする arguments マップが含まれています。マップで使用される keys は、ドキュメンテーションで指定されていない限り、'0'、1'、'2' の順番になります。値は null でも構いません。以下に、使用できる type プロパティ値と、その値で使用される形式の詳細をリストします:

値タイプ値の形式
booleanはい/いいえ{"type":"boolean","value":true}
date文字列の形式 'YYYY-mm-DD' (Y=年、m=月、D=日){"type":"date","value":"2015-07-01"}
datetime文字列の形式 'YYYY-mm-DDTHH:MM.mmmZ' (Y=年、m=月、D=日、H=時、M=分、S=秒、m=ミリ秒、Z はタイムゾーンで 'Z' で UTC を指定するか +01:00 や -03:00 などのオフセットで指定){"type":"datetime","value":"2015-07-01T08:22:15.000+02:00"}
decimal小数の数値{"type":"decimal","value":256.78}
integer整数の数値{"type":"integer","value":141}
stringプレーンな文字列{"type":"string","value":"A fox flew"}
time文字列の形式 'HH:MM.mmm' (H=時、M=分、S=秒、m=ミリ秒{"type":"time","value":"08:15:22.000"}

次のセクションで、各 HTTP ステータスコードで返されるフォールトについての情報を詳細に説明します。

フォールトタイプサンプルのフォールトメッセージ
ConstraintViolationException'count' 値の制約に違反しています。'(1..200)' の間の値が必要です。
IllegalHttpMethodOverrideExceptionHTTP メソッド 'PUT'、'PATCH'、'DELETE' のみを上書きできます。
InvalidBillingAddressException請求先住所が無効です。
InvalidBundledProductItemCountException更新するバンドル商品品目の数が、サーバーのバンドル商品品目の数と一致しません。
InvalidCouponItemExceptionクーポンコード 'SUMMER2012' が無効です。
InvalidCustomerInformationException顧客情報 'E メール' アドレスが無効です。
InvalidCustomPropertyExceptionリクエストに無効なカスタムプロパティがあります。
InvalidExpandParameterException無効な expand パラメーター 'foo' が見つかりました。
InvalidMessageException必須の属性 'E メール' を null または空にすることはできません。
InvalidOptionItemException商品オプション '保証' はサポートされていません。
InvalidPasswordExceptionパスワードが受け入れ基準に一致しません。
InvalidPaymentMethodExceptionID 'Paypal' の支払方法が不明か、買い物カゴには適用できません。
InvalidProductItemException商品 '0815' は不明か、オフラインか、サイトカタログに割り当てられていません。
InvalidShippingAddressException配送先住所が無効です。
InvalidShippingMethodIdExceptionID 'UPS' の配送方法が不明か、買い物カゴには適用できません。
InvalidUsernameExceptionユーザー名が受け入れ基準に一致しません。
MalformedLocaleException地域情報の値 'en+US' の形式が正しくありません。
MalformedMediaTypeExceptionヘッダーの Content-Type 'foo' の形式が正しくありません。
MalformedParameterExceptionパラメーター 'count' の値 '10p' の形式が正しくありません。
MalformedPathVariableExceptionパス変数 '(123,456)' の形式が正しくありません。複数の ID の正しい構文は (id1,id2,id3) です。文字 ( ) , が ID 自体の一部である場合は、URL エンコードする必要があります。
MalformedPriceRefinementException価格絞り込み '(0..5x)' の形式が正しくありません。'(0..100)' のような形式が必要です。
MalformedSelectorExceptionプロパティセレクター '(name,id)' の形式が正しくありません。
MissingClientIdExceptionクライアント ID が欠落しています。
MissingParameterExceptionパラメーター 'campaign_id' が欠落しています。
ProductItemNotAvailableException商品 '017845724321' は数量 '5' では入手できません。
QuotaExceededException買い物カゴあたりの商品品目の最大数を超過しました。
UnknownLocaleException地域情報 'foo' は不明です。
UnknownParameterExceptionパラメーター 'foo' は不明です。
UnsupportedLocaleException地域情報 'de-DE' はこのサイトでサポートされていないか、アクティブではありません。
UsernameAlreadyInUseExceptionユーザー名はすでに使用されています。
フォールトタイプサンプルのフォールトメッセージ
InvalidSecureTokenExceptionセッションが乗っ取られている可能性があります。
UnauthorizedExceptionクライアント '[your_own_client_id]' からのリソース '/s/SiteGenesis/dw/shop/v23_1/basket/this/checkout/submit' の未承認のリクエストです。
UnauthorizedOriginExceptionクライアント '[your_own_client_id]' からのオリジン 'foo.com' は承認されていません。
UnknownClientIdExceptionクライアント ID 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' は不明です。
フォールトタイプサンプルのフォールトメッセージ
SecureCommunicationRequiredExceptionセキュアな接続が必要です。
SiteOfflineExceptionサイト 'SiteGenesis' はオフラインで、アクセスできません。
フォールトタイプサンプルのフォールトメッセージ
InvalidVersionExceptionバージョン構文 'v23.1' は無効です。'v21_2' のような有効なバージョンを指定してください。
NotFoundExceptionサイト 'SiteGenesis' で ID '0815' の商品が見つかりませんでした。
ResourcePathNotFoundExceptionリクエストされた URL が Commerce Cloud Digital Rest URL パターンに一致するが、リソースパスが不明な場合 (たとえば、/dw/shop/v23_1/unknown/123)。
UnknownVersionExceptionバージョン 'v33.33' は不明です。有効なバージョンを入力してください。
フォールトタイプサンプルのフォールトメッセージ
MethodNotAllowedExceptionメソッド 'DELETE' は許可されていません。
フォールトタイプサンプルのフォールトメッセージ
NotAcceptableExceptionAccept-Charset ヘッダーの文字セット 'iso-8859-1' がサポートされていません。注: UTF-8 文字セットのみがサポートされています。
フォールトタイプサンプルのフォールトメッセージ
RequestEntityTooLargeExceptionリクエストボディのサイズの制限 5 MB を超過しました。
フォールトタイプサンプルのフォールトメッセージ
RequestUriTooLongExceptionリクエスト URL の長さの制限 2000 文字を超過しました。
フォールトタイプサンプルのフォールトメッセージ
UnsupportedMediaTypeExceptionドキュメント形式 'pdf' がサポートされていません。
フォールトタイプサンプルのフォールトメッセージ
InternalErrorException内部サーバーエラーです。