「Service=AWSECommerceService」は、サービスとしてECSを利用するという意味になります。
「&SubscriptionId=」と「&AssociateTag=」には、前ページで取得したsubscription IDとアソシエイトIDを指定します。
「&Version=」は、ECS 4.0で新たに導入されたパラメータのひとつです。AmazonのECSサーバに新しく機能追加されるなど、ECSがバージョンアップすると、バージョンアップされた日付けが新しいVersionとなります。自分が開発するタイミングでの最新のバージョンを指定しておきましょう。
Versionを指定しなければ、ECSから取得する商品データが変更された場合など、自分の開発したアプリケーションに影響が出る可能性が高いため、必ず指定する必要があります。特にトラブルになりやすいのは、後述するXSLT機能を利用して、商品情報をHTMLに変換する場合です。
XSLT機能を利用すると、取得した商品情報XMLをHTMLに変換して表示することができます。作成するXSLT内ではXMLのnamespaceとして Versionを指定するのですが、RESTリクエストで指定するVersionと、XSLT内のnamespaceで指定するバージョンが異なっていると、XSLT変換が行われず、期待するレスポンスを受け取れません。
RESTリクエストでVersionを指定しないと、その時点での最新のVersionとみなされます。そのためXSLTを記述した時点では問題なく動作していても、ECSが新しいVersionに更新されると、動作しなくなる可能性があります。ここは、ECS 4.0で最初に気をつけなくてはならないポイントなので、しっかりVersionを指定しましょう。
ここまで追加したRESTリクエストのサンプルは、以下のリンクのようになります。このURLでリクエストすると、当然ですが「検索用のパラメータが足りないよ!」と怒られてしまいます。ただし、ECS 4.0からは、かなり具体的にエラーメッセージを表示してくれるため、何のパラメータが足りないかはすぐに把握することができます。この場合は、The Operation parameter が無いよと注意されます。
Operationパラメータとは、ECS 4.0に対してリクエストする問い合わせの種類になります。ECS 4.0では、商品情報以外にもさまざまなデータを取得することができ、Operationパラメータは以下のようなものがあります。
| The Operation parameter | 問い合わせの種類 |
|---|---|
| &Operation= | ItemSearch(商品名、著者名などで検索) |
| ItemLookup(ASINなどのItemIdで、商品を検索) | |
| ListSearch(リストマニア情報を検索) | |
| ListLookup(リストマニア情報をID検索) | |
| SimilarityLookup(関連商品の検索) | |
| Help(HELPを表示。開発ツールなど用) | |
| CartCreate(リモートショッピングカートを作成) | |
| CartClear(カートをクリア) | |
| CartAdd(カートに商品追加) | |
| CartModify(カート内の情報変更) | |
| CartGet(カートを取得) | |
| TransactionLookup(USのみ) | |
| CustomerContentSearch(USのみ) | |
| CustomerContentLookup(USのみ) | |
| SellerListingLookup(USのみ) | |
| SellerLookup(USのみ) | |
| SellerListingSearch(USのみ) | |
Amazon.co.jpでは利用できない機能もありますが、通常は、ItemSearchとItemLookupを主に使うことが多いでしょう。
ItemSearchは、商品名や著者、アルバムの曲名など、キーワード検索の際に指定します。ItemLookupは、ASIN番号などを指定して、特定商品を検索するのが主な用途です。
2番目は、検索結果として、どのような情報を取得したいか? というResponseGroup指定です。AWS 3.0ではSmall、Medium、Largeという3段階でしか取得情報のバリエーションを選べませんでした。しかし、ECS 4.0ではきめ細かに取得する情報を指定できます。
| ResponseGroup : | 取得したい情報 |
|---|---|
| &ResponseGroup= | Request(RESTリクエストのパラメータ) |
| ItemIds(商品のASIN、商品数、ページ数) | |
| Small(最小限の情報) | |
| Medium(中くらいの情報) | |
| Large(沢山の情報) | |
| ItemAttributes(商品の詳細情報) | |
| EditorialReview(商品の紹介文) | |
| Reviews(カスタマーレビュー) | |
| ListmaniaLists(リストマニア) | |
| Tracks(音楽CDの楽曲情報) | |
| SalesRank(売り上げランキング) | |
| BrowseNodes(商品がリストされるカテゴリ) | |
| Images(商品画像のURL) | |
| Similarities(関連商品) | |
| OfferFull(在庫情報や価格など) | |
| Offers(新品か中古かなど) | |
| OfferSummary | |
| Accessories(デジカメなどのアクセサリのASIN) | |
| Variation(以下をまとめて) | |
| VariationMinimum(シャツのサイズ違いなど関連ASIN) | |
| VariationSummary(最高値や最安値、出品数など) | |
ResponseGroupパラメータは組み合わせて使うことが可能であり、例えば最低限の情報と、関連商品の情報だけがほしい時は、「&ResponseGroup=Small,Similarities」などのようにカンマ(,)で区切って複数パラメータを指定することができます。自分のプログラムで利用する情報など、必要なResponseGourpは明示的に指定することを心がけましょう。
Copyright © ITmedia, Inc. All Rights Reserved.