Productsup
Add export

Add DoorDash exports

Use the DoorDash exports to keep your product catalog, store-level pricing and availability, and store hours up to date on DoorDash.

12 min read

Introduction

DoorDash is a US-based on-demand delivery platform where grocery and convenience retailers list their products for local delivery. Productsup has built the DoorDash exports to let you keep your DoorDash listings up to date automatically — your product catalog, your store-level pricing and availability, and your store opening hours.

DoorDash keeps three kinds of data separate — your product catalog, your store-level inventory, and your store details. Productsup provides four channels across them. You can add one, some, or all of them, depending on what you need:

ChannelWhat it sendsWhen to use it
DoorDash Items - APIYour product catalog — names, descriptions, images, and categories.You need your products listed on DoorDash.
DoorDash Inventory - APIStore-level pricing and availability as a delta — only what has changed since the last run is sent directly to DoorDash.You need price and stock changes to reach DoorDash between full refreshes.
DoorDash Inventory Pull - APIStore-level pricing and availability as a full catalog — every run prepares a complete per-store file that DoorDash collects itself.You need a regular full refresh of price and stock per store.
DoorDash Store Management - APIEach store's opening hours and holiday hours.You need your store hours synced to DoorDash.

Inventory has two flows that are designed to run in parallel. DoorDash Inventory Pull - API prepares a full per-store file that DoorDash collects, which keeps every store's complete price and stock position in sync. DoorDash Inventory - API pushes only what has changed since the last run, so price and stock changes reach DoorDash between full refreshes. Add both channels to keep your store inventory complete and current.

Each channel is added and set up separately, following the same steps.

The DoorDash exports cannot delete items or create stores. DoorDash has no delete operation, so to remove a product you mark it as unavailable instead. The DoorDash Store Management - API channel only updates stores that already exist on DoorDash — it cannot create new ones.

Prerequisites

To add a DoorDash export, you need:

  1. A DoorDash merchant account with API access enabled.
  2. Your DoorDash API credentials: Developer ID, Key ID, and Signing Secret. You enter these in the destination settings in Productsup.
  3. For the DoorDash Store Management - API channel, the stores you want to update must already be live on DoorDash.

Add and set up the export

Repeat these steps for each DoorDash channel you want to use.

Go to Exports from your site's main menu and select ADD EXPORT.

Search for the DoorDash channel you need — DoorDash Items - API, DoorDash Inventory - API, DoorDash Inventory Pull - API, or DoorDash Store Management - API — hover over it, and select Add.

On the Exports page, select the name of the added export to set it up.

Select Add Destination, choose the matching DoorDash destination from the drop-down list, give it a name as desired, and then select Save.

Enter your DoorDash API credentials in Developer ID, Key ID, and Signing Secret. These let the Productsup platform authenticate with your DoorDash account.

Switch Active to On to activate the destination.

Select Save.

Go to Dataflow from your site's main menu and select the added export from the drop-down menu in the upper ribbon.

Map the attributes from import to export, then run the export. See Use Dataflow to map your attributes from import to export for more information.

Map repeating fields

The channel template already includes the columns you map your data into. Some fields can repeat — for example, a store's opening hours or a product's images — and these come as numbered columns ending in _1, _2, _3, and so on. The template ships with a set number of these columns. If a store or product needs more, add the next-numbered column following the same name.

What repeatsAlready in the templateAdd more as
Store opening hours (Store Management)open_hours_day_index_1 to _8, each with its matching open_hours_start_time_N and open_hours_end_time_Nopen_hours_day_index_9, _10, and so on, with matching start and end times
Store holiday and special hours (Store Management)special_hours_date_1 to _5, each with its start time, end time, and closed valuespecial_hours_date_6, _7, and so on
Product images (Items)image_url_1image_url_2, image_url_3, and so on

Tip

For a day that has a break — for example, a store that closes for lunch — map that day a second time in the next available block. A seven-day store with one lunch break maps into blocks _1 to _8.

Caution

Keep the numbering in order from 1, with no gaps. A missing number stops the platform from picking up every column after it.

Map product attributes

The DoorDash Items - API channel can send DoorDash product attributes — extra descriptive properties such as limited edition, alcohol vintage, or battery required. You do not need these built into the template in advance; you add them yourself using custom numbered columns.

Each attribute uses two columns that share the same number: a name column and a value column.

  1. Add a name column, product_attribute_1_name, and set its value to the attribute's name exactly as DoorDash expects it — for example, limited_edition.
  2. Add one value column for that same attribute, chosen by the attribute's type:
    Value columnAttribute typeAccepted values
    product_attribute_1_multi_select_stringTextOne value, or several separated by commas
    product_attribute_1_multi_select_doubleNumberOne number, or several separated by commas
    product_attribute_1_single_select_boolTrue or falsetrue or false

To send a second attribute, add product_attribute_2_name with its own value column, then _3, and so on.

The name column and its value column must always share the same number. For example, product_attribute_2_name pairs only with product_attribute_2_multi_select_string — not with product_attribute_1_multi_select_string.

Delta export and category updates

The DoorDash Items - API channel is a delta export. Productsup's delta engine decides, per item, whether to send it as a POST (a new item, never sent before) or a PATCH (a modified item that has already been sent). Once an item has been sent once, every later export of that item goes out as a PATCH.

DoorDash's API only accepts category data (item_categorizations) on a POST. DoorDash rejects a PATCH that carries category data, and the whole item fails with the error "Item categorizations update using PATCH is not supported."

This has a practical consequence: for an item already sent once, a normal re-export cannot update its category. The delta always sends that item as a PATCH, which can never carry category data.

To force every item back through POST and send category data again, reset the site data in the site's Advanced Settings. This resets the delta completely, so the next export run treats every item as new and sends full category data for all of them.

Caution

Resetting the site data resets the delta for the entire site, not just category data. The next export run resends every item as a POST.

Check the feedback file

After each export, the platform retries any failed records automatically. Anything that still fails is written to a feedback file that names the product or store that failed and the reason DoorDash gave. The feedback file is the first place to look when something does not appear on DoorDash as expected.

The following table covers the most common issues:

What you seeLikely causeWhat to do
Some items show errors on the first runThe items already exist on DoorDash, and the export had no way to knowThis is expected. Later runs correct themselves.
Every record failsMissing, incorrect, or expired credentials in the destination settings, or a DoorDash outageCheck your credentials in the destination settings, then check DoorDash's status.
A store's hours are rejectedThe hours were not in the format DoorDash expectsCheck the feedback file for that store and review the hours formatting in your feed.
A store update fails with "not found"That store is not set up on DoorDash yetUse a store that is already live on DoorDash.
A product attribute does not appear on DoorDashThe name column and value column do not share the same number, the value column type is wrong, or the value is emptyCheck that the product_attribute_N_name column and its value column use the same number, and that the value is not blank.
An item fails with "Item categorizations update using PATCH is not supported"The item was already sent once, so the delta exported it as a PATCH, which cannot carry category dataSee Delta export and category updates. Reset the site data if you need category data resent.
An error never appears in the feedback fileDoorDash reported the problem after accepting the requestCheck your DoorDash developer portal.

On this page

Still stuck?

Reach out to our support team and we’ll help you get unstuck.

Contact support