DELIVERY_CANCELLED

📘

Buy with Prime API is now available for early access

Sign up for early access to the Buy with Prime API using the 'Sign Up' button below. The API may change as Amazon receives feedback and iterates on it.

The DELIVERY_CANCELLED event is published when one or more items were successfully cancelled from the specified order. Typically, this event is a result of a shopper cancelling some (or all) of the ordered items early enough that these items were never shipped. The cancellation reason is available in the order data, which you can get by calling the Buy with Prime API in response to this event.

The following examples are ways that you might use this event:

  • To enable customers to see on various touchpoints (for example, merchant order history, Amazon order history, Buy with Prime order details) that their item was cancelled, so that they're not waiting for their product.
  • To enable customer service agents to see that an item was cancelled, so that they can give the customer updated information if the customer reaches out by phone or email.
  • To enable developers to update their order management system and all of the downstream systems. Examples of downstream systems are analytics and reporting on business performance, accounting for remitting taxes, customer service agents helping customers who reach out, and so on.
  • To enable eCommerce managers to audit cancellations, so that they can make decisions about product updates or changes that they might need to make because customers aren't liking a particular product.
  • To enable eCommerce managers to audit products that are unfulfilled, so that they can either trigger re-supply, or some other action to resolve in the future.

After a DELIVERY_CANCELLED event is published, a REFUND_REQUESTED event is also published.

When you receive this event, you typically query the order to fetch the delivery information for all line items in the order. For details, see Handling the event.

Required permission

To subscribe to this event, your API credentials must have at least Read Order permission. You choose permission scopes when you generate your API credentials. For details, see Authenticate to the Buy with Prime API.

Schema

{
  "version": "0", 
  "id": "example-event-id", 
  "detail-type": "DELIVERY_CANCELLED", 
  "source": "aws.partner/buywithprime/partner-event-source-name",
  "account": "example-aws-account-id", 
  "time": "2023-10-27T12:34:56Z", 
  "region": "us-east-1", 
  "resources": [
    "businessProduct/business-product-id/order/order-id/delivery/delivery-id"
  ], 
  "detail": {}
}

Fields

KeyData TypeDescription
versionStringAmazon EventBridge event version.
idStringAmazon EventBridge-generated UUID for an event.
detail-typeStringType schema for the detail of the event, which in this case is DELIVERY_CANCELLED.
sourceStringName of the partner event source in Amazon EventBridge.
accountStringAWS account ID that hosts the partner event source.
timeStringISO 8601 timestamp that indicates when the event was published.
regionStringAWS region from which the event is published.
resourcesArray of stringsArray of identifiers for the resources that triggered the event, in key-value pair format. Each resource identifier is a string that starts with businessProduct/{businessProductId}/, followed by resource types (keys) and resource IDs (values) separated by slashes. For details about how to interpret resources, see How to process events.
detailObjectJSON object that contains details about the event. For this event, this object is empty; you must call the Buy with Prime API to find further information about the resource(s) specified in the resources array.

Handling the event

When you receive this event, take the following steps:

  1. Parse the resources array of the event to get the order ID and delivery ID.
  2. Using the order ID that you found in the resources array in the previous step, make an API call to the order query. For examples of how to perform this query, see Query a Buy with Prime Order.
  3. In the response, navigate to the lineItems.deliveryInformation.details array and find the element with the delivery ID that you found in the resources array of the event in step 1. There, you will find the details of delivery and a set of products delivered together to the customer. Several lines items can have the same delivery ID.
    Note: Depending on the moment that you call the Buy with Prime API with respect to delivery progress, the value of the state attribute in the delivery details is either IN_TRANSIT, CANCELLED, or DELIVERED. For more information, see DELIVERY_IN_TRANSIT and DELIVERY_COMPLETED.
  4. Find the reason for item cancellation from the deliveryInformation.details.reason field. This field can be one of the following values:
    • CUSTOMER_REQUESTED: The customer requested cancellation.
    • UNFULFILLABLE: Amazon is unable to fulfill this item.
    • UNDELIVERABLE: Failure during delivery.

Related topics