The CartCreate and CartAdd operations are similar in that they both require you to add items to the cart. After creating a cart and adding the initial list of items using the CartCreate operation, you add additional items using the CartAdd operation. You cannot create an empty cart.
A cart can contain up to 50 entries in total. Each entry can have quantity greater than one, up to the maximum permitted by ECS (i.e., one product with a quantity of 3 constitutes only a single entry in the cart).
Select a specific item for purchase by specifying either an ASIN or an OfferListingId. The recommended approach for non-Amazon offer listings is to use the OfferListingId.
You can find this information through ItemLookup and ItemSearch operations with Offers and OfferFull response groups. Once you have determined the offer that the customer wishes to purchase and identified its OfferListingId or ASIN, you can create a cart for that customer and add the item(s) to the cart, in one CartCreate operation.
ASIN and OfferListingId values are not stored in the cart. Instead, cart entries and saved entries store:
CartItemId - entry identifier assigned as items are added to the cart. If you later want to change the quantity or delete the item, you must refer to the item by its CartItemId, rather than by ASIN.
ASIN
MerchantId or SellerId (UK, DE, JP, FR, CA: Amazon has a MerchantId and all other vendors have a SellerId. US: Amazon and Amazon partners have a MerchantId and other vendors have a SellerId.)
The following examples demonstrate how you can use the CartAdd and CartCreate operations. Be sure to replace the subscription ID and item identifiers with appropriate values.
Here is a REST example for creating a cart and using an offer listing ID. For SOAP requests, you would have an Items container element with an Item element for each cart entry, rather than the Item.x notation used for REST.
REST Examples [Show]
Here is an example of adding additional items to a cart using the CartAdd operation. For SOAP requests, you would have an Items container element with an Item element for each cart entry, rather than the Item.x notation used for REST.
REST Examples [Show]
This example demonstrates how to add multiple items to a cart in a REST request by specifying parameters Item.1, Item.2, Item.3, . . . , Item.50. For SOAP requests, you would have an Items container element with an Item element for each cart entry.
REST Examples [Show]
In addition to the usual output, such a request would return five items that are similar to the items in the cart in a Cart/SimilarProducts element.
The index numbers you use in a REST request to specify individual products are not retained after the item is added to the cart. For example, if you create a cart and add Item.1 the item will be added to the cart. You can later add another item with CartAdd specifying Item.1 and the item will be added correctly. In other words, the number that identifies a product in a CartAdd or CartCreate is used only temporarily for the operation request; that number is not retained and does not relate to any item ordering in the cart itself.
When you add an item to a cart (whether with CartCreate or CartAdd), you should note the following points:
Many products have a limitation on the quantity that can be added to the cart. Sometimes this is inherent to the product (e.g., one-of-a-kind jewelry items) and sometimes it is a limit set by the vendor (e.g., one per customer). If you add an item to the cart with a quantity that exceeds the allowed quantity, ECS will automatically reset the quantity to the maximum. No error will be generated. You must verify the quantity of the item in the returned cart to detect that the quantity has been capped in this way and notify the customer appropriately.
The Amazon database changes regularly. You may find a product with an offer listing ID but by the time to add it to the cart, the product is no longer available. In this case, the item is added as a saved item rather than a regular item. No error is generated.