Skip to main content

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?

  1. Open Integrations > Webhooks (opens in a new tab) in DataDoe.
  2. Click New webhook and fill in:
    • Name — a label you recognize later
    • Target URL — your HTTPS endpoint that accepts POST requests
    • 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
  3. 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 typeDescription
AMAZON_ORDER_UPDATEAn Amazon order was created or updated.
AMAZON_ORDER_BUYER_INFO_UPDATEBuyer or recipient information for an Amazon order was updated.
AMAZON_ACCOUNT_STATUS_CHANGEDThe status of an Amazon selling account changed.
AMAZON_ANY_OFFER_CHANGEDOffer information for an item on an Amazon marketplace changed. High volume.
AMAZON_B2B_ANY_OFFER_CHANGEDBusiness offer information for an item changed. High volume.
AMAZON_BRANDED_ITEM_CONTENT_CHANGEContent for an item associated with a registered brand changed. Brand Registry only.
AMAZON_DETAIL_PAGE_TRAFFIC_EVENTTraffic on an Amazon product detail page changed. High volume.
AMAZON_FBA_OUTBOUND_SHIPMENT_STATUSThe status of an outbound Fulfillment by Amazon shipment changed. Brazil FBA Onsite only.
AMAZON_FEE_PROMOTIONAn Amazon fee promotion became available or changed.
AMAZON_ITEM_INVENTORY_EVENT_CHANGEInventory information for an Amazon item changed.
AMAZON_ITEM_SALES_EVENT_CHANGESales information for an Amazon item changed. High volume.
AMAZON_ITEM_PRODUCT_TYPE_CHANGEThe product type assigned to an Amazon item changed. Brand Registry only.
AMAZON_LISTINGS_ITEM_STATUS_CHANGEThe status of an Amazon listings item changed.
AMAZON_LISTINGS_ITEM_ISSUES_CHANGEIssues associated with an Amazon listings item changed.
AMAZON_LISTINGS_ITEM_MFN_QUANTITY_CHANGEThe merchant-fulfilled quantity for a listings item changed.
AMAZON_TRANSACTION_UPDATEAmazon transaction information became available or changed.
AMAZON_FBA_INVENTORY_AVAILABILITY_CHANGESFulfillment 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:

json
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:

FieldMeaning
deliveryIdUnique ID for this HTTPS delivery attempt.
organizationIdYour DataDoe Organization.
webhookIdThe subscription ID that received this delivery.
messagesOne or more events batched into this POST.
sellerOrVendorIdDataDoe Seller or Vendor context ID for the event.
messageIdUnique ID for a single event. Use this for idempotency and deduplication.
messageTypeEvent type, for example AMAZON_ORDER_UPDATE.
messageSummaryShort metadata about the event (structure varies by message type).
messageDataEvent 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:

  1. Pauses the subscription automatically.
  2. 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 localhost or *.localhost
  • accept POST requests

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).