CartModify

説明

CartModify オペレーションを使用すると、リモートショッピングカート内の商品の個数を変更したり、カートの商品を「今は買わない」に移動したり、カートに戻したり、MergeCartの設定を変更したりできます。

カート内の商品の個数を変更するには、CartIdおよびHMACの値を使用してカートを指定する必要があります。これらは、CartCreateオペレーションで返されます。HMACに類似の値として、 URLEncodedHMACも返されます。この値は、HMACを URLエンコードしたものです。+や/などの文字はURLに使えないので、URLエンコードが必要となります。HMACを自分でエンコードすることはせずに、URLEncodedHMACを、HMAC パラメータには使用してください。

また、 CartModify を使用してリモートショッピングカート内の商品の個数を変更するには、Quantityパラメータの値を変更します。カートから商品を削除するには、Quantityパラメータの値をゼロに設定します。また、カート内の特定の商品の個数を2倍にするには、Quantity の値を2倍にします。ただし、 CartModify を使用して新しい商品をカートに追加することはできません。

関連する CartCreate リクエストで、AssociateTagを指定した場合、すべての CartModify リクエストにアソシエイトタグの値を指定する必要があります。そうしないと、リクエストが失敗します。

利用可能なサイト

全ての国のサイト

リクエストパラメータ

名前説明必須
Action

Action パラメータは、両方の SOAP リクエストの Item パラメータの子要素です。Action パラメータは、カートの商品を変更して「今は買わない」(SaveForLater) に移動したり、「今は買わない」の商品をカートに戻す (MoveToCart) ために使用します。

タイプ: 文字列

デフォルト: なし

有効な値: MoveToCart | SaveForLater

いいえ
CartId

CartCreate によって返される、カートを識別するための半角英数字で構成された文字列。

タイプ: 文字列

デフォルト: なし

有効な値: CartCreate によって返される値。

はい
CartItemId

カート内で変更する商品を指定します。Nは1~10の正の整数です。一度に商品を10個まで変更できます。CartItemId は ASIN でも OfferListingId でもありません。これは、CartCreate および CartAddで返される半角英数字で構成された文字列です。このパラメータをItem.N.Quantityと組み合わせてカート内の商品の個数を変更します。詳細については、後述する Item を参照してください。

タイプ: 文字列

デフォルト: なし

有効な値: CartCreate または CartAddによって返される値。

はい
HMAC

ハッシュメッセージ認証コードは、暗号化された半角英数字で構成された文字列で、リクエストの認証に使用されます。

タイプ: 文字列

デフォルト: なし

有効な値: 値は、リクエストパラメータとその値、暗号関数、および関数の「キー」となるシークレットキーを使って計算されます。CartCreate によって返される値。

はい
ListItemId

ListItemIdパラメータは、ListItems レスポンスグループで返されます。このパラメータは、ほしい物リストなどのリストにある商品を示します。この商品をカートに追加するには、CartCreate リクエストに商品の ASIN と ListItemId を含める必要があります。ListItemId には、リストオーナーの名前とアドレスが含まれますが、ASIN にはこの情報は含まれません。

タイプ: 文字列

デフォルト: なし

有効な値: ListItems レスポンスグループによって返される半角英数字の識別情報。

いいえ
Item 変更する商品を指定します。一般的な構文は Item.1.CartItemId=[ID]; Item.1.Quantity=[数] です。はい
Items 1つ以上の Item オブジェクトのコンテナ。これは SOAP 独自のパラメータです。

有効な値: Item

制約事項: SOAP リクエストでのみ有効かつ必須です。

Conditional
MergeCart

ブール値。True の場合、カスタマーのリモートショッピングカートの商品がカスタマーの Amazon リテールショッピングカートに追加されます。カスタマーがリモートショッピングカートの商品の購入を決定すると、True に設定されます。この値が False(デフォルト)の場合、リモートショッピングカートの中身はリテールショッピングカートに追加されません。この場合、カートの商品の購入を決定すると、カスタマーはオーダーパイプライン(購入手続き)に直接移動します。このパラメータは、USサイトでのみ有効です。ほかのすべてのサイトでは無効ですが、リクエストは、パラメータの値がTrueに設定されている場合のように処理されます。

タイプ: ブール値

デフォルト: False (US)

有効な値: True | False

いいえ
Quantity

カスタマーがカートに入れる変更後の商品の個数を指定します。ここで、Nは正の整数です。このパラメータをItem.N.CartItemIdと組み合わせてカート内の商品の個数を変更します。Quantity の値は、インデックスナンバーNによってItem.N.CartItemId の値に対応付けられます。例えば、Item.1.CartItemIdはItem.1.Quantity に対応します。

