The Pickup Order API simplifies the creation and management of in-store pickup orders, providing a centralized platform to handle every step of the pickup process, from initiation to completion. Designed for retailers and businesses, this API ensures a seamless experience by supporting real-time order modifications and lifecycle management.
Order Lifecycle Management: - Facilitate the creation and management of pickup orders, including real-time modifications. The API supports the full order lifecycle, from initiation to completion, accommodating diverse workflows.
Status Updates: - Monitor pickup orders across their lifecycle using configurable status updates via webhooks and alerts. This ensures transparency, proactive monitoring, and improved customer satisfaction.
Once set up as a user, the Pickup Order API allows you to asynchronously place in-store pickup orders for specific locations. By seamlessly submitting order details, such as pickup location and customer information, you can integrate this API into your system to streamline the management of pickup orders while maintaining a centralized platform for tracking and updates.
- How do I manage order modifications?
Real-time order modifications can be performed through the API, allowing updates to details such as customer contact, pickup time, or item details.
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 | Invalid Data: locationExternalId is a required field 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. |
/pickups/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 |
/pickups/{pickup_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 | 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 | Order with id, 19345234, is not found |
| 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 | packages parameter cannot be changed post order dispatch or any other invalid value |
| NOT_FOUND | 404 | Hard | 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. |
| 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. |
/pickups/{pickup_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 |
/pickups/{pickup_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 | 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. |
/pickups/{pickup_external_id}/status
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 |
| NOT_FOUND | 404 | Hard | Order with id, 19345234, is not found |
Create Pickup Order
This endpoint enables the creation of a pickup order. By providing the required details, clients can initiate a pickup request, which will be processed asynchronously in the background.
- The request is handled asynchronously, returning a REQUEST_RECEIVED status upon successful submission.
- Real-time status updates for the Pickup order are available through the platform's Webhooks.
Request Body schema: application/json
Resource is successfully created
Bad Request
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,
- "customer": {
- "name": "asd",
- "phone": "+1 234-567-8900",
- "email": ""
}, - "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
}- 201
- 400
- 401
- 422
- 500
{- "locationExternalId": "7709",
- "orderExternalId": "7709-001",
- "orderValue": 10,
- "customer": {
- "name": "asd",
- "phone": "+1 234-567-8900",
- "email": ""
}, - "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
}, - "orderAttributes": { },
- "tenantId": "dummyaccount1",
- "brandExternalId": "dummyaccount1",
- "groupId": null,
- "currencyCode": "USD",
- "pickupAddress": {
- "street1": "345 Harrison Avenue",
- "street2": "",
- "city": "Boston",
- "postalCode": "02118",
- "countryCode": "US",
- "state": "MA",
- "latitude": 42.3452369,
- "longitude": -71.0639399
}, - "status": "REQUEST_RECEIVED",
- "driver": null,
- "vehicle": null,
- "actualPickupTime": null,
- "createdAt": "",
- "lastUpdatedAt": ""
}List Pickup Orders
Use this endpoint to retrieve a filtered list of pickups based on specified criteria. By default, if no filters are applied, PickupResponse: created within the last 24 hours will be returned.
This API supports advanced filtering options such as:
Time Filters: Filter pickups based on their
createdAt,pickupTime, orlastUpdatedAt.Identifiers: Search by
orderExternalIdsorlocationExternalIds.Statuses: Retrieve pickups based on their current status (e.g.,
PICKUP_STARTED,ORDER_DELIVERED,PICKUP_AT_LOCATION).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 pickup data, and if applicable, a paginationToken to fetch additional results.
Request Body schema: application/json
| limit | integer <int32> Default: 1000 Limit the number of orders in the response. If not passed, the default is 1000. The maximum allowed is 1000. | ||||
object Get all the orders which were updated within the provided time window. The time window cannot be greater than 30 days. | |||||
| orderExternalIds | Array of strings Get the orders for the provided array of orderExternalIds. | ||||
| groupId | string Group ID used to group multiple orders together, providing a combined post-purchase experience. | ||||
| locationExternalIds | Array of strings 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 Get all orders which were created within the provided time window. The time window cannot be greater than 30 days. | |||||
| status | Array of strings Get all orders having the provided statuses. | ||||
| paginationToken | string Returns the previous or next set of orders based on the paginationToken provided | ||||
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",
- "estimatedPickupTime": {
- "startsAt": 1651574198000,
- "endsAt": 1650969304278
}, - "locationExternalId": "100983",
- "orderExternalId": "1908244",
- "orderValue": 78.65,
- "pickupTime": {
- "startsAt": 1650969363042
}, - "customer": {
- "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": ""
}
], - "pickupInstructions": "Enter from the staff entrance to pick up the package",
- "orderAttributes": { },
- "currencyCode": "USD",
- "itemList": [ ],
- "groupId": null,
- "brandExternalId": "devon",
- "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",
- "actualPickupTime": null
}, - {
- "id": "6267cad7627f5f658c8b9c51",
- "estimatedPickupTime": {
- "startsAt": 1651574198000,
- "endsAt": null
}, - "locationExternalId": "100983",
- "orderExternalId": "1908243",
- "orderValue": 78.65,
- "pickupTime": {
- "startsAt": 1650972558678
}, - "customer": {
- "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": ""
}
], - "pickupInstructions": "Enter from the staff entrance to pick up the package",
- "orderAttributes": { },
- "currencyCode": "USD",
- "itemList": [ ],
- "groupId": null,
- "brandExternalId": "devon",
- "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",
- "lastUpdatedAt": "2022-05-03T11:08:56.086Z",
- "actualPickupTime": null
}, - {
- "id": "6267c9ab03ab64947cafbbc1",
- "estimatedPickupTime": {
- "startsAt": 1651573897000,
- "endsAt": null
}, - "locationExternalId": "100983",
- "orderExternalId": "1908242",
- "orderValue": 78.65,
- "pickupTime": {
- "startsAt": 1650969063020
}, - "customer": {
- "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": ""
}
], - "pickupInstructions": "Enter from the staff entrance to pick up the package",
- "orderAttributes": { },
- "currencyCode": "USD",
- "itemList": [ ],
- "groupId": null,
- "brandExternalId": "devon",
- "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",
- "lastUpdatedAt": "2022-05-03T10:30:37.251Z",
- "actualPickupTime": null
}, - {
- "id": "62668e6f44504ce0b5c3fde7",
- "estimatedPickupTime": {
- "startsAt": 1651493199000,
- "endsAt": null
}, - "locationExternalId": "100983",
- "orderExternalId": "1908241",
- "orderValue": 78.65,
- "pickupTime": {
- "startsAt": 1650888363020
}, - "customer": {
- "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": ""
}
], - "pickupInstructions": "Enter from the staff entrance to pick up the package",
- "orderAttributes": { },
- "currencyCode": "USD",
- "itemList": [ ],
- "groupId": null,
- "brandExternalId": "devon",
- "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",
- "actualPickupTime": null
}
]
}Get Pickup Order
Use this API to retrieve detailed information about a specific pickup order using its pickup_id.
- By default, the response provides the most recently cached data about the pickup.
- To fetch the latest information set the
force_updatequery parameter totrue.
path Parameters
Request was successful
Bad Request
Unauthorized
Resource was not found
Internal server error
- curl
- Node.js
- JavaScript
- PHP
- Python
- C#
- Java
- 200
- 400
- 401
- 404
- 500
{- "id": "5e1f1ef5167ab20010a74b94",
- "brandExternalId": "demoBrand",
- "locationExternalId": "NYClocation101",
- "orderExternalId": "876581",
- "groupId": "group1",
- "orderValue": 11,
- "itemList": [ ],
- "pickupTime": {
- "startsAt": 1609513200000,
- "endsAt": 1609516800000
}, - "customer": {
- "name": "Robert Wan",
- "phone": "4344344344",
- "email": "nycustomer@email.com"
}, - "pickupAddress": {
- "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"
}
], - "orderAttributes": {
- "payment": "Cash"
}, - "estimatedPickupTime": {
- "startsAt": 1598421538000,
- "endsAt": null
}, - "currencyCode": "USD",
- "pickupInstructions": "Always be smiling",
- "status": "ORDER_CANCELLED",
- "tenantId": "NYC",
- "lastUpdatedAt": "2020-01-15T14:17:26.099Z",
- "createdAt": "2020-01-15T14:17:25.984Z"
}Cancel Pickup
Use this API to cancel an existing pickup order identified by its pickup_id. This operation ensures the order is canceled in Delivery Solutions' system.
- Ensure that the provided
pickup_idmatches 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
Internal server error
- curl
- Node.js
- JavaScript
- PHP
- Python
- C#
- Java
- 200
- 401
- 404
- 409
- 500
{- "id": "62a9e3ce87f3c9df15080f00",
- "estimatedPickupTime": {
- "startsAt": null,
- "endsAt": null
}, - "locationExternalId": "100983",
- "orderExternalId": "15June11",
- "groupId": null,
- "orderValue": 78.65,
- "customer": {
- "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": "",
- "temperatureControl": "none",
- "barcode": "1YT4V90308440011"
}
], - "itemList": [ ],
- "pickupInstructions": "Enter from the staff entrance to pick up the package",
- "pickupTime": {
- "startsAt": 1655301130075
}, - "orderAttributes": { },
- "brandExternalId": "devon",
- "currencyCode": "USD",
- "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"
}Edit Pickup Order
Use this API to update or adjust the details of a pickup order after it has been created in the system. This allows for real-time corrections and updates to ensure accuracy and alignment with current requirements.
path Parameters
query Parameters
Request Body schema: application/json
| orderExternalId | string <= 100 characters Client-side identifier for the pickup record | ||||||||||||||||||||||||||
| groupId | string <= 100 characters Group ID used to group multiple orders together, providing a combined post-purchase experience. | ||||||||||||||||||||||||||
TimeWindow (object) or null Time window during which the package will be ready for pickup. | |||||||||||||||||||||||||||
One of: Time window during which the package will be ready for pickup.
| |||||||||||||||||||||||||||
| locationExternalId | string <= 100 characters Unique identifier for the pickup location (see Create Location API). | ||||||||||||||||||||||||||
object (Customer) | |||||||||||||||||||||||||||
Array of objects (Item) <= 100 items Array of items included in the pickup 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 pickup order. Each package contains an | |||||||||||||||||||||||||||
Array (<= 50 items)
| |||||||||||||||||||||||||||
string or null Instructions related to the pickup | |||||||||||||||||||||||||||
One of: Instructions related to the pickup string <= 10000 characters Instructions related to the pickup | |||||||||||||||||||||||||||
| orderValue | number >= 0 Total value of the order in major units as a decimal, e.g. 10.00 ($10.00 USD). | ||||||||||||||||||||||||||
| createdDate | integer <int64> Unix Timestamp in milliseconds representing the creation date | ||||||||||||||||||||||||||
| locale | string <= 5 characters Locale of the pickup request, in IETF BCP 47 format (e.g., 'en-US' for English - United States). | ||||||||||||||||||||||||||
object Configurable key-value pairs of custom order attributes | |||||||||||||||||||||||||||
| |||||||||||||||||||||||||||
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
}, - "customer": {
- "name": "John Smith",
- "phone": "232-323-2323",
- "email": "john.smith@email.com"
}, - "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,
- "pickupTime": {
- "startsAt": 1609513200000,
- "endsAt": 1609516800000
}, - "customer": {
- "name": "Robert Wan",
- "phone": "4344344344",
- "email": "nycustomer@email.com"
}, - "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"
}
], - "orderAttributes": {
- "payment": "Cash"
}, - "estimatedPickupTime": {
- "startsAt": 1598421538000
}, - "currencyCode": "USD",
- "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 Pickup Status
Use this API to fetch the complete status history of a pickup order, identified by its pickup_id, including detailed timestamps for each status change.
- The status history provides a detailed chronological log of all status changes throughout the pickup lifecycle.
- Optionally, you can use the
is_uniquequery 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": "ORDER_DISPATCHED",
- "updatedAt": "April 27th 2022, 2:45:47 am CDT",
- "note": null,
- "statusUser": "Default_Business_Key"
}, - {
- "status": "ORDER_EXCEPTION",
- "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 Pickup Order
Use this API to manually retry the dispatch process for a pickup order that previously failed.
- This endpoint is especially useful for resolving pickup failures caused by issues such as an invalid address or missing information. After addressing the underlying problems, you can use this API to reinitiate the dispatch process and ensure the order is successfully processed.
Pickup retry successful
Bad Request
Unauthorized
Resource was not found
Conflict between the request and the current state of the resource
Internal server error
- curl
- Node.js
- JavaScript
- PHP
- Python
- C#
- Java
- 201
- 400
- 401
- 404
- 409
- 500
{- "brandExternalId": "demoBrand",
- "estimatedPickupTime": {
- "startsAt": 1655468102000,
- "endsAt": null
}, - "itemList": [ ],
- "id": "62a9f879a69cdb7a3ad52ebe",
- "currencyCode": "USD",
- "status": "ORDER_DISPATCHED",
- "orderExternalId": "19082418",
- "locationExternalId": "100983",
- "tenantId": "dummyaccount1",
- "orderAttributes": { },
- "driver": null,
- "vehicle": null,
- "pickupInstructions": "Enter from the staff entrance to pick up the package",
- "customer": {
- "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
}, - "groupId": null,
- "pickupTime": {
- "startsAt": 1655468102000,
- "endsAt": null
}, - "lastUpdatedAt": "2020-01-15T14:17:25.984Z",
- "createdAt": "2020-01-15T14:17:25.984Z"
}Update Pickup Status
Refine and manage the status of a pickup order manually, ensuring smooth workflow transitions and providing real-time updates to reflect the most current order status.
path Parameters
Request Body schema: application/json
Request was successful
Unauthorized
Resource was not found
Internal server error
- Payload
- curl
- Node.js
- JavaScript
- PHP
- Python
- C#
- Java
{- "status": "ORDER_DELIVERED",
- "note": "Marking the Order as Delivered"
}- 200
- 401
- 404
- 500
{- "id": "6422e72aaf4b02c5c9e2f9bb",
- "estimatedPickupTime": {
- "startsAt": 1680071899000
}, - "locationExternalId": "proximity test",
- "orderExternalId": "28Mar006",
- "groupId": null,
- "orderValue": 120,
- "customer": {
- "name": "Aman",
- "phone": "+1 972-843-7092",
- "email": ""
}, - "packages": [
- {
- "name": "custom",
- "size": {
- "length": 1,
- "width": 1,
- "height": 1,
- "unit": "in"
}, - "weight": {
- "value": 1,
- "unit": "lb"
}, - "itemQuantity": 1,
- "content": [ ],
- "temperatureControl": "none",
- "description": "",
- "barcode": "1YT4V90308440011"
}
], - "itemList": [ ],
- "pickupInstructions": null,
- "pickupTime": {
- "startsAt": 1680009062911
}, - "orderAttributes": { },
- "tenantId": "chatrevamp",
- "brandExternalId": "chatrevamp",
- "currencyCode": null,
- "pickupAddress": {
- "street1": "Nepeansea Road",
- "street2": "",
- "city": "Mumbai",
- "postalCode": "400006",
- "countryCode": "US",
- "state": "MH",
- "latitude": 18.9618298,
- "longitude": 72.8016608
}, - "createdAt": "2023-03-28T13:10:02.940Z",
- "status": "ORDER_DELIVERED",
- "lastUpdatedAt": "2023-04-03T13:02:59.157Z",
- "referenceLinks": {
}, - "lastLocation": {
- "updatedAt": "2023-03-29T06:37:12.852Z",
- "longitude": 72.80181,
- "latitude": 18.96077,
- "isManual": false
}
}