Create a Webhook Subscription
Limited access
Marketplace APIs are not yet generally available. Please record interest in early access here.
You can receive updates about Marketplace API events by subscribing to webhooks. A webhook delivers real-time event data to an endpoint that your app exposes.
Create a Webhook Endpoint
Add an internet-accessible HTTPS endpoint to your app to receive and process webhook events. Make sure you note the endpoint URL.
Required webhook endpoints:
- Orders – Receive DoorDash orders
- Menu Status – Receive menu status callback notifications
- Menu Request – Receive requests from DoorDash to pull menu for a location
- Order Canceled – Notification when an order is canceled
Optional webhook endpoints:
- Order Release – Notification to release an order from POS to kitchen
- Dasher Status Updates – Notifications with Dasher location updates
Use the API Reference to understand the event payloads and fields sent with each webhook.
Secure Your Endpoint
- All webhook endpoints must be HTTPS.
- Protect your endpoint with an authentication token.
Configure Your Webhook in the Developer Portal
Each environment (Sandbox and Production) supports only one webhook endpoint. You must have production access before configuring a production webhook.
To configure a webhook subscription:
- In the Developer Portal, go to Webhook Subscriptions.
- Click the Configure Endpoint icon.
- Enter the following details:
- Environment (Sandbox or Production)
- Event type (for example, Orders, Menu Request)
- Endpoint URL
- Auth token
- Click Configure Endpoint to save.
Update an Existing Webhook Endpoint
To update a webhook in the Portal:
- From the Webhook Subscriptions page, find the existing endpoint.
- Click the three-dot menu next to the endpoint.
- Select Configure and update the details.
Example: Orders webhook payload
When a new order is created, DoorDash sends an Orders webhook event to your endpoint.
{
"event": {
"type": "OrderCreate",
"status": "NEW"
},
"order": {
"id": "abc12345",
"order_special_instructions": "",
"experience": "DOORDASH",
"is_pickup": true,
"estimated_pickup_time": "2019-08-24T14:15:22Z",
"subtotal": 2000,
"tax": 300,
"is_tax_remitted_by_doordash": true,
"tax_amount_remitted_by_doordash": 0,
"commission_type": "regular",
"delivery_short_code": "string",
"fulfillment_type": "dx_delivery",
"merchant_tip_amount": 0,
"tip_amount": 0,
"is_plastic_ware_option_selected": true,
"categories": [
{
"merchant_supplied_id": "Entree",
"name": "Entree",
"items": [
{
"merchant_supplied_id": "26d3fce0-efd2-46d3-832c-ced5bc956401",
"name": "Burrito Scram-Bowl",
"price": 0,
"quantity": 1,
"extras": [
{
"merchant_supplied_id": "INDIVIDUAL_SAUCES",
"name": "Signature Sauces",
"options": [
{
"merchant_supplied_id": "ADD_KETCHUP_INDIVIDUAL",
"name": "KETCHUP",
"price": 0,
"quantity": 1,
"extra": [
{
"merchant_supplied_id": "BREAKFAST_CONDIMENTS",
"name": "Breakfast Condiments",
"options": [
{
"merchant_supplied_id": "ADD_SALT",
"name": "Salt",
"price": 0,
"quantity": 1
}
]
}
]
}
]
}
]
}
]
}
],
"consumer": {
"id": 0,
"first_name": "Kelley",
"last_name": "W.",
"email": "[email protected]",
"phone": "+18559731040"
},
"store": {
"merchant_supplied_id": "abc12345",
"provider_type": "eatsa"
}
}
}