カートを作成して商品を追加する
CartCreateオペレーションとCartAddオペレーションは、カートに商品を追加しなければならないという点でよく似ています。カートを作成して際歩の商品をカートに追加するときはCartCreateオペレーションを使い、商品をカートに追加するときはCartAddオペレーションを使います。最初に空のカートだけを作ることはできません。
カートには最大で50エントリまで商品を入れることができます。それぞれの商品の数量も1以上(最大値は商品ごとに異なります)に設定することができます。つまり、1つの商品をまとめて3つ購入する場合、エントリは1つということです。
購入したい商品は、ASINまたはOfferListingIdのどちらかで指定します。Amazon以外の出品者やマーチャントから販売されている商品を指定するときは、OfferListingIdを利用することをお勧めします。
OfferListingIdは、ItemLookupオペレーションやItemSearchオペレーションでレスポンスグループにOffersやOfferFullを指定すれば取得できます。カスタマーが購入したい商品のオファー(Amazonからまたは他の出品者から)を決定したら、そのオファーのOfferListingIdまたはASINを特定して、1度のCartCreateオペレーションだけでショッピングカートを作ることができます。
ASINとOfferListingIdの値はカートには保存されません。カートの各エントリには代わりに次のデータが格納されます。
CartItemId - カート内の商品に割り当てられるIDです。あとで商品の数量を変更したり、商品をカートから削除するときに、CartItemIdを指定する必要があります。ASINなどを指定することはできません。
ASIN
MerchantIdまたはSellerId (UK、DE、JP、FR、CAの場合、AmazonだけがMerchantIdを持ち、他の出品者はSellerIdを持っています。USでは、AmazonとAmazonのパートナーがMerchantIdを持ち、他のベンダーや出品者はSellerIdを持っています。)
カートを作成して商品を追加する
CartCreateオペレーションとCartAddオペレーションの使い方を紹介します。登録IDと商品の識別子は適切に変更してください。
以下は、OfferListingIdを使ってカートを作成するREST方式でのアクセスの例です。SOAPでアクセスする場合は、Itemsという要素の子要素としてItem要素を持つようにSOAPのBodyを構成します。Item.xというように識別子を使って並べるやり方はREST方式のみでSOAPでは使いません。
RESTの例 [表示]
| US | http://webservices.amazon.com/onca/xml?Service=AWSECommerceService &SubscriptionId=[ID] &Operation=CartCreate &Item.1.OfferListingId=[ID] &Item.1.Quantity=1 |
| UK | http://webservices.amazon.co.uk/onca/xml?Service=AWSECommerceService &SubscriptionId=[ID] &Operation=CartCreate &Item.1.OfferListingId=[ID] &Item.1.Quantity=1 |
| DE | http://webservices.amazon.de/onca/xml?Service=AWSECommerceService &SubscriptionId=[ID] &Operation=CartCreate &Item.1.OfferListingId=[ID] &Item.1.Quantity=1 |
| JP | http://webservices.amazon.co.jp/onca/xml?Service=AWSECommerceService &SubscriptionId=[ID] &Operation=CartCreate &Item.1.OfferListingId=[ID] &Item.1.Quantity=1 |
| FR | http://webservices.amazon.fr/onca/xml?Service=AWSECommerceService &SubscriptionId=[ID] &Operation=CartCreate &Item.1.OfferListingId=[ID] &Item.1.Quantity=1 |
| CA | http://webservices.amazon.ca/onca/xml?Service=AWSECommerceService &SubscriptionId=[ID] &Operation=CartCreate &Item.1.OfferListingId=[ID] &Item.1.Quantity=1 |
次の例では、CartAddオペレーションで商品を追加しています。SOAPでアクセスする場合は、Itemsという要素の子要素としてItem要素を持つようにSOAPのBodyを構成します。Item.xというように識別子を使って並べるやり方はREST方式のみでSOAPでは使いません。
RESTの例 [表示]
| US | http://webservices.amazon.com/onca/xml?Service=AWSECommerceService &SubscriptionId=[ID] &CartId=[CartId] &HMAC=[HMAC] &Operation=CartAdd &Item.1.ASIN=[ASIN] &Item.1.Quantity=31 |
| UK | http://webservices.amazon.co.uk/onca/xml?Service=AWSECommerceService &SubscriptionId=[ID] &CartId=[CartId] &HMAC=[HMAC] &Operation=CartAdd &Item.1.ASIN=[ASIN] &Item.1.Quantity=31 |
| DE | http://webservices.amazon.de/onca/xml?Service=AWSECommerceService &SubscriptionId=[ID] &CartId=[CartId] &HMAC=[HMAC] &Operation=CartAdd &Item.1.ASIN=[ASIN] &Item.1.Quantity=31 |
| JP | http://webservices.amazon.co.jp/onca/xml?Service=AWSECommerceService &SubscriptionId=[ID] &CartId=[CartId] &HMAC=[HMAC] &Operation=CartAdd &Item.1.ASIN=[ASIN] &Item.1.Quantity=31 |
| FR | http://webservices.amazon.fr/onca/xml?Service=AWSECommerceService &SubscriptionId=[ID] &CartId=[CartId] &HMAC=[HMAC] &Operation=CartAdd &Item.1.ASIN=[ASIN] &Item.1.Quantity=31 |
| CA | http://webservices.amazon.ca/onca/xml?Service=AWSECommerceService &SubscriptionId=[ID] &CartId=[CartId] &HMAC=[HMAC] &Operation=CartAdd &Item.1.ASIN=[ASIN] &Item.1.Quantity=31 |
次の例では、REST方式でカートに商品を複数追加する方法を示します。REST方式では、Item.1、Item.2、Item.3、・・・Item.50というパラメータで複数の商品を指定します。SOAPの場合は、Items要素の中に子要素としてItem要素をエントリごとに指定します。
RESTの例 [表示]
| US | http://webservices.amazon.com/onca/xml?Service=AWSECommerceService &SubscriptionId=[ID] &Operation=CartCreate &Item.1.OfferListingId=[ID] &Item.1.Quantity=17 &Item.2.ASIN=[ASIN] &Item.2.Quantity=1 &ResponseGroup=Request,Cart,CartSimilarities |
| UK | http://webservices.amazon.co.uk/onca/xml?Service=AWSECommerceService &SubscriptionId=[ID] &Operation=CartCreate &Item.1.OfferListingId=[ID] &Item.1.Quantity=17 &Item.2.ASIN=[ASIN] &Item.2.Quantity=1 &ResponseGroup=Request,Cart,CartSimilarities |
| DE | http://webservices.amazon.de/onca/xml?Service=AWSECommerceService &SubscriptionId=[ID] &Operation=CartCreate &Item.1.OfferListingId=[ID] &Item.1.Quantity=17 &Item.2.ASIN=[ASIN] &Item.2.Quantity=1 &ResponseGroup=Request,Cart,CartSimilarities |
| JP | http://webservices.amazon.co.jp/onca/xml?Service=AWSECommerceService &SubscriptionId=[ID] &Operation=CartCreate &Item.1.OfferListingId=[ID] &Item.1.Quantity=17 &Item.2.ASIN=[ASIN] &Item.2.Quantity=1 &ResponseGroup=Request,Cart,CartSimilarities |
| FR | http://webservices.amazon.fr/onca/xml?Service=AWSECommerceService &SubscriptionId=[ID] &Operation=CartCreate &Item.1.OfferListingId=[ID] &Item.1.Quantity=17 &Item.2.ASIN=[ASIN] &Item.2.Quantity=1 &ResponseGroup=Request,Cart,CartSimilarities |
| CA | http://webservices.amazon.ca/onca/xml?Service=AWSECommerceService &SubscriptionId=[ID] &Operation=CartCreate &Item.1.OfferListingId=[ID] &Item.1.Quantity=17 &Item.2.ASIN=[ASIN] &Item.2.Quantity=1 &ResponseGroup=Request,Cart,CartSimilarities |
カートのリクエストに対するレスポンスでは、通常のレスポンス内容に加えて、カート内の商品と関連のある商品を5件、Cart/SimilarProducts要素として返されます。
REST方式のリクエストで使用する個別の商品インデックス(Item.xのxの部分)はカートには保存されません。たとえば、CartCreateのときにItem.1として追加した商品があっても、次のCartAddのときに再度Item.1を指定できます。言い換えると、CartAddやCartCreateのときに利用したインデックス番号は、オペレーション用に一時的に使われるだけです。その後カートに残ったり、カートでの順序付けには利用されません。
カートの作成と商品の追加に関する注意事項
CartCreateオペレーションまたはCartAddオペレーションで商品をカートに追加するときには、次のことに注意してください。
多くの商品でカートに追加できる数量に制限があります。商品の性質状の制限(1つしかない貴金属など)もありますし、ベンダーによって制限されている(カスタマー1人に1つなど)場合もあります。商品についている制限を越える数量でカートに商品を追加すると、ECは自動的に数量を最大値に設定します。このときエラーにはなりません。レスポンスで返されるデータを確認して、数量制限がかかったことをカスタマーに知らせることをお勧めします。
Amazonのデータベースは頻繁に更新されます。商品を検索してOfferListingIdを取得しても、カートに追加する前に商品を入手できなくなってしまうこともありえます。この場合、商品をカートに追加すると「SavedForLater」の場所に保管され、購入可能な商品にはなりません。このときエラーにはなりませんので注意してください。
最近のコメント