Launch Announcement: Push Notification Location Details
In June 2026, Amazon Shipping Push Notifications will include location details for each tracking event, achieving parity with the Tracking API response.
What is changing?
Location Details in Push Notifications is an enhancement that adds location context (city, countryCode, postalCode, stateOrRegion) to each event in the Push Notification payload. Note: currently the location data are available over Tracking APIs to retrieve location information for shipment events.
With this launch, you'll be able to:
- Receive complete location context in real-time: Each push notification event will include the
locationobject with city, country code, postal code, and state/region — matching the Tracking API response structure. - Build unified integration logic: Use the same schema parsing for both Push Notification and Tracking API responses, simplifying your integration code.
Which marketplaces are affected?
This change applies to the following marketplaces: US, UK, FR, IT, ES, IN. The feature will be available starting June 2026 across all listed marketplaces simultaneously.
Who is affected?
Developers who subscribe to Amazon Shipping Push Notifications (webhooks) for tracking events are affected by this change. This is particularly relevant for applications that:
- Consume push notification payloads to display shipment tracking updates
- Currently make supplementary Tracking API calls to enrich push notification data with location details
What action is required?
If you have an application that integrates with Amazon Shipping Push Notifications, be sure to:
- Update your integration to parse the new
locationobject within each event in the push notification payload - Review the technical implementation details below for the updated schema
- Test your implementation in the sandbox environment before using in production
- No breaking changes: Existing integrations will continue to function — the
locationfield is additive. However, to benefit from the new data, you must update your parsing logic.
Technical Implementation Details
Location Details is available through the existing Push Notification delivery mechanism via Amazon EventBridge. Implementation requires parsing the new location object within the detail object of the EventBridge event. No changes to subscription or endpoint configuration are needed.
Sample Push Notification Payload — Location Available:
{
"version": "0",
"id": "65b79d6b-6a01-40da-8f3f-082c5f75364e",
"detail-type": "Tracking Detail",
"source": "AmazonShipping",
"account": "027953188649",
"time": "2026-06-15T14:22:00Z",
"region": "eu-west-1",
"resources": [],
"detail": {
"shippingPartyAccountId": "A14308235BEB9F",
"trackingId": "TBA123456789000",
"eventTime": "2026-06-15T14:22:00Z",
"status": "InTransit",
"alternateLegTrackingId": null,
"eventCode": "PickupDone",
"shipmentType": "FORWARD",
"trackingDetailCodes": [],
"promisedDeliveryDate": "2026-06-16T20:00:00Z",
"location": {
"city": "REDDITCH",
"countryCode": "GB",
"postalCode": "B98 9EZ",
"stateOrRegion": "West Midlands"
},
"version": 1,
"timeToLive": 1979569000,
"appId": "default-app-id"
}
}
Sample Push Notification Payload — Location Unavailable:
When location data is not available from the carrier, all location fields will be null:
{
"version": "0",
"id": "a3c91f2e-8b04-4d7a-b6e2-1f9a3c5d8e7b",
"detail-type": "Tracking Detail",
"source": "AmazonShipping",
"account": "027953188649",
"time": "2026-06-14T22:10:00Z",
"region": "eu-west-1",
"resources": [],
"detail": {
"shippingPartyAccountId": "A14308235BEB9F",
"trackingId": "TBA123456789000",
"eventTime": "2026-06-14T22:10:00Z",
"status": "PreTransit",
"alternateLegTrackingId": null,
"eventCode": "ReadyForReceive",
"shipmentType": "FORWARD",
"trackingDetailCodes": [],
"promisedDeliveryDate": "2026-06-16T20:00:00Z",
"location": {
"city": null,
"postalCode": null,
"countryCode": null,
"stateOrRegion": null
},
"version": 1,
"timeToLive": 1979569000,
"appId": "default-app-id"
}
}
Note: The location object is always present in the payload. When the carrier provides data for the event, fields are populated. Otherwise, all fields are null. Existing integrations that do not parse the location field will continue to function without changes.
Important:
1- Certain event codes — includingReadyForReceiveandDelivered— may return allnulllocation fields even when other events in the same shipment have location data.
2- ForDeliveredevents specifically, useproofOfDelivery.deliveryLocation(GPS coordinates) for precise delivery confirmation.
Schema Details:
| Field Name | Required/Optional | Description | Schema |
|---|---|---|---|
location | Always present | Location details for the tracking event. Matches the location structure in the Tracking API response. Fields within may be null if location data is unavailable from the carrier. | Object |
location.city | Nullable | City where the event occurred. | String |
location.stateOrRegion | Nullable | State or region where the event occurred. | String |
location.postalCode | Nullable | Postal code of the event location. | String |
location.countryCode | Nullable | ISO 3166-1 alpha-2 country code of the event location. | String |
Error Handling
This enhancement does not introduce new error responses. Push notification delivery behaviour remains unchanged. The location object is always present in the payload — when location data is unavailable, all sub-fields are null.
Ensure your parsing logic handles null values gracefully for all location sub-fields. Do not assume that a non-null countryCode guarantees other fields are populated.
FAQs
-
Is this a breaking change? Do I need to update my integration immediately?
No. Thelocationobject is an additive field. Existing integrations that do not parse thelocationfield will continue to function without changes. However, to consume the new location data, you will need to update your payload parsing logic. -
Will every event include the
locationobject?
Yes. Thelocationobject is always present in the payload. However, when the carrier does not provide node/facility data for an event, all fields withinlocationwill benull. -
Does the
locationobject in Push Notifications use the same schema as the Tracking API?
Yes. Thelocationobject structure (city, stateOrRegion, postalCode, countryCode) is identical to the Tracking API response, enabling you to use the same parsing logic for both. -
Is this available for all event types (e.g., PreTransit, InTransit, Delivered)?
Yes. Thelocationobject is present on every event. Fields are populated when carrier-provided location data is available, regardless of event type. -
Is Proof of Delivery (POD) also available in push notifications?
Yes. TheproofOfDeliveryobject is now included in push notification payloads forDeliveredevents where proof was captured. See the POD via Push Notifications announcement for full details. -
What is the difference between
locationandproofOfDelivery.deliveryLocation?locationproofOfDelivery.deliveryLocationPurpose Where a tracking event occurred (facility, hub, delivery address) Exact GPS coordinates where the package was physically delivered Present on Every event (PreTransit, InTransit, OutForDelivery etc.) Only Deliveredevents where GPS was capturedData type Address-level: city, stateOrRegion, postalCode, countryCode Coordinates: latitude, longitude Source Carrier node/facility data Delivery driver's device GPS at point of delivery Always present Yes (object always present; fields may be null)No ( proofOfDeliverymay benull)Use case Track shipment journey across locations Confirm exact delivery drop-off point
