Webhooks: Business
Business webhooks send Amazon events for your Sellers and Vendors, such as order, listing, offer, inventory and shipment changes. In DataDoe, their webhook type is Amazon.
Read Webhooks: Introduction first. It covers setup, target URL requirements, security, the request body and failed deliveries for every webhook type. For free notifications about your Organization, use Webhooks: Platform.
Who can manage Business webhooks?
Users with the Webhooks permission at Read and write can create and manage Business webhooks. Each webhook needs at least 1 Seller or Vendor from your Organization. If you remove a Seller or Vendor from DataDoe, it is removed from the webhook the next time someone saves the webhook.
Each webhook has an execution owner. By default, it is the user who created the webhook. DataDoe delivers events only while the owner has the Webhooks permission and access to the webhook's Sellers and Vendors. An Admin can choose another user or a service account in Run as.
Who can deliver buyer information?
AMAZON_ORDER_BUYER_INFO_UPDATE and AMAZON_ORDER_FULL_BUYER_INFO require Amazon PII Data Access for the Organization and the execution owner's Access PII data permission. Creating, editing or resuming a buyer-information webhook checks this access for the editor and the execution owner.
What do Business webhooks cost?
Each delivered message costs 0.05 AI Tokens. DataDoe charges the tokens after your endpoint confirms the request with a 2xx status. High-volume message types can deliver many events. See Subscription and pricing.
When does DataDoe pause a Business webhook?
DataDoe pauses the webhook and sends none of the messages in that request when:
- a delivery fails, as described in Webhooks: Introduction
- your AI Token balance cannot cover all messages in the request
- the execution owner loses the Webhooks permission, access to the webhook's Sellers and Vendors, or the PII access a buyer-information type needs
DataDoe emails the active Organization Admins after a failed delivery or when tokens run out. It does not send an email when access is lost. Adding tokens does not resume the webhook. After you fix the cause, select Resume in Integrations > Webhooks (opens in a new tab). Events from the paused period are not delivered. If the owner lost access, an Admin can choose another owner in Run as and resume the webhook.
How does DataDoe group messages?
DataDoe groups Amazon events into requests of up to 100 messages. Grouping can delay a message by up to about 5 minutes. Each request goes to one webhook.
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_ORDER_FULL | Sent once when an Amazon order reaches an unshipped status, or already shipped, and the orders report is available. Not real-time. |
AMAZON_ORDER_FULL_BUYER_INFO | Same as AMAZON_ORDER_FULL, plus buyer and recipient details. Requires PII access. Not real-time. |
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_FULFILLMENT_ORDER_STATUS | An Amazon Multi-Channel Fulfillment order, shipment, or package changed status. Seller Central only. DataDoe subscribes automatically. |
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_PRICING_HEALTH | An Amazon offer became ineligible for the Featured Offer because of an uncompetitive price. |
AMAZON_TRANSACTION_UPDATE | Amazon transaction information became available or changed. |
AMAZON_FBA_INVENTORY_AVAILABILITY_CHANGES | Fulfillment by Amazon inventory availability changed. |
AMAZON_SHIPMENT_TRACKING_MILESTONE_CHANGED | An Amazon Tracking API shipment milestone changed. Available for the US Tracking API. Requires a subscription for each tracking identifier. DataDoe does not subscribe automatically. |
What is in a Business webhook message?
Each message uses the request body described in Webhooks: Introduction. The webhook catalog shows the full schema of each message type.
The 18 Selling Partner API (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 order message types retain their order-specific schemas.
Which order webhook should I use?
| Webhook | When it's sent | Payload | PII |
|---|---|---|---|
AMAZON_ORDER_UPDATE | Every order change, near real-time | SKU and quantity, plus the raw notification | No |
AMAZON_ORDER_BUYER_INFO_UPDATE | After the PII fetch | Buyer and recipient details | Yes |
AMAZON_ORDER_FULL | Once, at unshipped (or shipped), after the orders report | Full order and line items, including COGS when present | No |
AMAZON_ORDER_FULL_BUYER_INFO | Same as AMAZON_ORDER_FULL, after buyer information is available | Full order and line items, plus buyer info | Yes |
AMAZON_ORDER_FULL and AMAZON_ORDER_FULL_BUYER_INFO are sent once per order. Later status changes do not send them again. Use AMAZON_ORDER_UPDATE for those changes. DataDoe checks for new orders about once an hour. An order that ships before a check sees it unshipped, which is common for FBA orders, is still sent once, with its shipped status. Orders last updated more than 7 days ago are not sent. Sellers only: the full payload comes from the Seller Central orders report. AMAZON_ORDER_FULL_BUYER_INFO also needs PII access.
How do I subscribe to shipment tracking updates?
DataDoe does not subscribe to shipment tracking automatically. Before you can receive AMAZON_SHIPMENT_TRACKING_MILESTONE_CHANGED events, start an AMAZON_SHIPMENT_TRACKING_SUBSCRIBE Action for each tracking identifier. This Action is available to Sellers and Vendors on the US Tracking API only.
In MCP, use actions_details_schema_get to load the Action details, then call actions_start. Each entry in trackingIdentifiers must contain exactly one identifier field. Use proNumber for the PRO number assigned by the freight carrier, and keep any leading zeros. For example:
1{
2 "type": "AMAZON_SHIPMENT_TRACKING_SUBSCRIBE",
3 "sellerOrVendorId": "YOUR_SELLER_OR_VENDOR_ID",
4 "details": {
5 "trackingIdentifiers": [
6 {
7 "carrierTracking": {
8 "trackingNumber": "YOUR_TRACKING_NUMBER"
9 }
10 }
11 ]
12 }
13}A freight PRO number uses the same Action. Include only proNumber:
1{
2 "type": "AMAZON_SHIPMENT_TRACKING_SUBSCRIBE",
3 "sellerOrVendorId": "YOUR_SELLER_OR_VENDOR_ID",
4 "details": {
5 "trackingIdentifiers": [
6 {
7 "proNumber": "0012345678"
8 }
9 ]
10 }
11}After Amazon accepts the subscription, create a DataDoe webhook and select AMAZON_SHIPMENT_TRACKING_MILESTONE_CHANGED as a message type. See Actions for the full Action workflow and the REST API option.
How do I receive Multi-Channel Fulfillment updates?
Select AMAZON_FULFILLMENT_ORDER_STATUS when you create or edit a webhook, then choose the Seller accounts that should receive events. DataDoe subscribes those Seller accounts to Amazon's FULFILLMENT_ORDER_STATUS notification automatically. You do not subscribe to each order, shipment, or tracking number. This coverage is for Seller Central Multi-Channel Fulfillment in North America, Europe, and the Far East. It is not the Brazil FBA Onsite webhook (AMAZON_FBA_OUTBOUND_SHIPMENT_STATUS) and it is not limited to the US Tracking API.
Amazon sends three event kinds in payload version 2026-07-04. messageData.payload.eventType tells you which kind arrived:
eventType | What changed | Identifiers in the payload |
|---|---|---|
ORDER_STATUS_CHANGED | Fulfillment order status, including PROCESSING, COMPLETE, COMPLETE_PARTIAL, CANCELLED, UNFULFILLABLE, and INVALID. | order.orderId and order.status. Line items include identifiers, SKUs, and quantities when Amazon sends them. |
SHIPMENT_STATUS_CHANGED | Shipment status, including PROCESSING, SHIPPED, and CANCELLED. | order.orderId and order.shipments[].amazonShipmentId, plus shipped items and quantities. Package identifiers are included when Amazon sends them. |
SHIPMENT_PACKAGE_STATUS_CHANGED | Package delivery status, including IN_TRANSIT, OUT_FOR_DELIVERY, DELAYED, DELIVERED, UNDELIVERABLE, and EXPIRED. | order.orderId, shipment id, and packages[].packageId. |
Every delivery also includes the DataDoe Organization, Seller context, Amazon eventTimeUtc, and spApiNotificationId. Use messageId or spApiNotificationId to ignore a repeated delivery. Carrier tracking numbers, Amazon tracking numbers, and estimated delivery times appear only when Amazon includes them. Returns are not part of this notification. Orders created outside DataDoe are included when Amazon sends a notification for that Seller.
Enable the Multi-Channel Fulfillment coverage table (MCF Fulfillment Coverage) when you also want confirmed shipped units in DataDoe. The table keeps the latest shipped notification for each shipment item. It is not profit. External store sales, product cost, and Amazon fees are unavailable or omitted there. An omitted amount is not zero.

