Amazon Webサービスでショッピングカートを操作するメモ
セレブ買いを作ったときに勉強したAmazon Webサービスでのショッピングカートの使い方をメモしておきます。RESTを使ったので説明はRESTベースです。
Amazon Webサービスでショッピングカートの操作に使うOperationは5種類です。
- CartCreate
- CartAdd
- CartModify
- CartClear
- CartGet
1. CartCreate
CartCreateでショッピングカートを生成します。ここで生成されるカートはAmazon Webサービスを利用して構築されたサイト内で有効なカートであり、Amazonのサイトのショッピングカートとは別のものです。
空のカートは生成できません。カートを生成するにはカートに入れる商品を1個以上指定する必要があります。ASINが1234567890の商品を3個カートに入れる場合はItem.1.ASIN=1234567890&Item.1.Quantity=3のように指定します。
リクエスト例
http://webservices.amazon.co.jp/onca/xml? Service=AWSECommerceService &AWSAccessKeyId=[your aws access key id] &AssociateTag=[your associate tag] &Operation=CartCreate &Item.1.ASIN=1234567890&Item.1.Quantity=3 &Item.2.ASIN=xxxxxxxxxx&Item.2.Quantity=1 ...
CartCreateのリクエストを実行すると、成功した場合CartIdとHMACというパラメータを含むレスポンスが返ってきます。このCartIdとHMACによってAmazon Webサービスではカートを一意に識別しています。
2. CartAdd
カートを生成した後に商品をカートに追加する場合は、CartAddを利用します。追加する商品の指定方法はCartCreateの場合と同じです。リクエストにはCartCreateで生成されたCartIdとHMACを含めなければなりません。
リクエスト例
http://webservices.amazon.co.jp/onca/xml? Service=AWSECommerceService &AWSAccessKeyId=[your aws access key id] &AssociateTag=[your associate tag] &Operation=CartAdd &CartId=[returned cart id] &HMAC=[returned HMAC] &Item.1.ASIN=xxxxxxxxxx&Item.1.Quantity=1 ...
3. CartModify
カート内の商品の個数を変更したり、いくつかの商品を削除したりする場合は、CartModifyを利用します。CartModifyでの商品の指定方法はこれまでと異なります。ショッピングカートを扱うこれらのオペレーションに対するレスポンスには、カート内の商品それぞれにCartItemIdというパラメータが割り当てられています。カート内の商品の識別にはこのCartItemIdを利用します。ASINでは指定できません。Quantityを0に指定すれば商品を削除できます。
リクエスト例
http://webservices.amazon.co.jp/onca/xml? Service=AWSECommerceService &AWSAccessKeyId=[your aws access key id] &AssociateTag=[your associate tag] &Operation=CartModify &CartId=[returned cart id] &HMAC=[returned HMAC] &Item.1.CartItemId=xxxxxxxxxx&Item.1.Quantity=1 &Item.2.CartItemId=yyyyyyyyyy&Item.2.Quantity=0 ...
4. CartClear
カートを空にしたい場合にCartClearを利用します。CartIdとHMACが正しければそのカートの商品がすべて削除されます。
リクエスト例
http://webservices.amazon.co.jp/onca/xml? Service=AWSECommerceService &AWSAccessKeyId=[your aws access key id] &AssociateTag=[your associate tag] &Operation=CartClear &CartId=[returned cart id] &HMAC=[returned HMAC]
5. CartGet
カートの情報を取得したい場合にCartGetを利用するそうですが、セレブ買いでは利用していません。
リクエスト例
http://webservices.amazon.co.jp/onca/xml? Service=AWSECommerceService &AWSAccessKeyId=[your aws access key id] &AssociateTag=[your associate tag] &Operation=CartGet &CartId=[returned cart id] &HMAC=[returned HMAC]
商品の購入について
カートの商品を購入してもらうには、PurchaseURLで指定されるURLにアクセスしてもらう必要があります。PurchaseURLはCartCreateやCartModifyなどのオペレーションを実行した際のレスポンスに含まれています。このURLにアクセスすると、カートの商品がAmazonのショッピングカートにマージされます。マージされるとカートは空になります。
若干説明を省いている部分もありますが、とりあえずこれだけ把握していればAmazon Webサービスでショッピングカートを扱うことができるはずです。
参照
Amazon Web Services Developer Connection : Technical Documentation
コメントを残す