ECS4.0

2006年05月08日 はてなブックマーク livedoorクリップ

ECS4.0の基本の基本(RESTのみ)

[概要]

Amazon Webサービス(AWS)の内、Amazon.co.jpの商品情報やカート機能を通じて商品を購入するまでのプロセス(過程)を支援するためのサービスをE-Commerce Service(ECS)と言います。ECSはXMLベースのWebサービスで、リクエストに応じてXMLデータを取得することができます。

※現在のバージョンは4.0なので、以下ECS4.0と記述します。


[ECS4.0へのリクエスト(前説)]

ECS4.0へリクエストする方法は、REST方式SOAP方式の2種類用意されていますが、ここではREST方式のみについて記述していきます(SOAPは説明がめんどくさいのでゴメンね☆)。機能的にはほとんど同じです。

ただ大きな違いがあるとすれば、REST方式ではHTTPプロトコルのGETでデータを取得するのに対して、SOAP方式ではPOSTする形でリクエストが送信されます。実際使っている側からすると大した違いはありませんが。。個人的にはパラメータを与えてデータを取得するREST方式の方が理にかなっている気はします(REST VS SOAPの話になると長くなるのでこの辺で)。

話がそれましたが、RESTではWebブラウザだけでリクエスト~XMLデータ取得まで出来てしまいます。なので、これからECSについて勉強したい方にはREST方式が手軽でオススメです。XMLデータの解析がメンドクサイとかは全く別次元の話です(笑。


[ECS4.0へのリクエスト(本題)]

では具体的なリクエスト方法について。実際にはベースのURL+パラメータを組み立てていくだけです。

[サンプル]

http://webservices.amazon.co.jp/onca/xml
?Service=AWSECommerceService
&AWSAccessKeyId=[あなたのAccessKeyId]
&Version=2005-10-05
&ContentType=text/xml&Operation=ItemSearch
&SearchIndex=Books&Keywords=BLOG

・固定パラメータ

固定のパラメータはこんな感じ(Operation・ResponseGroupを除く)。

1.ベースURL http://webservices.amazon.co.jp/onca/xml
2.Service AWSECommerceService
3.AWSAccessKeyId [あなたのAccessKeyId]
4.Version [ECS4.0のバージョン]
5.ContentType "text/xml" or "text/html"

1~3については固定です(複数のAccessKeyIdを使い分ける等の例外を除く)。

4のバージョンについてはECS4.0では日付によるバージョン管理がされており、例えば"2005-10-05"を指定するとその時のバージョンでデータを取得できます。これは、データ構造等の変更があった場合にでも対応できるよう作られたもので、一度バージョンを決定すれば、固定にするべきです。指定しない場合は最新のバージョンを自動的に取得しますが、WEBアプリ等を作った場合にはなるべく指定した方が安全でしょう。

5は表示形式の指定です。XSLを用いて(パラメータ"Style")表示する場合は"text/html"を、それ以外は"text/xml"で取得することになるでしょう。

・Operation・ResponseGroupパラメータ

上記の固定パラメータはECS4.0にアクセスする為の最低条件でしたが、"Operation"、"ResponseGroup"は実際に「何をする」か、「何を取得する」かを決める最重要パラメータです。

まず、"Operation"では商品を検索したり(ItemSearch)、商品の詳細データを取得したり(ItemLookup)、カートを操作したり(CartCreate,CartAdd等)、何をリクエストするかを決定します。

"ResponseGroup"では、どんなデータを取得するかを指定します。画像のデータの取得(Images)の有無や、レビューの取得、それとも最低限のデータのみ(Smallのみ)等、細かく取得するデータを指定できます。細かく指定するできる事で、必要なデータのみ取得しレスポンスを最適化することが可能です。また、複数のResponseGroupを指定する場合は、","(カンマ)でつないでいきます。(例:”Smal,Images,Offers”)

各々の種類は「OperationとResponseGroupの一覧」参照。

ただしこの二つは密接に関わっており、一つのOperationで指定できるResponseGroupは決まっています。ここら辺はマニュアルを読むか、今後のエントリーを期待しておいてください。


投稿者 shiz : 2006年05月08日 22:35

トラックバック

このエントリーのトラックバックURL:
http://mt.amonya.com/mt-tb.cgi/30

※トラックバックのリンク確認後に掲載させて頂きます。
(当エントリー又は当サイトへのリンクがない場合は掲載しません)

コメント
コメントしてください




保存しますか?