プログラミングの最良事例

トピック

ここでは、Product Advertising API (Product Advertising API) 4.0 アプリケーションをもっとも効果的に運用するためのヒントを、チェックリスト形式で紹介します。

Product Advertising API ライセンス契約を読む

The Product Advertising API ライセンス契約には、Product Advertising API のすべてのアプリケーションに適用される制限事項が明記されています。 Product Advertising API のアプリケーションはいずれも、Amazon での購入を促進し、アソシエイトの紹介料を獲得することを目的としたものでなければなりません。アプリケーションを別の目的で設計している場合は、ご自身の Product Advertising API アプリケーションが Product Advertising API ライセンス契約に規定されているガイドラインを遵守しているか再確認の上、ガイドラインに沿った内容の設計としていただく必要があります。Product Advertising API ライセンス契約を満たしていないアプリケーションは、Product Advertising API にアクセスできなくなります。

最新の API バージョンを使用する

Product Advertising API では、最新バージョンを頻繁にリリースしています。更新がリリースされる度に新しい機能の追加や、正確性・処理速度、安定性の向上などが行われています。ほとんどの更新では、その全てが行われます。最新バージョンに関するドキュメントは http://aws.amazon.com/resources でご確認いただけますので、頻繁にチェックされることをお勧めします。

最新バージョンのAPIを使用するには、リクエストに Version パラメータを指定する必要があります。指定されていない場合 Product Advertising API は、デフォルトの 2005-10-05版を適用します。

Product Advertising API 3.0 は 2008年3月末にサービスが停止されました。必ず Product Advertising API 4.0 を使用して開発を行ってください。

利用可能なオペレーションについて理解する

Product Advertising API には、商品検索を容易にするオペレーションが豊富に用意されています。適切なオペレーションを使用することで、カスタマーにとってショッピングがより身近なものとなり、アソシエイトの紹介料の増加も期待できます。Product Advertising API オペレーションの詳細については、APIリファレンスを参照してください。次に一部を示します。

タスクオペレーション
商品とカテゴリの検索 ItemSearch, ItemLookup, および BrowseNodeLookup
関連商品の検索 SimilarityLookup, TagLookup
ほしい物リストとレジストリの参照 ListLookup
アプリケーションや Web サイトへのショッピングカート機能の提供 CartCreate, CartAdd, CartModify, および CartGet

適切なレスポンスグループを使用する

Product Advertising API の優れた機能の1つに、レスポンスの情報量を制御できる点があります。 レスポンスグループは、Product Advertising API で返されるデータの集まりです。Product Advertising API には 55を超えるレスポンスグループが用意されており、それぞれ異なるニーズを満たします。このため、これを適切に使用することで、自分のほしい情報だけを入手することが可能です。

情報量を適切に保つには、ご使用のアプリケーションが必要とする情報だけを返すレスポンスグループを指定することをお勧めします。Large、ItemAttributes、MerchantItemAttributes などのレスポンスグループは大量のデータを返します。返されるデータ量が多いと、リクエストを処理する Product Advertising API 側でも、またレスポンスを処理するアプリケーション側でも、パフォーマンスが低下するおそれがあります。

Product Advertising API リクエストにアソシエイトタグを使用する

Amazon の商品を販売することで紹介料を獲得するには、 Amazon にアソシエイトとして登録する必要があります。詳細については、https://affiliate.amazon.co.jp/をご参照ください。登録が完了すると、アソシエイトを識別するアソシエイトタグが設定されます。このアソシエイトタグを全ての Product Advertising API のリクエストに含めることによって、商品の適格収入に対する紹介料を受け取ることができます。

同時に、Amazon ではこのアソシエイトタグを利用して各アソシエイトの Product Advertising API 使用状況をモニターし、Web サービスの内容向上に役立てています。

エラーを処理する

ご自身のアプリケーションではエラーを適切に処理する設計となっているようご確認ください。そのためのひとつの方法は、IsValid 要素の状態を確認することです。IsValidは、すべてのリクエストで返されます。値が "False" の場合、リクエストが無効になった理由を説明するエラーメッセージが返されます。

通常、Product Advertising API から返される予期しないエラーは、ログに記録することをお勧めします。エラーが発生すると、エラーコードとエラーメッセージが返されます。コードは、エラーを識別するための説明を含んだ文字列です。エラーメッセージは読んで理解できる情報であり、カスタマーに対して表示することができます。アプリケーションで、予想されるエラーメッセージを処理できるようにしておく必要があります。

アプリケーションでは、意味のあるエラーメッセージがカスタマーに対して表示されるようにします。たとえば、Product Advertising API がエラー"AWS.ECommerceService.NoExactMatches" を返した場合、"リクエストに該当する結果がありません" といった説明を表示します。

アプリケーションが1秒間に送信できるリクエスト数を超えている場合、Product Advertising API は 503エラーを返します。これは、Product Advertising API が、ご利用中のアプリケーションからのリクエスト数を制限していることを意味します。Product Advertising API ライセンス契約には、1秒あたりに送信可能なリクエスト数が明記されています。

キャッシュは慎重に使用する

Product Advertising API の商品データは頻繁に変化します。 価格は1時間ごとに変動する場合があり、ブラウズノードの値は予告なしに変更されます。商品の在庫状況は随時変化します。そのため、商品データはキャッシュしないことをおすすめします。

Amazon から取得したカスタマー情報をキャッシュすることはProduct Advertising API ライセンス契約違反となります。

キャッシュすることでアプリケーションのパフォーマンス向上に貢献するのは、CartId, HMAC, および PurchaseURL です。

正確な AWSAccessKeyId を使用する

Product Advertising API 開発者になるには、Amazon に登録する必要があります。 登録・アカウント作成はhttp://aws.amazon.com から行えます。アカウントには AWSAccessKeyIdSecretKeyが含まれています。送信する Product Advertising API の全てのリクエストに、 AWSAccessKeyIdを指定する必要があります。アカウントはEメールアドレスにリンクされているため、Amazon からこのアドレスに連絡することがあります。

コミュニティフォーラム

Product Advertising API には、活発な開発者コミュニティがあります。このコミュニティは、APIに関する質問の答えを見つけたり、ほかの開発者とアイディアを共有したりできる有益なサイトです。コミュニティへの参加・投稿は、http://developer.amazonwebservices.com/connect/forum.jspa?forumID=9から行えます。日本語版へは、http://developer.amazonwebservices.com/connect/forum.jspa?forumID=19 からアクセスできます。