Skip to main content
A placed order moved to a new delivery stage. Show your customer where their order is the moment it changes, without asking Agentcard. Agentcard reads a DoorDash order about once a minute from the time it is placed until it is delivered or canceled, and sends one order.updated for every stage it has not reported yet.

Merchants that send this event

  • DoorDash
An order at any other merchant sends no order.updated, and GET /buy/orders/{order_id} answers tracking: not_available for it.

Follow an order’s stages

status carries the stage in Agentcard’s words, the same for every merchant. A DoorDash delivery walks the stages in this order: A pickup order reports ready_for_pickup in place of the courier stages. An order can skip a stage that happens between two reads: a courier who picks up and arrives within the same minute goes from courier_at_store to arriving, and previous_status names the stage you last heard. order.placed already covers the moment an order is placed, so no order.updated reports placed.

Show the merchant’s own words

status_title and status_detail carry the merchant’s own line for the stage, such as Your Dasher is nearby, ready to show as is. Either one is null when the merchant shows none. estimated_arrival is the window the merchant quotes at the time of the change, or null when it quotes none. The window can move between stages without a new event. Read the latest window with GET /buy/orders/{order_id}.

Handle a repeated event

Agentcard sends each stage of an order under one event id. A delivery that failed and is retried arrives with the same id, so dedupe on id.

Know when tracking stops

Agentcard stops following an order once it is delivered or canceled, six hours after it was placed, or once the merchant no longer lists the order. GET /buy/orders/{order_id} answers tracking: ended after that.