What are DataDoe Webhooks?
DataDoe Webhooks let your systems receive HTTPS callbacks when selected events happen for your Sellers and Vendors. Instead of polling DataDoe or the Selling Partner API (SP API) for changes, DataDoe POSTs a JSON payload to an endpoint you control as soon as matching events are ready.
Use Webhooks to trigger automations, sync Amazon events into your enterprise resource planning (ERP) or warehouse management system (WMS), or wake up downstream jobs when new notification data becomes available.
How do I set up a webhook?
- Open Integrations > Webhooks (opens in a new tab) in DataDoe.
- Click New webhook and fill in:
- Name — a label you recognize later
- Target URL — your HTTPS endpoint that accepts
POSTrequests - Message types — which events to subscribe to
- Sellers and Vendors — which DataDoe accounts should be included
- Secret header (optional) — a custom header name and value DataDoe sends on every delivery so you can verify requests
- Save the subscription. It starts in the Active state.
You can create multiple subscriptions per Organization, for example one endpoint for your ERP and another for an internal queue. When a single event matches more than one active subscription, DataDoe delivers it to each matching subscription separately.
Which message types are available?
| Message type | Description |
|---|---|
AMAZON_ORDER_UPDATE | An Amazon order was created or updated. |
AMAZON_ORDER_BUYER_INFO_UPDATE | Buyer or recipient information for an Amazon order was updated. |
AMAZON_ACCOUNT_STATUS_CHANGED | The status of an Amazon selling account changed. |
AMAZON_ANY_OFFER_CHANGED | Offer information for an item on an Amazon marketplace changed. High volume. |
AMAZON_B2B_ANY_OFFER_CHANGED | Business offer information for an item changed. High volume. |
AMAZON_BRANDED_ITEM_CONTENT_CHANGE | Content for an item associated with a registered brand changed. Brand Registry only. |
AMAZON_DETAIL_PAGE_TRAFFIC_EVENT | Traffic on an Amazon product detail page changed. High volume. |
AMAZON_FBA_OUTBOUND_SHIPMENT_STATUS | The status of an outbound Fulfillment by Amazon shipment changed. Brazil FBA Onsite only. |
AMAZON_FEE_PROMOTION | An Amazon fee promotion became available or changed. |
AMAZON_ITEM_INVENTORY_EVENT_CHANGE | Inventory information for an Amazon item changed. |
AMAZON_ITEM_SALES_EVENT_CHANGE | Sales information for an Amazon item changed. High volume. |
AMAZON_ITEM_PRODUCT_TYPE_CHANGE | The product type assigned to an Amazon item changed. Brand Registry only. |
AMAZON_LISTINGS_ITEM_STATUS_CHANGE | The status of an Amazon listings item changed. |
AMAZON_LISTINGS_ITEM_ISSUES_CHANGE | Issues associated with an Amazon listings item changed. |
AMAZON_LISTINGS_ITEM_MFN_QUANTITY_CHANGE | The merchant-fulfilled quantity for a listings item changed. |
AMAZON_TRANSACTION_UPDATE | Amazon transaction information became available or changed. |
AMAZON_FBA_INVENTORY_AVAILABILITY_CHANGES | Fulfillment by Amazon inventory availability changed. |
What does DataDoe send to my endpoint?
DataDoe sends an HTTPS POST with Content-Type: application/json. The body has this shape:
1{
2 "deliveryId": "550e8400-e29b-41d4-a716-446655440000",
3 "organizationId": "11111111-1111-4111-8111-111111111111",
4 "webhookId": "33333333-3333-4333-8333-333333333333",
5 "messages": [
6 {
7 "organizationId": "11111111-1111-4111-8111-111111111111",
8 "sellerOrVendorId": "22222222-2222-4222-8222-222222222222",
9 "messageId": "44444444-4444-4444-8444-444444444444",
10 "messageType": "AMAZON_ORDER_UPDATE",
11 "messageSummary": {},
12 "messageData": {}
13 }
14 ]
15}Each body field is described below:
| Field | Meaning |
|---|---|
deliveryId | Unique ID for this HTTPS delivery attempt. |
organizationId | Your DataDoe Organization. |
webhookId | The subscription ID that received this delivery. |
messages | One or more events batched into this POST. |
sellerOrVendorId | DataDoe Seller or Vendor context ID for the event. |
messageId | Unique ID for a single event. Use this for idempotency and deduplication. |
messageType | Event type, for example AMAZON_ORDER_UPDATE. |
messageSummary | Short metadata about the event (structure varies by message type). |
messageData | Event payload fields (structure varies by message type). |
Detailed webhook message schemas are in the interactive Webhooks Messages Schemas page.
The 15 SP-API notification message types share a stable contract. Their messageSummary always includes marketplaceId, sellerOrVendorId, spApiNotificationId, spApiNotificationType, and eventTimeUtc. It can also include marketplaceCountryCode, marketplaceCountryName, sellerOrVendorName, and marketplaceSellerId. Their messageData includes the Amazon notificationMetadata and the payload routed to the selected Seller or Vendor connection. The two order message types retain their order-specific schemas.
If you configured a secret header, DataDoe includes it on every request using the header name you chose.
What should my endpoint return?
Return any 2xx HTTP status to acknowledge successful processing. Non-2xx responses or network errors are treated as delivery failures.
What happens when a delivery fails?
If your endpoint returns a non-2xx status or the request cannot be completed, DataDoe:
- Pauses the subscription automatically.
- Emails Organization members.
After you fix the endpoint, open Integrations > Webhooks (opens in a new tab) and select Resume.
If you believe an invalid delivery is an error on DataDoe's side, please use the contact form (opens in a new tab).
What are the target URL requirements?
Target URLs must:
- use HTTPS
- use a domain name (not a raw IP address)
- not use
localhostor*.localhost - accept
POSTrequests
How is this related to real-time data?
Webhooks complement DataDoe's scheduled and real-time data pipelines described in Data Fetch Periods. Webhooks are the recommended way to get real-time data updates.
Where can I get help?
Use the contact form (opens in a new tab).

