Pre-Launch Announcement: Proof of Delivery (POD) via Push Notifications
We are excited to announce upcoming enhancements to Amazon Shipping Push Notifications. In response to user feedback and to improve the shipping experience, we will be introducing Proof of Delivery (POD) information in Push Notification events for delivered shipments.
Key Updates
- Photo on delivery images: Available as a URL in Push Notification payload (if available)
- Signature Photo on delivery images: Available as a URL in Push Notification payload (if available)
- Receiver Information: Name of the person receiving and/or signing for the package (if available)
- Delivery location geo-coordinates: Latitude and longitude of the delivery location
These new features will be accessible through existing Push Notification subscriptions, enhancing the information available to shippers and integrators when a shipment is marked as delivered.
What is Changing?
The Push Notification payload for "Delivered" events only will now include a proofOfDelivery object when POD information is available.
Current Schema (Before):
{
"version": "0",
"id": "2d1cf554-e7f0-2362-6b2d-dd36bd4677e2",
"detail-type": "Tracking Detail",
"source": "AmazonShipping",
"account": "434519225125",
"time": "2023-01-23T11:09:42Z",
"region": "eu-west-1",
"resources": [],
"detail": {
"shippingPartyAccountId": "A1QWXXXXX0BXXI",
"trackingId": "test_tracking_id",
"eventTime": "2023-01-19T14:25:23Z",
"status": "Delivered",
"alternateLegTrackingId": "",
"eventCode": "Delivered",
"appId": "amzn1.sp.solution.4622520d-ef11-4366-aa17-5ff8bb0b9aea",
"shipmentType": "FORWARD",
"trackingDetailCodes": ["DeliveredToPorch"],
"version": 2,
"timeToLive": 1679569781,
"promisedDeliveryDate": "2023-01-19T15:39:23Z"
}
}
New Schema (After):
{
"version": "0",
"id": "2d1cf554-e7f0-2362-6b2d-dd36bd4677e2",
"detail-type": "Tracking Detail",
"source": "AmazonShipping",
"account": "434519225125",
"time": "2023-01-23T11:09:42Z",
"region": "eu-west-1",
"resources": [],
"detail": {
"shippingPartyAccountId": "A1QWXXXXX0BXXI",
"trackingId": "test_tracking_id",
"eventTime": "2023-01-19T14:25:23Z",
"status": "Delivered",
"alternateLegTrackingId": "",
"eventCode": "Delivered",
"appId": "amzn1.sp.solution.4622520d-ef11-4366-aa17-5ff8bb0b9aea",
"shipmentType": "FORWARD",
"trackingDetailCodes": ["DeliveredToPorch"],
"version": 2,
"timeToLive": 1679569781,
"promisedDeliveryDate": "2023-01-19T15:39:23Z",
"proofOfDelivery": {
"deliveryLocationCoordinates": {
"latitude": "51.5074",
"longitude": "-0.1278"
},
"deliveryImageURL": "https://amzn-s3-demo-bucket.s3.us-west-2.amazonaws.com/key?X-Amz-Algorithm=...",
"signatureImageURL": "https://amzn-s3-demo-bucket.s3.us-west-2.amazonaws.com/key?X-Amz-Algorithm=...",
"receivedBy": "John Doe"
}
}
}
Schema Details
The new proofOfDelivery object within the detail section:
| Field Name | Type | Description |
|---|---|---|
deliveryLocationCoordinates | Object | The geographical coordinates of the package delivery location (when available) |
deliveryLocationCoordinates.latitude | String | Latitude coordinate |
deliveryLocationCoordinates.longitude | String | Longitude coordinate |
deliveryImageURL | String | A temporary pre-signed URL providing access to the photo taken at the time of delivery (when available) |
signatureImageURL | String | A temporary pre-signed URL providing access to the photo of the signature (when available) |
receivedBy | String | The recorded person or entity who received the package (when available) |
Important Notes
- This update applies only to "Delivered" event notifications - POD data will not appear in other event types
- POD information will be provided only when available for the shipment
- The
proofOfDeliveryobject is optional and may not be present in all delivered event notifications
Critical: Image URL Expiration
The deliveryImageURL and signatureImageURL expires after 72 hours and is delivered only once.
Unlike the Tracking API where you can make another call to fetch a fresh URL, Push Notifications deliver the POD data in a single event. You must:
- Cache or store the image immediately upon receiving the notification
- Download and persist the image to your own storage if you need access beyond 72 hours
- Process the notification promptly to ensure you capture the image before the URL expires
If you miss the notification or fail to download the image within 72 hours, you can still retrieve a fresh URL by calling the getTracking API.
Timeline
We are currently in the final stages of development and testing. We anticipate launching these new features in April 2026.
FAQs
-
Why is POD data only included in "Delivered" events?
The Push Notification architecture is designed for immediate event delivery. POD data (photos, signatures, coordinates) is only captured at the moment of delivery, making the "Delivered" event the appropriate and only event where this information is relevant and available. -
What if the delivery image arrives late after the "Delivered" event is sent?
In some cases, delivery images may be processed after the initial "Delivered" event is dispatched. If POD data is not present in the delivered notification but becomes available later, you can retrieve it by calling the getTracking API. The Push Notification will not be re-sent with updated POD data to avoid message duplication. -
Can I continue using my existing Push Notification integration without changes?
Yes, you can continue using your existing integration without mapping the new fields. The addition of theproofOfDeliveryobject is backward compatible. However, we recommend against tightly coupling your implementation to the exact schema structure to accommodate future enhancements. -
Do I need to update my schema mapping immediately?
No, you can incorporate the new fields at your convenience. However, if you want to leverage POD information, you should update your integration to handle the newproofOfDeliveryobject. -
How long is the Image URL valid for?
The pre-signed URL expires after 72 hours (3 days). Since Push Notifications deliver POD data only once, you must download and store the image within this window. If you need the image after expiration, use the getTracking API to obtain a fresh URL. -
What action is required from my end?
To leverage the new POD fields in Push Notifications:- Update your notification handler to parse the
proofOfDeliveryobject - Implement immediate image download and storage logic
- Ensure your system can process notifications promptly to capture images before URL expiration
- Consider using the getTracking API as a fallback for any missed or expired POD data
- Update your notification handler to parse the
-
Will this impact my existing Push Notification subscriptions?
No, your existing subscriptions will continue to work. The newproofOfDeliveryobject will automatically be included in "Delivered" event notifications when POD data is available. No subscription changes are required. -
What if I'm tightly coupled to the current Push Notification schema?
If your integration strictly validates the incoming schema, you will need to update your schema definitions to accommodate the newproofOfDeliveryobject. We recommend implementing flexible schema handling to avoid breaking changes with future enhancements. Plan your integration update before the launch date. -
Is there a way to opt out of receiving POD information in Push Notifications?
Currently, there isn't an option to opt out. TheproofOfDeliveryobject will be included when available. If you don't need this information, you can simply ignore the field in your processing logic.
Additional Resources
For any questions or concerns, please contact your Amazon Shipping Account Manager or reach out to our support.
