Push Notifications - NDR Eligible Shipments

Push Notifications (WebHook) is a feature enabled by Amazon Shipping (IN marketplace only) which helps shippers/integrators to automatically receive NDR-eligible tracking IDs as soon as they become eligible without the need to make any external API calls. Developers, including shippers and integrators, can subscribe to updates for NDR eligible tracking IDs via their webhook URL endpoint.

Steps to Subscribe to Push Notification Feature:

  1. The shipper/integrator needs to provide their -
    1. Webhook URL
    2. Authentication Mechanism
    3. Shipper Account ID or Shipping Party Account ID (for whom push notifications are being setup)
    4. Point of contact emails.
  2. Once these details are shared with the Account Manager they will be able to request webhook subscription setup.
  3. The Account Manager will internally coordinate configuring and activating the subscription for notifications.

Supported Authentication Mechanisms

One of the following must be enabled by the Shipper/Integrator:

# Method Description Example
1 API Key

A token sent by Amazon in the request headers when delivering tracking information to your webhook URL.

X-API-KEY: abcdef12345
2 Query Parameter

A key-value pair passed in the URL. Useful when you want to express a request entirely in a URL.

https://example.com/webhook?X-Amz-Credential=<your-access-key-id>
3 Username & Password

A key-value pair passed in the header to authenticate the incoming request via username and password.

Basic Auth header
4 OAuth 2.0

Open Authorization framework. Amazon obtains an access token via OAuth 2.0 Client Credentials flow and presents it when calling your webhook.

Bearer token in Authorization header

Push Notifications payload follows this envelope structure with detail and few metadata fields: detail Object

NameDescriptionSchema
trackingIdTracking ID for the container for which tracking events are requested.TrackingId
latestDeliveryAttemptedDateThe ISO 8601 formatted timestamp of the latest delivery time.string (date-time)
deliveryAttemptCountDelivery attempts of the shipmentstring
shipmentStatusHigh-level status of the shipment.Status (enum)
reasonCodeThe reason code.string
paymentTypeMentions Prepaid/ CollectOnDelivery order typestring
ndrDueDateThe ISO 8601 formatted timestamp (UTC) of the NDR due date.string (date-time)
expectedDeliveryDateThe ISO 8601 formatted timestamp (UTC) of the expected delivery datestring (date-time)
appIdThe application id configured for webhook (optional)string
versionPayload schema version.integer
timeToLiveTTL value for the event.integer

Important: Ensure your webhook parser handles additional fields gracefully. We periodically enhance the payload with new attributes to make notifications more informative — these additions are backward-compatible, but if your parser is strict (e.g., fails on unrecognised fields), it may break when new fields are introduced. A flexible/lenient JSON parser that ignores unknown properties is recommended

Sample event:

{
  "version": "0",
  "id": "48af9743-336e-00eb-7194-de9975baa012",
  "detail-type": "NDR Events",
  "source": "AmazonShipping",
  "account": "434519225125",
  "time": "2024-02-21T19:33:09Z",
  "region": "eu-west-1",
  "resources": [],
  "detail": {
    "trackingId": "370379477568",
    "referenceID": " WBNBLR-37228",
    "latestDeliveryAttemptedDate": "2026-07-03T01:35:24Z",
    "deliveryAttemptCount": "2",
    "shipmentStatus": " Attempted ",
    "reasonCode": " Payment not ready",
    "paymentType": "CollectOnDelivery",
    "ndrDueDate": "2026-07-01T04:08:59Z",
    "expectedDeliveryDate": "2026-07-02T14:30:00Z",
    "shippingPartyAccountId": "A2P2W6RMQDPNGR ",
    "ndrEligible":"true",
    "eventTime":"2026-07-03T09:38:10Z"
  }
}

FAQs

Onboarding & Subscription

1. What is the need for push notifications?
Using push notifications helps shippers to automatically receive updates about NDR eligible shipments they become available.

2. Who can enable NDR Push Notification Tracking feature?
3rd Party Integrators and direct integrated shippers who are using Shipping V2 API to create shipments for Amazon Shipping carrier can use this feature to get NDR notifications

3. What details does the Shipper/Integrator need to provide to enable Push Notifications?

Detail Description Example
Webhook URL

Your HTTPS endpoint for receiving notifications

https://tracking.notification.xxx/webhook/amazon-shipping/
Authentication Method

Credentials for one of the 4 supported auth types

API Key: 93GXXXXXXAhq$XXX
Contact Email Address

Technical contact to receive alerts if webhook health is bad

[email protected]
Shipping Account Details

Customer's Shipping Account ID or Name

Name: NewShipper, SPID: AC123TY7890
Application ID (Optional)

AppId from Solution Provider Portal / Seller Central

amzn1.sp.solution.xx3gh3fc-xx12-4z74-c2c4-u1234567890r

4. Are HTTPS webhooks required?

Yes. HTTPS is a mandatory requirement for webhook URLs. Amazon will only accept and configure HTTPS-enabled webhook URLs to ensure secure communication and protect sensitive data during transmission

5. How long does it take to enable push notifications?

Push Notifications are configured via our tech team. You will receive a response within 5 business days

6. How can a Shipper/Integrator request Push Notification NDR?

Push Notifications can only be enabled for orders shipped with Amazon Shipping. As the subscription process is manual as of today, please contact your Amazon Account Manager for further assistance to enable Push Notification Tracking feature.

7. List of shipmentStatus and reasonCode?

shipmentStatus reasonCode
Attempted

Customer Unavailable
Payment not ready
Unable to contact customer
OTP not available
Other
Business closed
Customer not at address
Wrong address

Rejected

Not required
No items delivered
Customer rejected
Other

Undeliverable

Out of Jurisdiction
Other

Troubleshooting

8. My webhook is returning 401 Unauthorized — what's wrong?

Common causes:

  1. API Key mismatch — Verify the key-value pair matches what was configured during onboarding.
  2. OAuth token expired — Ensure your OAuth endpoint issues tokens with sufficient TTL.
  3. Username/Password incorrect — Verify the Basic Auth credentials match your endpoint's configuration.

9. I'm not receiving any events after subscription — what should I check?

  1. Verify your endpoint is publicly accessible (not behind a VPN or firewall).
  2. Ensure your endpoint returns HTTP 2xx for POST requests.
  3. Check that your authentication credentials are valid and accessible
  4. Contact your Amazon Account Manager to verify your subscription is active and enabled

Did this page help you?