Drive Redelivery API Specification (0.0.1)
Last updated: December 8, 2022
Release Notes
0.0.1 (internal release)
- initial version
- added create redelivery api
Create a redelivery of a Drive order
Attempt to redeliver an existing completed or cancelled order. Must include a new delivery id to assign to the redelivery. Other delivery properties are optional. If they are not supplied, they will be inherited from the existing delivery.
path Parameters
external_delivery_id required | string/[a-zA-Z0-9-._~]+/ Example: D-1763 Unique (per developer) ID of the delivery. |
Request Body schema: application/json
external_delivery_id required | string/[a-zA-Z0-9-._~]+/ Unique ID generated by the caller for the delivery. Must be different than the ID of the existing delivery. |
locale | string (Locale) The language DoorDash should use when sending updates about this delivery. Supported locales : |
order_fulfillment_method | string (OrderFulfillmentMethod) Enum: "standard" "catering" "shop_stage" "shop_deliver" "parcel" "large_order" Type of fulfillment required for Delivery ("shop_stage" and "shop_deliver" for DSD/DSS delivery; "parcel" for parcel delivery. "catering" is deprecated.) |
origin_facility_id | string (OriginFacilityId) Merchant warehouse id for the midmile |
pickup_address | string (PickupAddress) Comma-separated full address, in the order appropriate for your locale. Overridden by store properties if pickup_external_store_id and pickup_external_business_id are used. |
pickup_business_name | string (PickupAddressName) Optional name of the place, to help Dashers find the location. Overridden by store properties if pickup_external_store_id and pickup_external_business_id are used. |
pickup_phone_number | string (Pickup Phone number) The phone number for the Dasher to call if there are any issues with the pick up. Should include the country code and must match the country of the store for which the delivery is created. Overridden by store properties if pickup_external_store_id and pickup_external_business_id are used. Must adhere to E.164 international phone number standard. |
pickup_instructions | string (PickupInstructions) Instructions for the Dasher to follow when picking up the order. |
pickup_reference_tag | string (ReferenceTag) A reference that can help Dasher identify the correct delivery item for pick up/drop-off. |
pickup_external_business_id | string (ExternalBusinessId) /^[A-Za-z0-9_-]{3,64}$/ The string identifier used to create your business. Used in combination with pickup_external_store_id to select the pick up location. If you provide an pickup_external_business_id, you must also provide an pickup_external_store_id. |
pickup_external_store_id | string (ExternalStoreId) /^[A-Za-z0-9_-]{3,64}$/ The string identifier used to create your store. If you provide an pickup_external_store_id, you must also provide an pickup_external_business_id. If you provide an pickup_external_store_id, the address of the store will override the pickup_address in the request. |
object (PickupVerificationMetadata) Optional pickup verification metadata. Use this to enable order level pickup verification | |
dropoff_address | string (DropoffAddress) Comma-separated full address, in the order appropriate for your locale. |
dropoff_business_name | string (DropoffAddressName) Optional name of the place, to help Dashers find the location. |
object (Location) [Pre-release field: submit a ticket in the Developer Portal or reach out to your DoorDash contact if you would like to provide precise location information.] The precise location, as latitude and longitude, of the drop-off. If your request includes both location and address, location will be used for Dasher navigation only; address will be used for fee and serviceability checks. | |
dropoff_phone_number | string (Drop-off Phone number) The phone number for the Dasher to call if there are any issues with the delivery. Should include the country code. Must adhere to E.164 international phone number standard |
dropoff_instructions | string (DropoffInstructions) /^[A-Za-z0-9_-]{3,64}$/ Instructions for the Dasher to follow when picking up the order. |
dropoff_contact_given_name | string (GivenName) [^~`@#\$%\^&\*\+=\?;\[{\]\}] Given/first name of the contact. |
dropoff_contact_family_name | string (FamilyName) [^~`@#\$%\^&\*\+=\?;\[{\]\}] Family/last name of the contact. |
dropoff_contact_send_notifications | boolean (SendNotifications) Whether the contact will receive notifications from DoorDash for this delivery. The default is true. |
object (DropoffOptions) Additional options for drop off | |
United States (object) or Canada (object) or Australia (object) or New Zealand (object) (DropoffAddressComponents) The Dropoff address broken down into independent components. | |
object (DropoffPinCodeVerificationMetadata) An object that specifies the dropoff pin code verification related details for this order. When "pin_code" is set in "dropoff_options.proof_of_delivery", the object must include relevant pin code data. Conversely, if "pin_code" is not set as "proof_of_delivery", the object should exclude any pin code data. Pin Code can be enabled only for orders that are non-contactless and not unattended deliveries. Please reach out to Doordash to enable this feature for your business. | |
contactless_dropoff | boolean (Contactless) Whether the delivery should be contactless, which prompts a Dasher to take a picture of the delivery at drop-off. |
action_if_undeliverable | string (ActionIfUndeliverable) Enum: "return_to_pickup" "dispose" What the Dasher should do if the delivery is undeliverable. The default is "dispose". See Create return to pickup deliveries for more information. |
tip | integer <int32> (Tip) >= 0 The tip amount. Use cents or the equivalent lowest currency denomination (e.g. $5.99 = 599). |
object (OrderContains) An object that specifies the restricted item(s) contained in this order. | |
dasher_allowed_vehicles | Array of strings (DasherAllowedVehicles) Items Enum: "car" "bicycle" "walking" The vehicle type(s) that a Dasher can use to complete this delivery. The default is "car". |
dropoff_requires_signature | boolean (SignatureRequired) Whether the delivery requires signature verification during drop-off. |
promotion_id | string (PromotionId) The ID of the promotion that you want to apply to the delivery. If the promotion ID is valid and the promotion is active, the response |
dropoff_cash_on_delivery | integer <int32> >= 0 The cash to collect when this order is dropped off, value in the lowest currency denomination (e.g. cents). i.e. $19.99 = 1999. [Pre-release field: Submit a ticket or reach out to your DoorDash contact if you would like to accept cash on delivery.] |
order_route_type | string (OrderRouteType) Value: "roundtrip" Type of route required for the delivery ("roundtrip" for deliveries that require the Dasher to return to the pickup location after dropoff). If this field is not specified, the default type is the standard point to point delivery. |
order_route_items | Array of strings (OrderRouteItems) Items Enum: "check" "cash" |
order_value | integer <int32> (OrderValue) >= 0 The subtotal for all items in the order, excluding tax/tip, in the lowest currency denomination (e.g. cents). i.e. $19.99 = 1999. |
currency | string (Currency) Currency of the order |
Array of objects (DeliveryItem) The items included in the order. | |
pickup_time | string (TimeDetails) Time details in ISO-8601 format. |
dropoff_time | string (TimeDetails) Time details in ISO-8601 format. |
object (TimeWindowDetails) The UTC date-time (in ISO-8601 format) overrides dropoff_time and pickup_time when all four parameters of the time window (pickup_window_start_time , pickup_window_end_time , dropoff_window_start_time , dropoff_window_end_time) are provided. | |
object (TimeWindowDetails) The UTC date-time (in ISO-8601 format) overrides dropoff_time and pickup_time when all four parameters of the time window (pickup_window_start_time , pickup_window_end_time , dropoff_window_start_time , dropoff_window_end_time) are provided. |
Responses
Request samples
- Payload
{- "external_delivery_id": "D-1763",
- "locale": "en-US, fr-CA, es-US",
- "order_fulfillment_method": "standard",
- "origin_facility_id": "MERCHANTA-CA-1",
- "pickup_address": "901 Market Street 6th Floor San Francisco, CA 94103",
- "pickup_business_name": "Wells Fargo SF Downtown",
- "pickup_phone_number": "+16505555555",
- "pickup_instructions": "Go to the bar for pick up.",
- "pickup_reference_tag": "Order number 61",
- "pickup_external_business_id": "ase-243-dzs",
- "pickup_external_store_id": "ase-243-dzs",
- "pickup_verification_metadata": {
- "verification_type": "SCAN_BARCODE",
- "verification_code": "12345",
- "verification_format": "CODE_39"
}, - "dropoff_address": "901 Market Street 6th Floor San Francisco, CA 94103",
- "dropoff_business_name": "The Avery Condominium",
- "dropoff_location": {
- "lat": 123.1312343,
- "lng": -37.2144343
}, - "dropoff_phone_number": "+16505555555",
- "dropoff_instructions": "Enter gate code 1234 on the callbox.",
- "dropoff_contact_given_name": "John",
- "dropoff_contact_family_name": "Doe",
- "dropoff_contact_send_notifications": true,
- "dropoff_options": {
- "signature": "required",
- "id_verification": "required",
- "proof_of_delivery": "photo_required",
- "catering_setup": "required"
}, - "dropoff_address_components": {
- "street_address": "901 Market Street",
- "sub_premise": "Apt. 121",
- "city": "San Francisco",
- "state": "CA",
- "zip_code": 94103,
- "country": "US"
}, - "dropoff_pin_code_verification_metadata": {
- "pin_code_type": "customer_phone_number",
- "pin_code_value": "1234"
}, - "contactless_dropoff": false,
- "action_if_undeliverable": "return_to_pickup",
- "tip": 599,
- "order_contains": {
- "alcohol": false,
- "pharmacy_items": false,
- "age_restricted_pharmacy_items": false,
- "tobacco": false,
- "hemp": false,
- "otc": false
}, - "dasher_allowed_vehicles": [
- "car",
- "bicycle",
- "walking"
], - "dropoff_requires_signature": false,
- "promotion_id": "ee680b87-0016-496e-ac3c-d3f33ab54c1c",
- "dropoff_cash_on_delivery": 1999,
- "order_route_type": "roundtrip",
- "order_route_items": [
- "check"
], - "order_value": 1999,
- "currency": "USD",
- "items": [
- {
- "name": "Mega Bean and Cheese Burrito",
- "description": "Mega Burrito contains the biggest beans of the land with extra cheese.",
- "quantity": 2,
- "external_id": "123-123443434b",
- "external_instance_id": 12,
- "volume": 5.3,
- "weight": 2.8,
- "length": 2.8,
- "width": 2.8,
- "height": 2.8,
- "price": 1000,
- "barcode": 12342830041,
- "item_options": {
- "substitute_item_ids": [
- "123443434",
- "123443435"
], - "weight_unit": "oz",
- "substitution_preference": "refund"
}, - "adjustment_details": {
- "addition_source": "dasher"
}
}
], - "pickup_time": "2018-08-22T17:20:28Z",
- "dropoff_time": "2018-08-22T17:20:28Z",
- "pickup_window": {
- "start_time": "2018-08-22T17:20:28Z",
- "end_time": "2018-08-22T17:20:28Z"
}, - "dropoff_window": {
- "start_time": "2018-08-22T17:20:28Z",
- "end_time": "2018-08-22T17:20:28Z"
}
}
Response samples
- 200
- 400
- 403
- 404
- 409
- 422
- 500
{- "external_delivery_id": "D-1763",
- "locale": "en-US, fr-CA, es-US",
- "order_fulfillment_method": "standard",
- "origin_facility_id": "MERCHANTA-CA-1",
- "pickup_address": "901 Market Street 6th Floor San Francisco, CA 94103",
- "pickup_business_name": "Wells Fargo SF Downtown",
- "pickup_phone_number": "+16505555555",
- "pickup_instructions": "Go to the bar for pick up.",
- "pickup_reference_tag": "Order number 61",
- "pickup_external_business_id": "ase-243-dzs",
- "pickup_external_store_id": "ase-243-dzs",
- "pickup_verification_metadata": {
- "verification_type": "SCAN_BARCODE",
- "verification_code": "12345",
- "verification_format": "CODE_39"
}, - "dropoff_address": "901 Market Street 6th Floor San Francisco, CA 94103",
- "dropoff_business_name": "The Avery Condominium",
- "dropoff_location": {
- "lat": 123.1312343,
- "lng": -37.2144343
}, - "dropoff_phone_number": "+16505555555",
- "dropoff_instructions": "Enter gate code 1234 on the callbox.",
- "dropoff_contact_given_name": "John",
- "dropoff_contact_family_name": "Doe",
- "dropoff_contact_send_notifications": true,
- "dropoff_options": {
- "signature": "required",
- "id_verification": "required",
- "proof_of_delivery": "photo_required",
- "catering_setup": "required"
}, - "dropoff_address_components": {
- "street_address": "901 Market Street",
- "sub_premise": "Apt. 121",
- "city": "San Francisco",
- "state": "CA",
- "zip_code": 94103,
- "country": "US"
}, - "dropoff_pin_code_verification_metadata": {
- "pin_code_type": "customer_phone_number",
- "pin_code_value": "1234"
}, - "order_value": 1999,
- "currency": "USD",
- "items": [
- {
- "name": "Mega Bean and Cheese Burrito",
- "description": "Mega Burrito contains the biggest beans of the land with extra cheese.",
- "quantity": 2,
- "external_id": "123-123443434b",
- "external_instance_id": 12,
- "volume": 5.3,
- "weight": 2.8,
- "length": 2.8,
- "width": 2.8,
- "height": 2.8,
- "price": 1000,
- "barcode": 12342830041,
- "item_options": {
- "substitute_item_ids": [
- "123443434",
- "123443435"
], - "weight_unit": "oz",
- "substitution_preference": "refund"
}, - "adjustment_details": {
- "addition_source": "dasher"
}
}
], - "shopping_options": {
- "payment_method": "red_card",
- "payment_barcode": "12345",
- "payment_gift_cards": [
- "123443434",
- "123443435"
], - "ready_for_pickup_by": "2018-08-22T17:20:28Z",
- "dropoff_contact_loyalty_number": "1234-5678-9876-5432-1"
}, - "delivery_status": "quote",
- "cancellation_reason": "cancelled_by_creator",
- "updated_at": "2018-08-22T17:20:28Z",
- "pickup_time_estimated": "2018-08-22T17:20:28Z",
- "pickup_time_actual": "2018-08-22T17:20:28Z",
- "dropoff_time_estimated": "2018-08-22T17:20:28Z",
- "dropoff_time_actual": "2018-08-22T17:20:28Z",
- "return_time_estimated": "2018-08-22T17:20:28Z",
- "return_time_actual": "2018-08-22T17:20:28Z",
- "return_address": "901 Market Street 6th Floor San Francisco, CA 94103",
- "fee": 1900,
- "fee_components": [
- {
- "type": "distance_based_fee",
- "amount": 1900
}
], - "tax": 520,
- "tax_components": [
- {
- "type": "gst_hst",
- "amount": 520
}
], - "support_reference": "86313",
- "shipping_label": {
- "label_format": "zpl",
- "label_size": "4x6",
- "print_density": "203dpi",
- "label_string": "XlhBCl5DRjAsNjAKXkZPNTAsNTBeRkRTdG9yZU5hbWVeRlMKXkNGMCwzMApeRk81MCwxMTVeRkRTaGlwcGVkIDAxLzE2LzIwMjNeRlMKXkZPNjUwLDYwXkZENS4zIGxic15GUwpeRk82NTAsMTAwXkZEQ0hJLTJeRlMKXkZPNTAsMTcwXkdCNzAwLDMsM15GUwpeQ0YwLDgwCl5GTzUwLDIyNV5GREpvaG4gRG9lXkZTCl5DRkEsMzYKXkZPNTAsMzMwXkZENnRoIEZsb29yXkZTCl5GTzUwLDM4NV5GRDkwMSBNYXJrZXQgU3RyZWV0XkZTCl5GTzUwLDQ0MF5GRFNhbiBGcmFuY2lzY28sIENBIDk0MTAzXkZTCl5GTzUwLDUyMF5HQjcwMCwzLDNeRlMKXkJZMiwzLDIwMApeRk81MCw1NzVeQkNeRkRKM0Q0VE5HUU1QR0FLSE5VNlZSSlA4RjkyRDE3WV5GUwpeQlFOLDIsNwpeRk81NzUsNzc1XkZEUUEsSjNENFROR1FNUEdBS0hOVTZWUkpQOEY5MkQxN1leRlMKXkNGQSwyNApeRk81MCw4NTBeRkRSZWYjIDEyMy0xMjM0NDM0MzRiXkZTCl5DRkEsMzZeRk81MCwxMDUwXkZERGVsaXZlcmVkXkZTCl5DRkIsMzZeRk81MCwxMTAwXkZEQnkgRGFzaExpbmteRlMKXlha=="
}, - "dropped_items": [
- {
- "external_id": "1011902870",
- "type": "main_item",
- "reason": "item_not_found_in_catalog"
}
], - "contactless_dropoff": false,
- "action_if_undeliverable": "return_to_pickup",
- "tip": 599,
- "order_contains": {
- "alcohol": false,
- "pharmacy_items": false,
- "age_restricted_pharmacy_items": false,
- "tobacco": false,
- "hemp": false,
- "otc": false
}, - "dasher_allowed_vehicles": [
- "car",
- "bicycle",
- "walking"
], - "dropoff_requires_signature": false,
- "promotion_id": "ee680b87-0016-496e-ac3c-d3f33ab54c1c",
- "dropoff_cash_on_delivery": 1999,
- "order_route_type": "roundtrip",
- "order_route_items": [
- "check"
], - "dasher_id": 1232142,
- "dasher_name": "John D.",
- "dasher_dropoff_phone_number": "+15555555555",
- "dasher_pickup_phone_number": "+14444444444",
- "dasher_location": {
- "lat": 123.1312343,
- "lng": -37.2144343
}, - "dasher_vehicle_make": "Toyota",
- "dasher_vehicle_model": "Corolla",
- "dasher_vehicle_year": "2006"
}