F.Ko-Jiの「一秒後は未来」

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のリクエストを実行すると、成功した場合CartIdHMACというパラメータを含むレスポンスが返ってきます。このCartIdHMACによって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

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

著者について

fkoji

F.Ko-Ji

Webエンジニアやってます。最近は ドットインストール の開発がお仕事です。その傍ら、個人で Meity電車遅延なう梅酒.in#グラドル自画撮り部 の部室といったネットサービスを開発・運営してます。梅酒と草野球とリアル脱出ゲームが好きです。

» 詳しいプロフィールや運営サービスの一覧など