Skip to main content

Getting your first report

Overview​

DoorDash’s Reporting API provides access to standardized Financial, Operations and Menu Reporting data. The Reporting API has two endpoints and one webhook.

  • POST Create Reports endpoint - https://openapi.doordash.com/dataexchange/v1/reports
  • Report Ready Webhook
  • GET Report Link endpoint - https://openapi.doordash.com/dataexchange/v1/reports/[report_id]/reportlink

Below is a diagram that illustrates the order to properly request and receive a report

get_report

Step 1: POST Create Reports endpoint​

https://openapi.doordash.com/dataexchange/v1/reports

The Report Type is defined within the Request body. Once this request is sent the expected 202 response is a valid report ID that will be used to identify the report that will be downloaded in the subsequent GET Report request. If no business_ids or store_ids are present in both arrays then all stores assigned to the Reporting Partner will be returned.

Important - All IDs provided by the Partner within the business_id and store_id field need to be valid and approved through the Data Exchange Request process otherwise the request will return a 403.

Sample Request​

{
"business_ids": [239487234,293139],
"store_ids": [],
"start_date": "2022-08-01",
"end_date": "2022-08-03",
"report_type":"ORDER_DETAIL",
"report_version": 1
}

Sample Response​

{
"report_id": "f2a99881-5505-448a-a341-5bfc53b7c754"
}

Step 2: Wait for the Report Ready Webhook (Optional)​

This webhook is triggered whenever the report generation is complete on Doordash’s end. It can be used as a signal to initiate the Get Report request to download the Report requested in Step 1. The two statuses returned are FAILED and SUCCEEDED.

If the endpoint requires an authentication token. The partner must provide their Technical Account Manager with the token(minimum 64 characters) which will be stored on DoorDash and passed on all requests as authentication header.

Step 3: GET Report Request​

https://openapi.doordash.com/dataexchange/v1/reports/[report_id]/reportlink

The GET Report request will be the final step of the process thus completing the report request process. This endpoint will return the status of the report id provided in the request as well as a link to the report if the report job has been completed on Doordash’s end. If the returned status is PENDING, this request can be reissued until the link is returned when report creation is completed. Upon completion of report generation the status will be returned as SUCCEEDED and the report will be available for download.

  • The time interval between start Post request to generate a report to the report being ready in the subsequent Get report API call will be up to 5 minutes
  • The report link will only be valid for 20 seconds once it has been accessed
  • The report will return a .ZIP file with .CSV file enclosed

NOTE: If your build does not rely on DoorDash’s Report Ready webhook, then it is recommended that you poll this endpoint once every 2 minutes.