improved

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 location object 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 location object 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 location field 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 — including ReadyForReceive and Delivered — may return all null location fields even when other events in the same shipment have location data.
2- For Delivered events specifically, use proofOfDelivery.deliveryLocation (GPS coordinates) for precise delivery confirmation.

Schema Details:

Field NameRequired/OptionalDescriptionSchema
locationAlways presentLocation 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.cityNullableCity where the event occurred.String
location.stateOrRegionNullableState or region where the event occurred.String
location.postalCodeNullablePostal code of the event location.String
location.countryCodeNullableISO 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

  1. Is this a breaking change? Do I need to update my integration immediately?
    No. The location object is an additive field. Existing integrations that do not parse the location field will continue to function without changes. However, to consume the new location data, you will need to update your payload parsing logic.

  2. Will every event include the location object?
    Yes. The location object is always present in the payload. However, when the carrier does not provide node/facility data for an event, all fields within location will be null.

  3. Does the location object in Push Notifications use the same schema as the Tracking API?
    Yes. The location object structure (city, stateOrRegion, postalCode, countryCode) is identical to the Tracking API response, enabling you to use the same parsing logic for both.

  4. Is this available for all event types (e.g., PreTransit, InTransit, Delivered)?
    Yes. The location object is present on every event. Fields are populated when carrier-provided location data is available, regardless of event type.

  5. Is Proof of Delivery (POD) also available in push notifications?
    Yes. The proofOfDelivery object is now included in push notification payloads for Delivered events where proof was captured. See the POD via Push Notifications announcement for full details.

  6. What is the difference between location and proofOfDelivery.deliveryLocation?

    locationproofOfDelivery.deliveryLocation
    PurposeWhere a tracking event occurred (facility, hub, delivery address)Exact GPS coordinates where the package was physically delivered
    Present onEvery event (PreTransit, InTransit, OutForDelivery etc.)Only Delivered events where GPS was captured
    Data typeAddress-level: city, stateOrRegion, postalCode, countryCodeCoordinates: latitude, longitude
    SourceCarrier node/facility dataDelivery driver's device GPS at point of delivery
    Always presentYes (object always present; fields may be null)No (proofOfDelivery may be null)
    Use caseTrack shipment journey across locationsConfirm exact delivery drop-off point