2023.04.20 - Enhanced Error Codes

API Changes

Introduced new error codes:

  • CartErrorCode.CART_MODIFICATION_FORBIDDEN
  • StoreErrorCode.STORE_MODIFICATION_FORBIDDEN
  • SubmitStoreResultErrorCode.ALREADY_SUBMITTED
  • SubmitCartResultErrorCode.ALREADY_SUBMITTED

Modification and submission of an already submitted cart is now forbidden.

Previous behavior:

  • Cart modification: A submitted cart could be modified with no restrictions.
  • Cart submission: A submitted cart could be submitted again. The response was the same as for the first submission, but the actual submission (payment transactions/placing orders) did not happen.

New behavior:

  • Cart modification: A cart error with CART_MODIFICATION_FORBIDDEN code is returned when attempting to modify a cart with all stores submitted. A store error with STORE_MODIFICATION_FORBIDDEN code is returned when attempting to modify a cart with a particular store submitted.
  • Cart submission: A cart error with ALREADY_SUBMITTED code is returned when attempting to submit a cart with all stores submitted. A store error with ALREADY_SUBMITTED code is returned when attempting to submit a cart with a particular store submitted.

Updated Country enum - added the following country codes:

  • "Kosovo" XK
  • "Ascension Island" AC
  • "Tristan da Cunha" TA
  • "Turkey" TR

shipsToCountries field has been added to AmazonStore and ShopifyStore types. This field returns an array of country codes of countries available for shipping for this store.
Note: The list represents all countries supported by the store, but some products may not be shippable to all these countries.

BuyerIdentity:city field is now optional.

  • Introduced a new error code: OfferErrorCode.PROVINCE_REQUIRED_FOR_PROVIDED_COUNTRY

Presence of BuyerIdentity:provinceCode is now validated if AmazonStore.offer or ShopifyStore.offer field is queried. provinceCode must be provided for countries that have provinces/states.

  • Submitted cart is now fully idempotent:

selectedShippingMethod field is added to AmazonOffer and ShopifyOffer. The field is populated for an already submitted cart and contains shipping information that was provided upon cart submission. All other offer fields for a submitted cart return null or an empty array. Querying the submitted cart will always result in the same data.

  • integratedShopifyStore query was added, it allows getting paginated shopify store collections`
  • shopifyCollection query was added , it allows getting shopify store collection metadata, including title and description as well as products inside the collection. The products list can be paginated too.
  • Added a city validation for buyer identity and billing address - it checks if the city exists for a provided country and returns BUYER_IDENTITY_INVALID_CITY error code if the city was not found.

Resolved Issues

Validation of BuyerIdentity:provinceCode is now case-insensitive.