タイプ: 正の整数

タイプ: 文字列

デフォルト: なし

制約事項: Nは0~999までの正の整数です。REST クエリで必須です。

Conditional
ResponseGroup

返される値の種類を指定します。1つのリクエストに複数のレスポンスグループをカンマで区切って指定できます。

タイプ: 文字列

デフォルト: Cart

有効な値:CartSimilarities | CartTopSellers | CartNewReleases

いいえ

CartModify には、すべてのオペレーションで使用できるパラメータを指定できます。詳細については、共通のリクエストパラメータをご参照ください。

レスポンス

名前説明
CartId CartCreate によって返される、カートを識別するための半角英数字で構成された文字列。
CartItemId カート内の商品を指定します。CartItemIdは、ASINでもOfferListingId でもありません。これは、CartCreateおよび CartAddで返される半角英数字で構成された文字列です。Item の子要素です。
HMAC CartCreate よって返される、カートを識別するためのハッシュメッセージ認証コード。これは暗号化された半角英数字で構成された文字列で、カートオペレーションの認証に使用されます。
Item REST では、CartItemId および Quantity の接頭辞であり、どちらも変更対象の商品を指定するために使用されます。例えば、「item.1.CartItemId=1234abcd, item.1.Quantity=2」は商品1234abcdの個数を2に変更します。
Items 複数の Item を指定する場合の Item のコンテナ。
Quantity Item とともに使用してカートに追加する商品の個数を指定する接尾辞。Item を参照してください。

これらのタグの親要素に関する詳細については、Response Groupsの該当するレスポンスグループを参照してください。

カート内にすでにある商品 Item.1 の個数を増やし、商品 Item.2 を削除します。

http://ecs.amazonaws.com/onca/xml?Service=AWSECommerceService&
AWSAccessKeyId=[AWS アクセスキー ID]&
AssociateTag=[アソシエイトID]&
Operation=CartModify&
CartId=[Cart ID]&
HMAC=[HMAC]&
Item.1.CartItemId=[Cart Item ID]&
Item.1.Quantity=10&
Item.2.CartItemId=[Cart Item ID]&
Item.2.Quantity=0

カート内の商品はCartItemIdによって参照され、以下のIDでは参照されません: ASIN , OfferListingId CartItemIdは、 CartCreate , CartGet , および CartAdd によって返されます。 CartModify を使用してカート内の商品を変更する場合は、CartItemIdを使用して商品を参照する必要があります。 CartGet を使用すると、CartItemIdが取得できます。

このリクエストに対するレスポンスをレスポンス例に示します。

商品 Item.1 を「今は買わない」に移動し、商品 Item.2 の個数を1に減らします。

http://ecs.amazonaws.com/onca/xml?
Service=AWSECommerceService&
AWSAccessKeyId=[AWS アクセスキー ID]&
AssociateTag=[アソシエイトID]&
Operation=CartModify&
CartId=[Cart ID]&
HMAC=[HMAC]&
Item.1.CartItemId=[Cart Item ID]&
Item.1.Action=SaveForLater
Item.2.CartItemId=[Cart Item ID]&
Item.2.Quantity=1

MergeCartの値を "True" に変更します。

http://ecs.amazonaws.com/onca/xml?
Service=AWSECommerceService&
AWSAccessKeyId=[AWS アクセスキー ID]&
AssociateTag=[アソシエイトID]&
Operation=CartModify&
CartId=[Cart ID]&
HMAC=[HMAC]&
MergeCart=True

MergeCartの値は、カート内のすべての商品に関係するため、MergeCartの値を変更することだけが目的の場合は、カート内の商品を個別に指定する必要はありません。MergeCartの値を "True" に変更すると、それに応じてPurchaseURLの値が変更されます。そのため、カスタマーがPurchaseURLを使用して商品の購入に進むと、リモートショッピングカートの中身が、カスタマーの Amazon のローカルショッピングカートに追加されます。

レスポンス例

次のXMLコードは、最初のリクエスト例の完全なレスポンスの一部です。

<CartModifyRequest>
  <CartId>103-8104506-5223005</CartId> 
  <HMAC>uiFluRr5yj+GGL3SvWD1mFDyvP0=</HMAC> 
  <Items>
    <Item>
      <CartItemId>UQIKL90WK14UD</CartItemId> 
      <Quantity>10</Quantity> 
    </Item>
  </Items>
</CartModifyRequest>

商品の個数が5から10に変更されています。 CartModify リクエストの残りの部分はCartCreateレスポンスと同じです。

関連オペレーション