LoginSignup
5
3

More than 5 years have passed since last update.

[Yahoo!ショッピングAPI] 注文に関するAPI 詳細なエラーコードについて

Last updated at Posted at 2015-05-01

この度、以下のAPIを商用利用するにあたり、エラーコードについて質問させて下さい。

注文に関するAPI

  • 注文ステータス別件数参照
  • 注文検索API
  • 注文詳細API
  • 注文ステータス変更API
  • 注文内容変更API

エラーメッセージおよびコード のページには、HTTPステータスコード別に、
以下のような内容の共通エラーが返ってくると記載されています。

コード 説明
400 Bad request. 渡されたパラメータがWeb APIで期待されたものと一致しない場合に返されます。このメッセージは何が間違っているか、何が正しくないかを伝えます。
401 Unauthorized. 許可されていないアクセスであった場合に返されます。
403 Forbidden. リソースへのアクセスを許されていないか、利用制限を超えている場合に適用されます。
404 Not Found. 指定されたリソースが見つからない場合に返されます。
500 Internal Server Error. 内部的な問題によってデータを返すことができない場合に返されます。
503 Service unavailable. 内部的な問題によってデータを返すことができない場合に返されます。

また、例として注文検索APIの固有のエラーコードは以下の通りになっています。

コード HTTPステータスコード 説明
od90101 400 リクエストパラメータエラーです。
od91801 404 注文ID FromTo検索において、存在しない注文IDが指定された場合です。備考 Detailへ存在しない注文IDを,区切りで返します。
od91133 500 BuyerIdのパラメータエラーです。
od91001 500 サーバトラブル等です。

注文検索APIはYahoo!IDによる認可が必要なAPIになりますので、わざと認可を外した
(「Yahoo!Japan>各アプリケーション上でのお客様情報の利用について」画面で「無効にする」をクリック)
状態でAPIをアクセスすると、以下のようなエラーが返ります。

<?xml version='1.0' encoding='UTF-8' ?>
<Error><Message>Use of API is not permitted.</Message>
<Code>px-04307</Code>
</Error>

このエラーが返った場合のHTTPステータスコードが403になるのですが、
HTTPステータスコードだけで判断すると
「Forbidden. リソースへのアクセスを許されていないか、利用制限を超えている場合に適用されます。」
となり、前者(リソースへのアクセスが許可されていない)ならばユーザへアラートを出すことも出来ますが
後者(利用制限を超えている)ならばユーザに知らせる意味の無いエラーとなってしまいますので
両者を区別したいと考えています。

また、複数店舗を運営しているユーザ企業の場合、ストアクリエイターProの「3:注文管理権限」の無いビジネスIDに紐付いた
Yahoo!IDで認可すると、APIアクセス時に以下のエラーコードが返ってきます。

<?xml version='1.0' encoding='UTF-8' ?>
<Error>
<Message>Use of API is not permitted. </Message>
<Code>px-14303</Code>
</Error>

px-04307、px-14303は全く同じメッセージですが、ユーザの対応方法が異なりますので、
対応方法を案内する場合、いずれのコードがどういったケースで返ってくるのか
という情報が必要になります。

当方の検索の仕方が悪ければ申し訳ありませんが、
"px-"から始まるエラーコードとそれらが返ってくる条件について、
詳細な対応表はどこかで確認できますでしょうか?
もしくは、エラーコードにルール等があらばご教授頂けますでしょうか。

よろしくお願いします。

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3