Track Delivery and Handle Order Outcomes
Learn how to track the delivery of an order and manage different situations.
Step 1. Retrieve Shipment and Tracking Details
Once Amazon creates a shipment, call getOrder to retrieve shipment details. Tracking information is found in the tracking object on each package.
Locate the tracking number at order.shipments[].packages[].tracking.carrier.trackingNumber. An order may have multiple packages; iterate through all entries in packages to collect them. If you subscribed to FULFILLMENT_ORDER_STATUS, the SHIPMENT_STATUS_CHANGED event provides the same tracking data.
Each shipment also includes amazonFacility.address with the address of the fulfillment center; retrieve this if you need the origin location for sales tax nexus determination. The address is available as soon as a shipment is created.
For packages that have reached DELIVERED status, check tracking.proofOfDelivery for proof of delivery. This field contains deliveryPhotoUrl, a time-limited URL for the delivery photo, and receivedBy, the name of the person who received the package. The location where the package was left is recorded in tracking.dropOffLocation. For more information, refer to Retrieve proof of delivery for a delivered package.
Step 2. Get Granular Tracking Events (optional)
Using the tracking number from Step 1, call the getShipmentTracking operation of the Tracking API to retrieve the complete carrier event history.
Step 3. Handle Order Outcomes
What you do next depends on the status of the order:
- Order Complete: The status changes to
COMPLETE. ConfirmunfulfillableAmountis0for all line items. - Order Partially Fulfilled: The status changes to
COMPLETE_PARTIAL. CheckunfulfillableAmounton each line item to determine how many units were not shipped. - Cancel an Order: Call
cancelOrderwhile the order is in thePROCESSINGstatus.
Important
You cannot cancel an order once it has shipped.
Updated about 1 hour ago

