The Delivery Order API streamlines the creation and management of delivery orders across an extensive network of providers. Designed for retailers and businesses, it serves as a centralized solution for handling every phase of the delivery process, from initiation to completion.
Order Lifecycle Management: - Seamlessly create and manage delivery orders, including real-time edits. Supports the full order lifecycle, from pre-dispatched to dispatched statuses, enabling adaptability across various workflows.
Multi-Provider Integration: - Efficiently retrieve and evaluate delivery estimates from a global network of providers, dynamically selecting the best-fit provider through customizable orchestration rules to optimize efficiency and elevate customer satisfaction.
Tracking and Status Updates: - Track delivery orders throughout their entire lifecycle with real-time visibility. Receive instant updates through configurable webhooks and alerts, ensuring transparency and proactive monitoring.
Once set up as a user, you can submit relevant order details to asynchronously place an order from the selected pickup location to the delivery address. By integrating this API into your eCommerce platform, you gain access to a global multi-carrier ecosystem. This enables you to offer flexible, reliable delivery options while maintaining control over your brand’s delivery experience.
What information does a Delivery Order contain?
A Delivery Order contains all the critical details needed to execute a delivery, such as pickup and delivery addresses, contact information, and scheduling preferences.
What happens when an order is submitted?
When a delivery order request is submitted, the platform fetches delivery estimates from integrated providers and applies configurable orchestration rules to select the most appropriate provider, ensuring efficiency and a high level of customer satisfaction.
Pre-Dispatched vs Dispatched Status
Pre-Dispatched orders are present on the platform but have not yet been shared with a provider. Dispatched orders have been assigned to a provider for fulfillment.
When the system is unable to respond to a request, be it from a malformed request, an illegal or invalid value, or other issues, the API generates an error response.
Successful response may or may not include warnings.
- Without warnings - Indicates the request has been processed as anticipated.
- With warnings - Indicates the request has been processed with potentially unanticipated results. The warning contains information in the response that should be passed to the end user.
The severity of an error may be transient or hard.
- Transient error - Indicates an error that is temporary in nature. Such errors may be caused by response timeouts due to high server loads or scheduled maintenance in progress. The request may be issued successfully at a later time.
- Hard error - Indicates the request has a problem that the system is not able to resolve. These errors are critical and prevent requests from processing.
POST
| Type | HTTP Code | Severity | Description |
|---|---|---|---|
| UNAUTHORIZED | 401 | Hard | Unauthorized: Invalid or missing authentication token |
| INTERNAL_SERVER_ERROR | 500 | Transient | Internal Server Error: An unexpected error occurred while processing the request |
| VALIDATION_ERROR | 400 | Hard | Field validation failed locationExternalId is a required field or Delivery Address not provided or other invalid values in the request |
| INVALID_DATA | 422 | Hard | Invalid Data: No such locationExternalId exists in our system. Please provide a valid locationExternalId. |
| DUPLICATE_ID | 422 | Hard | Resource with provided id already exists. |
| DUPLICATE_NAME | 422 | Hard | Resource with provided name already exists. |
| DUPLICATE_RESOURCE | 422 | Hard | Resource already exists. |
| NO_PROVIDER_ASSIGNED | 422 | Hard | No Provider has been assigned to the mentioned location. |
| NO_PROVIDER_MATCHED | 422 | Hard | No Provider matched the criteria for the requested delivery. |
| PLACE_ORDER_FAILED | 422 | Transient | Failed to place the requested order with the configured providers. |
| GEOCODING_FAILED | 422 | Hard | Geocoding Service for the given address failed. |
| TOO_MANY_REQUESTS | 429 | Transient | Too many requests received per second. |
| UNMAPPED_ERROR | 422 | Transient | Request received unidentifiable error response. |
/deliveries/list
POST
| Type | HTTP Code | Severity | Description |
|---|---|---|---|
| UNAUTHORIZED | 401 | Hard | Unauthorized: Invalid or missing authentication token |
| INTERNAL_SERVER_ERROR | 500 | Transient | Internal Server Error: An unexpected error occurred while processing the request |
| INVALID_DATA | 400 | Hard | Invalid Data: lastUpdatedAt date range cannot be greater than 30 days |
/deliveries/{delivery_external_id}
GET
| Type | HTTP Code | Severity | Description |
|---|---|---|---|
| UNAUTHORIZED | 401 | Hard | Unauthorized: Invalid or missing authentication token |
| INTERNAL_SERVER_ERROR | 500 | Transient | Internal Server Error: An unexpected error occurred while processing the request |
| INVALID_DATA | 422 | Hard | Invalid data: Invalid Order Id |
| NOT_FOUND | 404 | Hard | Resource not found : Order with id, 1908241-0061, is not found. |
DELETE
| Type | HTTP Code | Severity | Description |
|---|---|---|---|
| UNAUTHORIZED | 401 | Hard | Unauthorized: Invalid or missing authentication token |
| INTERNAL_SERVER_ERROR | 500 | Transient | Internal Server Error: An unexpected error occurred while processing the request |
| NOT_FOUND | 404 | Hard | Resource not found: Order with id, 19345234, is not found. |
| CANCELLATION_NOT_ALLOWED | 403 | Hard | Provider does not allow cancellation of orders. |
| ORDER_CANCELLATION_FAILED | 422 | Hard | Provider failed to cancel order |
| ORDER_ALREADY_CANCELED | 409 | Hard | Requested order is already in Cancelled state. |
| TOO_MANY_REQUESTS | 429 | Transient | Too many requests received per second. |
| UNMAPPED_ERROR | 422 | Transient | Request received unidentifiable error response. |
PUT
| Type | HTTP Code | Severity | Description |
|---|---|---|---|
| UNAUTHORIZED | 401 | Hard | Unauthorized: Invalid or missing authentication token |
| INTERNAL_SERVER_ERROR | 500 | Transient | Internal Server Error: An unexpected error occurred while processing the request |
| INVALID_DATA | 400 | Hard | Invalid data: The value for the orderValue field is invalid or any other invalid value |
| VALIDATION_ERROR | 400 | Hard | Field validation failed: packages parameter cannot be changed post order dispatch or any other invalid value |
| NOT_FOUND | 404 | Hard | Resource not found: Order with id, 19345234, is not found |
| NO_PROVIDER_ASSIGNED | 422 | Hard | No Provider has been assigned to the mentioned location. |
| NO_PROVIDER_MATCHED | 422 | Hard | No Provider matched the criteria for the requested delivery. |
| GEOCODING_FAILED | 422 | Hard | Geocoding Service for the given address failed. |
| TOO_MANY_REQUESTS | 429 | Transient | Too many requests received per second. |
| UNMAPPED_ERROR | 422 | Transient | Request received unidentifiable error response. |
/deliveries/{delivery_external_id}/status-history
GET
| Type | HTTP Code | Severity | Description |
|---|---|---|---|
| UNAUTHORIZED | 401 | Hard | Unauthorized: Invalid or missing authentication token |
| INTERNAL_SERVER_ERROR | 500 | Transient | Internal Server Error: An unexpected error occurred while processing the request |
/deliveries/{delivery_external_id}/retry
POST
| Type | HTTP Code | Severity | Description |
|---|---|---|---|
| UNAUTHORIZED | 401 | Hard | Unauthorized: Invalid or missing authentication token |
| INTERNAL_SERVER_ERROR | 500 | Transient | Internal Server Error: An unexpected error occurred while processing the request |
| NOT_FOUND | 404 | Hard | Resource not found: Order with id, 19345234, is not found. |
| INVALID_DATA | 422 | Hard | Order Id value is invalid |
| INVALID_OPERATION | 409 | Hard | The Order can no longer be retried |
| NO_PROVIDER_ASSIGNED | 422 | Hard | No Provider has been assigned to the mentioned location. |
| NO_PROVIDER_MATCHED | 422 | Hard | No Provider matched the criteria for the requested delivery. |
| PLACE_ORDER_FAILED | 422 | Transient | Failed to place the requested order with the configured providers. |
| TOO_MANY_REQUESTS | 429 | Transient | Too many requests received per second. |
| UNMAPPED_ERROR | 422 | Transient | Request received unidentifiable error response. |
Create Delivery
This endpoint enables clients to asynchronously create a new delivery order. Its primary function is to initiate a delivery request by submitting the required details for processing. The operation is designed to be asynchronous, meaning the initial response will include only basic metadata about the order. Subsequent status updates and detailed progress information are sent through Webhooks configured by the client.
Request Body schema: application/json
Resource is successfully created
The request cannot be processed due to incompleteness or invalid data
Unauthorized
Processing failed as request contains invalid data
Internal server error
- Payload
- curl
- Node.js
- JavaScript
- PHP
- Python
- C#
- Java
{- "locationExternalId": "7709",
- "orderExternalId": "7709-001",
- "orderValue": 10,
- "tips": 2,
- "deliveryContact": {
- "name": "asd",
- "phone": "+1 234-567-8900",
- "email": ""
}, - "deliveryAddress": {
- "street1": "725 Albany Street",
- "street2": "",
- "city": "Boston",
- "state": "MA",
- "countryCode": "US",
- "postalCode": "02118",
- "latitude": 42.3346944,
- "longitude": -71.071818,
- "apartmentNumber": ""
}, - "packages": [
- {
- "name": "Solid",
- "size": {
- "length": 10,
- "width": 10,
- "height": 10,
- "unit": "in"
}, - "weight": {
- "value": 10,
- "unit": "lb"
}, - "itemQuantity": 1,
- "description": "bungii pack 1"
}
], - "itemList": [
- {
- "sku": "sku 1",
- "quantity": 1,
- "size": {
- "length": 3,
- "width": 2,
- "height": 2,
- "unit": "in"
}, - "weight": {
- "value": 10,
- "unit": "lb"
}, - "price": 3,
- "salePrice": 3,
- "title": "Watch"
}
], - "pickupTime": null,
- "deliveryTime": null
}- 201
- 400
- 401
- 422
- 500
{- "locationExternalId": "7709",
- "orderExternalId": "7709-001",
- "orderValue": 10,
- "deliveryContact": {
- "name": "asd",
- "phone": "+1 234-567-8900",
- "email": ""
}, - "deliveryAddress": {
- "street1": "725 Albany Street",
- "street2": "",
- "apartmentNumber": "",
- "city": "Boston",
- "state": "MA",
- "postalCode": "02118",
- "countryCode": "US",
- "latitude": 42.3346944,
- "longitude": -71.071818
}, - "packages": [
- {
- "name": "Solid",
- "itemQuantity": 1,
- "size": {
- "length": 10,
- "width": 10,
- "height": 10,
- "unit": "in"
}, - "weight": {
- "value": 10,
- "unit": "lb"
}, - "description": "bungii pack 1",
- "temperatureControl": "none",
- "barcode": "1YT4V90308440011"
}
], - "itemList": [
- {
- "sku": "sku 1",
- "quantity": 1,
- "size": {
- "length": 3,
- "width": 2,
- "height": 2,
- "unit": "in"
}, - "weight": {
- "value": 10,
- "unit": "lb"
}, - "price": 3,
- "salePrice": 3,
- "title": "Watch"
}
], - "pickupTime": {
- "startsAt": 1679592688115
}, - "deliveryTime": {
- "endsAt": 1679592748115
}, - "orderAttributes": { },
- "tenantId": "dummyaccount1",
- "brandExternalId": "dummyaccount1",
- "groupId": null,
- "currencyCode": "USD",
- "pickupContact": {
- "name": "asd",
- "phone": "+1 234-567-8900"
}, - "pickupAddress": {
- "street1": "345 Harrison Avenue",
- "street2": "",
- "city": "Boston",
- "postalCode": "02118",
- "countryCode": "US",
- "state": "MA",
- "latitude": 42.3452369,
- "longitude": -71.0639399
}, - "status": "REQUEST_RECEIVED",
- "referenceLinks": {
- "labelLink": "",
- "trackingUrl": null
}, - "provider": {
- "name": "",
- "id": "",
- "displayName": "",
- "serviceType": null
}, - "trackingId": "",
- "attachments": null,
- "driver": null,
- "vehicle": null,
- "amount": null,
- "labels": null,
- "tips": null,
- "actualDeliveryTime": null,
- "actualPickupTime": null,
- "fee": null,
- "returnRequest": null,
- "proposedProviders": [ ],
- "providerBatch": null,
- "createdAt": "",
- "lastUpdatedAt": "",
- "undeliverableOrderReturnLocation": {
- "address": {
- "street1": "502 Park Avenue",
- "street2": "",
- "city": "New York",
- "postalCode": "10022",
- "countryCode": "US",
- "state": "NY",
- "latitude": 40.76321409999999,
- "longitude": -73.9698963
}, - "contact": {
- "name": "John Smith",
- "phone": "+1 201-555-0123"
}, - "name": "WareHouse 301"
}, - "returnLocationId": "301",
- "deliveryDistance": 2,
- "drivingDistance": 3
}List Deliveries
Use this endpoint to retrieve a filtered list of deliveries based on specified criteria. By default, if no filters are applied, deliveries created within the last 24 hours will be returned.
This API supports advanced filtering options such as:
Time Filters: Filter deliveries based on their
createdAt,pickupTime,deliveryTime, orlastUpdatedAt.Identifiers: Search by
orderExternalIdsorlocationExternalIds.Statuses: Retrieve deliveries based on their current status (e.g.,
ORDER_DISPATCHED,ORDER_DELIVERED,ORDER_CANCELLED).Pagination: Use the
paginationTokenfield to retrieve subsequent sets of results when dealing with large datasets.
The request body allows flexible and precise filtering, making it easy to tailor the response to your specific needs. The response will contain the requested delivery data, and if applicable, a paginationToken to fetch additional results.
Request Body schema: application/json
| limit | integer <int32> <= 1000 Limit the number of orders in the response. If not passed, the default is 1000. The maximum allowed is 1000. | ||||||||
object (TimeWindow) | |||||||||
| |||||||||
| orderExternalIds | Array of strings <= 100 items Get the orders for the provided array of orderExternalIds. | ||||||||
| groupId | string Get orders belonging to the provided groupId. This value is case-sensitive. | ||||||||
| locationExternalIds | Array of strings <= 100 items Get the orders for the provided array of locationExternalIds. | ||||||||
object Get all orders whose pickupTime.startsAt is greater than or equal to the provided value. Only accepts startsAt from the Time Window. If pickupTime is present, deliveryTime.endsAt is required. | |||||||||
| |||||||||
object Get all orders whose deliveryTime.endsAt is lesser than or equal to the provided value. Only accepts endsAt from the Time Window. If deliveryTime is present pickupTime.startsAt is required. | |||||||||
| |||||||||
object (TimeWindow) | |||||||||
| |||||||||
| status | Array of strings Get all orders having the provided statuses. | ||||||||
| paginationToken | string The API has a limit of retrieving 1000 orders per call. If limit value is specified in the request, the number of orders are retrieved as per the value indicated in the limit (limit cannot be more than 1000). Use the paginationToken to navigate to the next or previous set of orders. paginationToken returns an object of next and previous tokens: If there are no results for the next page, the next value would be null. If there are no results for the previous page, the previous value would be null. To navigate to the next set of page results, use the next value from the paginationToken response and set it as the paginationToken value. To navigate to the previous set of page results, use the previous value from the paginationToken response and set it as the paginationToken value. | ||||||||
Request was successful
Bad Request
Unauthorized
Internal server error
- Payload
- curl
- Node.js
- JavaScript
- PHP
- Python
- C#
- Java
{- "limit": 100,
- "lastUpdatedAt": {
- "startsAt": 1651402682000,
- "endsAt": 1652266731000
}, - "orderExternalIds": [
- "1908241"
], - "locationExternalIds": [
- "100983"
], - "pickupTime": {
- "startsAt": 1651402682000
}, - "deliveryTime": {
- "endsAt": 1652266731000
}, - "createdAt": {
- "startsAt": 1651402682000,
- "endsAt": 1652266731000
}, - "status": [
- "ORDER_DISPATCHED",
- "ORDER_DELIVERED",
- "ORDER_CANCELLED",
- "PICKUP_STARTED",
- "PICKUP_COMPLETED"
], - "paginationToken": "NjI2N2M5YWIwM2FiNjQ5NDdjYWZiYmMxXzYyNjdjOWFiMDNhYjY0OTQ3Y2FmYmJjMV82MjY3Y2FkNzYyN2Y1ZjY1OGM4YjljNTNfbmV4dA=="
}- 200
- 400
- 401
- 500
{- "data": [
- {
- "id": "6267cad7627f5f658c8b9c53",
- "estimatedDeliveryTime": {
- "startsAt": null,
- "endsAt": 1651576074000
}, - "estimatedPickupTime": {
- "startsAt": 1651574198000,
- "endsAt": 1650969304278
}, - "provider": {
- "name": "DoorDash",
- "serviceId": "delivery",
- "serviceType": "Delivery",
- "displayName": "DoorDash",
- "id": "dfdf"
}, - "amount": 10.34,
- "locationExternalId": "100983",
- "orderExternalId": "1908244",
- "orderValue": 78.65,
- "deliveryTime": {
- "endsAt": 1650969423042
}, - "pickupTime": {
- "startsAt": 1650969363042
}, - "deliveryAddress": {
- "street1": "5411 Mercedes Avenue",
- "street2": "",
- "city": "Dallas",
- "state": "TX",
- "countryCode": "US",
- "postalCode": "75206",
- "latitude": 32.8284237,
- "longitude": -96.7768713,
- "apartmentNumber": ""
}, - "deliveryContact": {
- "name": "Charlize Brian",
- "phone": "+1 201-555-5555",
- "email": ""
}, - "packages": [
- {
- "name": "small",
- "itemQuantity": 1,
- "size": {
- "length": 6,
- "width": 6,
- "height": 6,
- "unit": "in"
}, - "weight": {
- "value": 10,
- "unit": "lb"
}, - "description": ""
}
], - "signature": "not_required",
- "tips": 8,
- "pickupInstructions": "Enter from the staff entrance to pick up the package",
- "deliveryInstructions": "The dog may be playing in the yard. Please close the gate once you enter.",
- "orderAttributes": { },
- "currencyCode": "USD",
- "itemList": [ ],
- "groupId": null,
- "proposedProviders": [
- {
- "name": "DoorDash",
- "services": [
- {
- "id": "delivery"
}
]
}
], - "brandExternalId": "devon",
- "pickupContact": {
- "name": "Michele Parker",
- "phone": "+1 201-555-0123"
}, - "pickupAddress": {
- "street1": " The Mall",
- "street2": "",
- "city": "Dallas",
- "postalCode": "75219",
- "countryCode": "US",
- "state": "TX",
- "latitude": 32.814645,
- "longitude": -96.81982339999999
}, - "createdAt": "2022-04-26T10:35:03.100Z",
- "tenantId": "dummyaccount1",
- "status": "ORDER_CANCELLED",
- "lastUpdatedAt": "2022-05-03T10:35:38.656Z",
- "referenceLinks": {
- "qrcodeLink": null,
}, - "fee": 10.34,
- "labels": null,
- "trackingId": "1391249345",
- "actualDeliveryTime": null,
- "actualPickupTime": null,
- "attachments": [ ],
- "deliveryDistance": 2,
- "drivingDistance": 3
}, - {
- "id": "6267cad7627f5f658c8b9c51",
- "estimatedDeliveryTime": {
- "startsAt": 1651575226000,
- "endsAt": null
}, - "estimatedPickupTime": {
- "startsAt": 1651574198000,
- "endsAt": null
}, - "provider": {
- "name": "DoorDash",
- "displayName": "DoorDash_123",
- "serviceId": "delivery",
- "serviceType": "Delivery",
- "id": "2323"
}, - "amount": 10.34,
- "locationExternalId": "100983",
- "orderExternalId": "1908243",
- "orderValue": 78.65,
- "deliveryTime": {
- "endsAt": 1650972618678
}, - "pickupTime": {
- "startsAt": 1650972558678
}, - "deliveryAddress": {
- "street1": "5411 Mercedes Avenue",
- "street2": "",
- "city": "Dallas",
- "apartmentNumber": "",
- "state": "TX",
- "countryCode": "US",
- "postalCode": "75206",
- "latitude": 32.8284237,
- "longitude": -96.7768713
}, - "deliveryContact": {
- "name": "Charlize Brian",
- "phone": "201-555-5555"
}, - "packages": [
- {
- "name": "small",
- "itemQuantity": 1,
- "size": {
- "length": 6,
- "width": 6,
- "height": 6,
- "unit": "in"
}, - "weight": {
- "value": 10,
- "unit": "lb"
}, - "description": ""
}
], - "signature": "not_required",
- "tips": 8,
- "pickupInstructions": "Enter from the staff entrance to pick up the package",
- "deliveryInstructions": "The dog may be playing in the yard. Please close the gate once you enter.",
- "orderAttributes": { },
- "currencyCode": "USD",
- "itemList": [ ],
- "groupId": null,
- "proposedProviders": [
- {
- "name": "DoorDash",
- "services": [
- {
- "id": "delivery"
}
]
}
], - "brandExternalId": "devon",
- "pickupContact": {
- "name": "Michele Parker",
- "phone": "+1 201-555-0123"
}, - "pickupAddress": {
- "street1": "The Mall",
- "street2": "",
- "city": "Dallas",
- "postalCode": "75219",
- "countryCode": "US",
- "state": "TX",
- "latitude": 32.814645,
- "longitude": -96.81982339999999
}, - "createdAt": "2022-04-26T11:06:56.863Z",
- "tenantId": "dummyaccount1",
- "status": "ORDER_CANCELLED",
- "referenceLinks": {
- "qrcodeLink": null,
}, - "lastUpdatedAt": "2022-05-03T11:08:56.086Z",
- "fee": 10.34,
- "labels": null,
- "trackingId": "1391249346",
- "actualDeliveryTime": null,
- "actualPickupTime": null,
- "attachments": [ ],
- "deliveryDistance": 2,
- "drivingDistance": 3
}, - {
- "id": "6267c9ab03ab64947cafbbc1",
- "estimatedDeliveryTime": {
- "endsAt": 1651575771000,
- "startsAt": null
}, - "estimatedPickupTime": {
- "startsAt": 1651573897000,
- "endsAt": null
}, - "provider": {
- "name": "DoorDash",
- "displayName": "DoorDash_123",
- "serviceId": "delivery",
- "serviceType": "Delivery",
- "id": "2323"
}, - "amount": 10.34,
- "locationExternalId": "100983",
- "orderExternalId": "1908242",
- "orderValue": 78.65,
- "deliveryTime": {
- "endsAt": 1650969123020
}, - "pickupTime": {
- "startsAt": 1650969063020
}, - "deliveryAddress": {
- "street1": "5411 Mercedes Avenue",
- "street2": "",
- "city": "Dallas",
- "state": "TX",
- "countryCode": "US",
- "postalCode": "75206",
- "latitude": 32.8284237,
- "longitude": -96.7768713,
- "apartmentNumber": ""
}, - "deliveryContact": {
- "name": "Charlize Brian",
- "phone": "+1 201-555-5555",
- "email": ""
}, - "packages": [
- {
- "name": "small",
- "itemQuantity": 1,
- "size": {
- "length": 6,
- "width": 6,
- "height": 6,
- "unit": "in"
}, - "weight": {
- "value": 10,
- "unit": "lb"
}, - "description": ""
}
], - "signature": "not_required",
- "tips": 8,
- "pickupInstructions": "Enter from the staff entrance to pick up the package",
- "deliveryInstructions": "The dog may be playing in the yard. Please close the gate once you enter.",
- "orderAttributes": { },
- "currencyCode": "USD",
- "itemList": [ ],
- "groupId": null,
- "proposedProviders": [
- {
- "name": "DoorDash",
- "services": [
- {
- "id": "delivery"
}
]
}
], - "brandExternalId": "devon",
- "pickupContact": {
- "name": "Michele Parker",
- "phone": "+1 201-555-0123"
}, - "pickupAddress": {
- "street1": " The Mall",
- "street2": "",
- "city": "Dallas",
- "postalCode": "75219",
- "countryCode": "US",
- "state": "TX",
- "latitude": 32.814645,
- "longitude": -96.81982339999999
}, - "createdAt": "2022-04-26T10:30:03.042Z",
- "tenantId": "dummyaccount1",
- "status": "ORDER_CANCELLED",
- "referenceLinks": {
- "qrcodeLink": null,
}, - "lastUpdatedAt": "2022-05-03T10:30:37.251Z",
- "fee": 10.34,
- "labels": null,
- "trackingId": "1391249133",
- "actualDeliveryTime": null,
- "actualPickupTime": null,
- "attachments": [ ],
- "deliveryDistance": 2,
- "drivingDistance": 3
}, - {
- "id": "62668e6f44504ce0b5c3fde7",
- "estimatedDeliveryTime": {
- "endsAt": 1651495135000,
- "startsAt": null
}, - "estimatedPickupTime": {
- "startsAt": 1651493199000,
- "endsAt": null
}, - "provider": {
- "name": "DoorDash",
- "displayName": "DoorDash_123",
- "serviceId": "delivery",
- "serviceType": "Delivery",
- "id": "2323"
}, - "amount": 10.34,
- "locationExternalId": "100983",
- "orderExternalId": "1908241",
- "orderValue": 78.65,
- "deliveryTime": {
- "endsAt": 1650888423020
}, - "pickupTime": {
- "startsAt": 1650888363020
}, - "deliveryAddress": {
- "street1": "5411 Mercedes Avenue",
- "street2": "",
- "city": "Dallas",
- "state": "TX",
- "countryCode": "US",
- "postalCode": "75206",
- "latitude": 32.8284237,
- "longitude": -96.7768713,
- "apartmentNumber": ""
}, - "deliveryContact": {
- "name": "Charlize Brian",
- "phone": "+1 201-555-5555",
- "email": ""
}, - "packages": [
- {
- "name": "small",
- "itemQuantity": 1,
- "size": {
- "length": 6,
- "width": 6,
- "height": 6,
- "unit": "in"
}, - "weight": {
- "value": 10,
- "unit": "lb"
}, - "description": ""
}
], - "signature": "not_required",
- "tips": 8,
- "pickupInstructions": "Enter from the staff entrance to pick up the package",
- "deliveryInstructions": "The dog may be playing in the yard. Please close the gate once you enter.",
- "orderAttributes": { },
- "currencyCode": "USD",
- "itemList": [ ],
- "groupId": null,
- "proposedProviders": [
- {
- "name": "DoorDash",
- "services": [
- {
- "id": "delivery"
}
]
}
], - "brandExternalId": "devon",
- "pickupContact": {
- "name": "Michele Parker",
- "phone": "+1 201-555-0123"
}, - "pickupAddress": {
- "street1": " The Mall",
- "street2": "",
- "city": "Dallas",
- "postalCode": "75219",
- "countryCode": "US",
- "state": "TX",
- "latitude": 32.814645,
- "longitude": -96.81982339999999
}, - "createdAt": "2022-04-25T12:31:03.042Z",
- "tenantId": "dummyaccount1",
- "status": "ORDER_CANCELLED",
- "lastUpdatedAt": "2022-05-03T12:30:37.251Z",
- "referenceLinks": {
- "qrcodeLink": null,
}, - "fee": 10.34,
- "labels": null,
- "trackingId": "1391249134",
- "actualDeliveryTime": null,
- "actualPickupTime": null,
- "attachments": [ ],
- "deliveryDistance": 2,
- "drivingDistance": 3
}
]
}Get Delivery
Use this API to retrieve detailed information about a specific delivery order using its delivery_id.
By default, the response provides the most recently cached data about the delivery. To fetch the latest information directly from the delivery provider and bypass the cache, set the force_update query parameter to true.
path Parameters
Request was successful
Unauthorized
Resource was not found
Processing failed as request contains invalid data
Internal server error
- curl
- Node.js
- JavaScript
- PHP
- Python
- C#
- Java
- 200
- 401
- 404
- 422
- 500
{- "id": "5e1f1ef5167ab20010a74b94",
- "brandExternalId": "demoBrand",
- "locationExternalId": "NYClocation101",
- "orderExternalId": "876581",
- "groupId": "group1",
- "orderValue": 11,
- "tips": 2,
- "itemList": [ ],
- "pickupTime": {
- "startsAt": 1609513200000,
- "endsAt": 1609516800000
}, - "deliveryTime": {
- "startsAt": 1609520400000,
- "endsAt": 1609527600000
}, - "deliveryContact": {
- "name": "Robert Wan",
- "phone": "4344344344",
- "email": "nycustomer@email.com"
}, - "deliveryAddress": {
- "street1": "8th 62nd Avenue, Times Square",
- "street2": "",
- "city": "Manhattan",
- "state": "NY",
- "postalCode": "10039",
- "countryCode": "US"
}, - "packages": [
- {
- "name": "custom",
- "size": {
- "length": 2,
- "width": 2,
- "height": 2,
- "unit": "in"
}, - "weight": {
- "value": 2,
- "unit": "lb"
}, - "itemQuantity": 1,
- "barcode": "1YT4V90308440011",
- "temperatureControl": "refrigerated",
- "content": [
- "alcohol"
]
}, - {
- "name": "small",
- "itemQuantity": 1,
- "size": {
- "length": 4,
- "width": 4,
- "height": 4,
- "unit": "in"
}, - "weight": {
- "value": 4,
- "unit": "lb"
}, - "temperatureControl": "warm"
}, - {
- "name": "large",
- "itemQuantity": 1,
- "size": {
- "length": 9,
- "width": 8,
- "height": 8,
- "unit": "in"
}, - "weight": {
- "value": 8,
- "unit": "lb"
}, - "temperatureControl": "none"
}
], - "deliveryInstructions": "Some text for delivery instructions",
- "orderAttributes": {
- "payment": "Cash"
}, - "estimatedDeliveryTime": {
- "startsAt": 1598421638000,
- "endsAt": null
}, - "estimatedPickupTime": {
- "startsAt": 1598421538000,
- "endsAt": null
}, - "labels": null,
- "trackingId": "del_MoMtkAakB1LDVk",
- "referenceLinks": {
}, - "provider": {
- "name": "Point Pickup",
- "serviceId": "delivery",
- "serviceType": "Delivery",
- "displayName": "Point Pickup",
- "id": "3322"
}, - "amount": 6,
- "currencyCode": "USD",
- "pickupContact": {
- "name": "Peter Brown",
- "phone": "432-234-2232"
}, - "pickupAddress": {
- "street1": "7th 42nd Avenue, Times Square",
- "street2": "",
- "city": "Manhattan",
- "state": "NY",
- "postalCode": "10036",
- "countryCode": "US"
}, - "pickupInstructions": "Always be smiling",
- "status": "ORDER_CANCELLED",
- "tenantId": "NYC",
- "lastUpdatedAt": "2020-01-15T14:17:26.099Z",
- "createdAt": "2020-01-15T14:17:25.984Z"
}Cancel Delivery
Use this API to cancel an existing delivery order identified by its delivery_id. This operation ensures the order is canceled in both Delivery Solutions' system and the provider's system; however, the ability to cancel depends on the provider's stipulations. Ensure that the provided delivery_id matches the ID returned during order creation to successfully process the cancellation and update all relevant systems.
Request was successful
Unauthorized
Resource was not found
Conflict between the request and the current state of the resource
Processing failed as request contains invalid data
Internal server error
- curl
- Node.js
- JavaScript
- PHP
- Python
- C#
- Java
- 200
- 401
- 404
- 409
- 422
- 500
{- "id": "62a9e3ce87f3c9df15080f00",
- "estimatedDeliveryTime": {
- "startsAt": null,
- "endsAt": null
}, - "estimatedPickupTime": {
- "startsAt": null,
- "endsAt": null
}, - "referenceLinks": {
- "trackingUrl": null,
- "qrcodeLink": null
}, - "provider": {
- "name": "",
- "displayName": "",
- "serviceId": null,
- "serviceType": null,
- "id": ""
}, - "amount": null,
- "locationExternalId": "100983",
- "orderExternalId": "15June11",
- "groupId": null,
- "orderValue": 78.65,
- "tips": 8,
- "deliveryContact": {
- "name": "Charlize Brian",
- "phone": "+1 201-555-5555",
- "email": ""
}, - "deliveryAddress": {
- "street1": "5411 Mercedes Avenue",
- "street2": "",
- "city": "Dallas",
- "state": "TX",
- "countryCode": "US",
- "postalCode": "75206",
- "latitude": 32.8284237,
- "longitude": -96.7768713,
- "apartmentNumber": ""
}, - "proposedProviders": [
- {
- "name": "DoorDash",
- "services": [
- {
- "id": "delivery"
}
]
}
], - "signature": "not_required",
- "packages": [
- {
- "name": "small",
- "itemQuantity": 1,
- "size": {
- "length": 6,
- "width": 6,
- "height": 6,
- "unit": "in"
}, - "weight": {
- "value": 10,
- "unit": "lb"
}, - "description": "",
- "temperatureControl": "none",
- "barcode": "1YT4V90308440011"
}
], - "itemList": [ ],
- "deliveryInstructions": "The dog may be playing in the yard. Please close the gate once you enter.",
- "pickupInstructions": "Enter from the staff entrance to pick up the package",
- "pickupTime": {
- "startsAt": 1655301130075
}, - "deliveryTime": {
- "endsAt": 1655301190075
}, - "orderAttributes": { },
- "brandExternalId": "devon",
- "currencyCode": "USD",
- "pickupContact": {
- "name": "Michele Parker",
- "phone": "+1 201-555-0123"
}, - "pickupAddress": {
- "street1": " The Mall",
- "street2": "",
- "city": "Dallas",
- "postalCode": "75219",
- "countryCode": "US",
- "state": "TX",
- "latitude": 32.814645,
- "longitude": -96.81982339999999
}, - "createdAt": "2022-06-15T13:51:10.096Z",
- "status": "ORDER_CANCELLED",
- "tenantId": "dummyaccount1",
- "lastUpdatedAt": "2022-06-15T13:52:03.524Z",
- "deliveryDistance": 2,
- "drivingDistance": 3
}Edit Delivery
Use this API to modify the details of the delivery after it has been placed in our system.
path Parameters
query Parameters
Request Body schema: application/json
| orderExternalId | string <= 100 characters Client-side identifier for the delivery record | ||||||||||||||||||||||||||
| groupId | string <= 100 characters Group ID to group a number of orders together | ||||||||||||||||||||||||||
TimeWindow (object) or null Scheduled date and time for the drop-off | |||||||||||||||||||||||||||
One of: Scheduled date and time for the drop-off
| |||||||||||||||||||||||||||
TimeWindow (object) or null Scheduled date and time for the pickup | |||||||||||||||||||||||||||
One of: Scheduled date and time for the pickup
| |||||||||||||||||||||||||||
| locationExternalId | string <= 100 characters External ID of the delivery location | ||||||||||||||||||||||||||
object (Address) Address of the location | |||||||||||||||||||||||||||
| |||||||||||||||||||||||||||
object (Customer) | |||||||||||||||||||||||||||
Array of objects (Item) <= 100 items Array of items included in the delivery order. Each item in this list represents a unique SKU with its associated details and quantities. These items are referenced by the | |||||||||||||||||||||||||||
Array (<= 100 items)
| |||||||||||||||||||||||||||
Array of objects (Package) <= 50 items Array of packages included in the delivery order.
Each package contains an | |||||||||||||||||||||||||||
Array (<= 50 items)
| |||||||||||||||||||||||||||
| signature | string <= 100 characters Indicates signature requirement | ||||||||||||||||||||||||||
| deliveryInstructions | string <= 10000 characters Additional notes related to the delivery | ||||||||||||||||||||||||||
| orderValue | number >= 0 Total value of the order | ||||||||||||||||||||||||||
| tips | number >= 0 Driver tip in major units as a decimal, e.g. 9.00 ($9.00 USD). | ||||||||||||||||||||||||||
| locale | string <= 5 characters | ||||||||||||||||||||||||||
| createdDate | number Unix timestamp in milliseconds for creation date | ||||||||||||||||||||||||||
object Configurable key-value pairs of custom order attributes | |||||||||||||||||||||||||||
| |||||||||||||||||||||||||||
Array of objects (ProposedProvider) List of proposed providers for the order | |||||||||||||||||||||||||||
Request was successful
Bad Request
Unauthorized
Resource was not found
Invalid data provided
Internal server error
- Payload
- curl
- Node.js
- JavaScript
- PHP
- Python
- C#
- Java
{- "pickupTime": {
- "startsAt": 1655468102000
}, - "deliveryTime": {
- "endsAt": 1655554502000
}, - "deliveryContact": {
- "name": "John Smith",
- "phone": "232-323-2323",
- "email": "john.smith@email.com"
}, - "deliveryAddress": {
- "street1": "5411 Mercedes Avenue",
- "street2": "",
- "city": "Dallas",
- "state": "TX",
- "postalCode": "75206",
- "countryCode": "US"
}, - "packages": [
- {
- "name": "custom",
- "size": {
- "height": 2,
- "width": 2,
- "length": 2,
- "unit": "in"
}, - "weight": {
- "value": 2,
- "unit": "lb"
}, - "quantity": 1,
- "itemQuantity": 2,
- "description": "Package Description"
}
], - "orderExternalId": "19082413",
- "orderValue": 160.99
}- 200
- 400
- 401
- 404
- 422
- 500
{- "id": "5e1f1ef5167ab20010a74b94",
- "brandExternalId": "Demobrand",
- "itemList": [ ],
- "locationExternalId": "NYClocation101",
- "orderExternalId": "876581",
- "groupId": "group1",
- "orderValue": 11,
- "tips": 2,
- "pickupTime": {
- "startsAt": 1609513200000,
- "endsAt": 1609516800000
}, - "deliveryTime": {
- "startsAt": 1609520400000,
- "endsAt": 1609527600000
}, - "deliveryContact": {
- "name": "Robert Wan",
- "phone": "4344344344",
- "email": "nycustomer@email.com"
}, - "deliveryAddress": {
- "street1": "8th 62nd Avenue, Times Square",
- "street2": "",
- "city": "Manhattan",
- "state": "NY",
- "postalCode": "10039",
- "countryCode": "US"
}, - "packages": [
- {
- "name": "custom",
- "size": {
- "length": 2,
- "width": 2,
- "height": 2,
- "unit": "in"
}, - "weight": {
- "value": 2,
- "unit": "lb"
}, - "itemQuantity": 1,
- "barcode": "1YT4V90308440011",
- "temperatureControl": "refrigerated",
- "content": [
- "alcohol"
]
}, - {
- "name": "small",
- "itemQuantity": 1,
- "size": {
- "length": 4,
- "width": 4,
- "height": 4,
- "unit": "in"
}, - "weight": {
- "value": 2,
- "unit": "lb"
}, - "temperatureControl": "warm"
}, - {
- "name": "large",
- "itemQuantity": 1,
- "size": {
- "length": 9,
- "width": 8,
- "height": 8,
- "unit": "in"
}, - "weight": {
- "value": 2,
- "unit": "lb"
}, - "temperatureControl": "none"
}
], - "deliveryInstructions": "Some text for delivery instructions",
- "orderAttributes": {
- "payment": "Cash"
}, - "estimatedDeliveryTime": {
- "startsAt": 1598421638000
}, - "estimatedPickupTime": {
- "startsAt": 1598421538000
}, - "labels": null,
- "referenceLinks": {
}, - "trackingId": "del_MoMtkAakB1LDVk",
- "provider": {
- "name": "Point Pickup",
- "serviceId": "delivery",
- "serviceType": "Delivery",
- "displayName": "Point Pickup",
- "id": "232"
}, - "amount": 6,
- "currencyCode": "USD",
- "pickupContact": {
- "name": "Peter Brown",
- "phone": "432-234-2232"
}, - "pickupAddress": {
- "street1": "7th 42nd Avenue, Times Square",
- "street2": "",
- "city": "Manhattan",
- "state": "NY",
- "postalCode": "10036",
- "countryCode": "US"
}, - "pickupInstructions": "Always be smiling",
- "status": "ORDER_CANCELLED",
- "tenantId": "NYC",
- "lastUpdatedAt": "2020-01-15T14:17:26.099Z",
- "createdAt": "2020-01-15T14:17:25.984Z"
}Get Delivery Status
Use this API to retrieve the complete status history of a delivery order, including timestamps, identified by its delivery_id.
The status history provides a detailed chronological log of all status changes throughout the delivery lifecycle. Optionally, you can use the is_unique query parameter to retrieve only unique statuses.
path Parameters
Request was successful
Unauthorized
Internal server error
- curl
- Node.js
- JavaScript
- PHP
- Python
- C#
- Java
- 200
- 401
- 500
[- {
- "orderId": "6268f4a9d9f309c2a43e3a6a",
- "tenantId": "dummyaccount1",
- "orderStatus": [
- {
- "status": "REQUEST_RECEIVED",
- "updatedAt": "April 27th 2022, 2:45:45 am CDT",
- "note": null,
- "statusUser": "Default_Business_Key"
}, - {
- "status": "ESTIMATES_RECEIVED",
- "updatedAt": "April 27th 2022, 2:45:46 am CDT",
- "note": null,
- "statusUser": "Default_Business_Key"
}, - {
- "status": "ORDER_DISPATCHED",
- "updatedAt": "April 27th 2022, 2:45:47 am CDT",
- "note": null,
- "statusUser": "Default_Business_Key"
}, - {
- "status": "ORDER_UNDELIVERABLE",
- "updatedAt": "October 26th 2022, 3:46:07 pm CDT",
- "note": "ARRIVED_AT_RETURN( RT-001 - Customer rejected (missing item or quality issue) )",
- "statusUser": "Walmart GoLocal",
- "eventReason": {
- "code": "CUSTOMER_REJECTED",
- "title": "Customer Rejected",
- "note": "RT-001 - Customer rejected (missing item or quality issue)"
}, - "subStatus": "RETURN_AT_LOCATION"
}
],
}
]Retry Delivery
Use this API to manually retry the delivery dispatch process for a specific delivery order that previously failed. This endpoint is particularly useful in cases where a delivery failure occurred due to issues such as an invalid address or missing details. Once the necessary corrections have been made, you can use this API to initiate the dispatch process again.
Delivery retry successful
Unauthorized
Resource was not found
Conflict between the request and the current state of the resource
Processing failed as request contains invalid data
Internal server error
- curl
- Node.js
- JavaScript
- PHP
- Python
- C#
- Java
- 201
- 401
- 404
- 409
- 422
- 500
{- "brandExternalId": "demoBrand",
- "provider": {
- "name": "DoorDash",
- "displayName": "DoorDash_123",
- "serviceId": "delivery",
- "serviceType": "Delivery",
- "id": "2323"
}, - "trackingId": "1419285376",
- "estimatedPickupTime": {
- "startsAt": 1655468102000,
- "endsAt": null
}, - "estimatedDeliveryTime": {
- "startsAt": null,
- "endsAt": 1655469688000
}, - "itemList": [ ],
- "amount": 10.33,
- "fee": 10.33,
- "currencyCode": "USD",
- "status": "ORDER_DISPATCHED",
- "referenceLinks": {
}, - "id": "62a9f879a69cdb7a3ad52ebe",
- "deliveryInstructions": null,
- "orderExternalId": "19082418",
- "locationExternalId": "100983",
- "tenantId": "dummyaccount1",
- "orderAttributes": { },
- "attachments": null,
- "driver": null,
- "vehicle": null,
- "labels": null,
- "pickupInstructions": "Enter from the staff entrance to pick up the package",
- "deliveryContact": {
- "name": "John Smith",
- "phone": "+1 201-555-5555"
}, - "packages": [
- {
- "name": "custom",
- "size": {
- "height": 2,
- "width": 2,
- "length": 2,
- "unit": "in"
}, - "weight": {
- "value": 2,
- "unit": "lb"
}, - "itemQuantity": 2,
- "description": "Package Description",
- "temperatureControl": "none",
- "barcode": "1YT4V90308440011"
}
], - "pickupAddress": {
- "street1": "The Mall",
- "street2": "",
- "city": "Dallas",
- "postalCode": "75219",
- "countryCode": "US",
- "state": "TX",
- "latitude": 32.814645,
- "longitude": -96.81982339999999
}, - "deliveryAddress": {
- "street1": "5411 Mercedes Avenue",
- "street2": "",
- "city": "Dallas",
- "state": "TX",
- "postalCode": "75206",
- "countryCode": "US",
- "latitude": 32.8284237,
- "longitude": -96.7768713
}, - "tips": null,
- "proposedProviders": [ ],
- "groupId": null,
- "pickupTime": {
- "startsAt": 1655468102000,
- "endsAt": null
}, - "deliveryTime": {
- "endsAt": 1655554502000,
- "startsAt": null
}, - "deliveryDistance": 2,
- "drivingDistance": 3,
- "lastUpdatedAt": "2020-01-15T14:17:25.984Z",
- "createdAt": "2020-01-15T14:17:25.984Z"
}