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個まで変更できます。 タイプ: 文字列 デフォルト: なし 有効な値: CartCreate または
| はい |
HMAC
|
ハッシュメッセージ認証コードは、暗号化された半角英数字で構成された文字列で、リクエストの認証に使用されます。 タイプ: 文字列 デフォルト: なし 有効な値: 値は、リクエストパラメータとその値、暗号関数、および関数の「キー」となるシークレットキーを使って計算されます。CartCreate によって返される値。 | はい |
ListItemId
|
タイプ: 文字列 デフォルト: なし 有効な値: 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は正の整数です。このパラメータを タイプ: 正の整数 タイプ: 文字列 デフォルト: なし 制約事項: Nは0~999までの正の整数です。REST クエリで必須です。 | Conditional |
ResponseGroup
|
返される値の種類を指定します。1つのリクエストに複数のレスポンスグループをカンマで区切って指定できます。 タイプ: 文字列 デフォルト: Cart | いいえ |
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レスポンスと同じです。