API Reference | ReDoc

Pickup Order

Product Info

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.

Business Values

  • 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.

How does it work once I am setup as a user?

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.

FAQs

  • 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.

Error Codes

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.

  1. Without warnings - Indicates the request has been processed as anticipated.
  2. 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.

/pickups

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.
SecurityOAuth2ClientCredentials
Request
path Parameters
version
required
string
Default: "v1"

version

Value: "v1"
Request Body schema: application/json
orderExternalId
required
string <= 100 characters

Client-side identifier for the pickup record.

string or null

Group ID used to group multiple orders together, providing a combined post-purchase experience.

One of:

Group ID used to group multiple orders together, providing a combined post-purchase experience.

<= 100 characters
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.

integer or null
One of:

Start of the window. Unix time in milliseconds. (conditional)

integer <int64>

Start of the window. Unix time in milliseconds. (conditional)

integer or null
One of:

End of the window. Unix time in milliseconds. (conditional)

integer <int64>

End of the window. Unix time in milliseconds. (conditional)

locationExternalId
required
string <= 100 characters

Unique identifier for the pickup location (see Create Location API).

required
object (Customer)
name
required
string <= 100 characters

Name of the customer

email
string <= 100 characters

Email address of the customer

phone
required
string <= 20 characters

Phone number of the customer

userExternalId
string <= 100 characters

External identifier for the user

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 itemList property within each package in the packages array.

Array (<= 100 items)
sku
required
string <= 100 characters

An ID that identify the product/variant from the brand's catalog.

upc
string <= 100 characters

Universal Product Code for the item

category
string <= 100 characters

Category of Item

quantity
integer <int32> >= 1

Number of items of the SKU

object (Size)

Dimensions of the item.

object (Weight)

Weight of an item

price
number <double> >= 0

Retail price of the item.

salePrice
number <double> >= 0

Sale price of the item.

image
string <= 200 characters

Link to the image file of the item.

title
string <= 200 characters

Title of the item.

description
string <= 10000 characters

Description of the item.

itemAttributes
object

Custom item attributes.

tags
Array of strings [ 0 .. 20 ] items

Additional information related to the item.

Array of objects (Package) <= 50 items

Array of packages included in the pickup order. Each package contains an itemList property that references items from the order itemList by SKU. The quantity of each item within a package must not exceed the total quantity provided for that item in the itemList.

Array (<= 50 items)
name
required
string <= 100 characters
Default: "custom"

Name of package created in our system, or pass the value 'custom'.

description
string <= 10000 characters

A brief description about the package contents.

object (Size)

Dimensions of the item.

object (Weight)

Weight of an item

quantity
integer <int32> >= 1

Number of Packages

itemQuantity
integer <int32> >= 1

Number of items in a single package.

Array of objects (Item) <= 1000 items

Array of items in the package.

temperatureControl
string

Temperature information of the package

Enum: "frozen" "refrigerated" "cool" "ambient" "warm" "none"
content
Array of strings

Content information of the package

Items Enum: "alcohol" "fragile" "tobacco" "rx" "perishable"
barcode
string <= 500 characters
Default: "null"

Barcode sent to the provider for scanning the packages

string or null

Instructions related to the pickup.

One of:

Instructions related to the pickup.

<= 10000 characters
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.

additional property
string or number or boolean or (Array of strings or numbers or booleans)
One of:
<= 500 characters
string <= 500 characters
Responses
201

Resource is successfully created

400

Bad Request

401

Unauthorized

422

Processing failed as request contains invalid data

500

Internal server error

post/pickup/{version}/pickups
Request samples
application/json
{
  • "locationExternalId": "7709",
  • "orderExternalId": "7709-001",
  • "orderValue": 10,
  • "customer": {
    },
  • "packages": [
    ],
  • "itemList": [],
  • "pickupTime": null
}
Response samples
application/json
{
  • "locationExternalId": "7709",
  • "orderExternalId": "7709-001",
  • "orderValue": 10,
  • "customer": {
    },
  • "packages": [
    ],
  • "itemList": [],
  • "pickupTime": {
    },
  • "orderAttributes": { },
  • "tenantId": "dummyaccount1",
  • "brandExternalId": "dummyaccount1",
  • "groupId": null,
  • "currencyCode": "USD",
  • "pickupAddress": {
    },
  • "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, or lastUpdatedAt.

  • Identifiers: Search by orderExternalIds or locationExternalIds.

  • Statuses: Retrieve pickups based on their current status (e.g., PICKUP_STARTED, ORDER_DELIVERED, PICKUP_AT_LOCATION).

  • Pagination: Use the paginationToken field 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.

SecurityOAuth2ClientCredentials
Request
path Parameters
version
required
string
Default: "v1"

version

Value: "v1"
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.

startsAt
integer <int64>

Start of the window. Unix time in milliseconds. (conditional)

endsAt
integer <int64>

End of the window. Unix time in milliseconds. (conditional)

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.

integer or null
One of:

Start of the window. Unix time in milliseconds. (conditional)

integer <int64>

Start of the window. Unix time in milliseconds. (conditional)

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.

integer or null
One of:

End of the window. Unix time in milliseconds. (conditional)

integer <int64>

End of the window. Unix time in milliseconds. (conditional)

object

Get all orders which were created within the provided time window. The time window cannot be greater than 30 days.

startsAt
integer <int64>

Start of the window. Unix time in milliseconds. (conditional)

endsAt
integer <int64>

End of the window. Unix time in milliseconds. (conditional)

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

Responses
200

Request was successful

400

Bad Request

401

Unauthorized

500

Internal server error

post/pickup/{version}/pickups/list
Request samples
application/json
{
  • "limit": 100,
  • "lastUpdatedAt": {
    },
  • "orderExternalIds": [
    ],
  • "locationExternalIds": [
    ],
  • "pickupTime": {
    },
  • "deliveryTime": {
    },
  • "createdAt": {
    },
  • "status": [
    ],
  • "paginationToken": "NjI2N2M5YWIwM2FiNjQ5NDdjYWZiYmMxXzYyNjdjOWFiMDNhYjY0OTQ3Y2FmYmJjMV82MjY3Y2FkNzYyN2Y1ZjY1OGM4YjljNTNfbmV4dA=="
}
Response samples
application/json
{
  • "data": [
    ]
}

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_update query parameter to true.
SecurityOAuth2ClientCredentials
Request
path Parameters
version
required
string
Default: "v1"

version

Value: "v1"
pickup_id
required
string^[a-fA-F0-9]{24}$

The unique order Id generated by the system after creating order

Example: 60b8d6c9e4b0f5d3a1a6e500
query Parameters
force_update
boolean

To retrieve the latest information from the provider about the pickup, this field should be assigned true

Responses
200

Request was successful

400

Bad Request

401

Unauthorized

404

Resource was not found

500

Internal server error

get/pickup/{version}/pickups/{pickup_id}
Request samples
Response samples
application/json
{
  • "id": "5e1f1ef5167ab20010a74b94",
  • "brandExternalId": "demoBrand",
  • "locationExternalId": "NYClocation101",
  • "orderExternalId": "876581",
  • "groupId": "group1",
  • "orderValue": 11,
  • "itemList": [ ],
  • "pickupTime": {
    },
  • "customer": {
    },
  • "pickupAddress": {
    },
  • "packages": [
    ],
  • "orderAttributes": {
    },
  • "estimatedPickupTime": {
    },
  • "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_id matches the ID returned during order creation to successfully process the cancellation and update all relevant systems.
SecurityOAuth2ClientCredentials
Request
path Parameters
version
required
string
Default: "v1"

version

Value: "v1"
pickup_id
required
string^[a-fA-F0-9]{24}$

The unique order Id generated by the system after creating order

Example: 60b8d6c9e4b0f5d3a1a6e500
Responses
200

Request was successful

401

Unauthorized

404

Resource was not found

409

Conflict between the request and the current state of the resource

500

Internal server error

delete/pickup/{version}/pickups/{pickup_id}
Request samples
Response samples
application/json
{
  • "id": "62a9e3ce87f3c9df15080f00",
  • "estimatedPickupTime": {
    },
  • "locationExternalId": "100983",
  • "orderExternalId": "15June11",
  • "groupId": null,
  • "orderValue": 78.65,
  • "customer": {
    },
  • "packages": [
    ],
  • "itemList": [ ],
  • "pickupInstructions": "Enter from the staff entrance to pick up the package",
  • "pickupTime": {
    },
  • "orderAttributes": { },
  • "brandExternalId": "devon",
  • "currencyCode": "USD",
  • "pickupAddress": {
    },
  • "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.

SecurityOAuth2ClientCredentials
Request
path Parameters
version
required
string
Default: "v1"

version

Value: "v1"
pickup_id
required
string^[a-fA-F0-9]{24}$

The unique order Id generated by the system after creating order

Example: 60b8d6c9e4b0f5d3a1a6e500
query Parameters
force_update
boolean

To forcefully perform an Pickup edit operation this field should be assigned true.

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.

integer or null
One of:

Start of the window. Unix time in milliseconds. (conditional)

integer <int64>

Start of the window. Unix time in milliseconds. (conditional)

integer or null
One of:

End of the window. Unix time in milliseconds. (conditional)

integer <int64>

End of the window. Unix time in milliseconds. (conditional)

locationExternalId
string <= 100 characters

Unique identifier for the pickup location (see Create Location API).

object (Customer)
name
required
string <= 100 characters

Name of the customer

email
string <= 100 characters

Email address of the customer

phone
required
string <= 20 characters

Phone number of the customer

userExternalId
string <= 100 characters

External identifier for the user

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 itemList property within each package in the packages array.

Array (<= 100 items)
sku
required
string <= 100 characters

An ID that identify the product/variant from the brand's catalog.

upc
string <= 100 characters

Universal Product Code for the item

category
string <= 100 characters

Category of Item

quantity
integer <int32> >= 1

Number of items of the SKU

object (Size)

Dimensions of the item.

object (Weight)

Weight of an item

price
number <double> >= 0

Retail price of the item.

salePrice
number <double> >= 0

Sale price of the item.

image
string <= 200 characters

Link to the image file of the item.

title
string <= 200 characters

Title of the item.

description
string <= 10000 characters

Description of the item.

itemAttributes
object

Custom item attributes.

tags
Array of strings [ 0 .. 20 ] items

Additional information related to the item.

Array of objects (Package) <= 50 items

Array of packages included in the pickup order. Each package contains an itemList property that references items from the order itemList by SKU. The quantity of each item within a package must not exceed the total quantity provided for that item in the itemList.

Array (<= 50 items)
name
required
string <= 100 characters
Default: "custom"

Name of package created in our system, or pass the value 'custom'.

description
string <= 10000 characters

A brief description about the package contents.

object (Size)

Dimensions of the item.

object (Weight)

Weight of an item

quantity
integer <int32> >= 1

Number of Packages

itemQuantity
integer <int32> >= 1

Number of items in a single package.

Array of objects (Item) <= 1000 items

Array of items in the package.

temperatureControl
string

Temperature information of the package

Enum: "frozen" "refrigerated" "cool" "ambient" "warm" "none"
content
Array of strings

Content information of the package

Items Enum: "alcohol" "fragile" "tobacco" "rx" "perishable"
barcode
string <= 500 characters
Default: "null"

Barcode sent to the provider for scanning the packages

string or null

Instructions related to the pickup

One of:

Instructions related to the pickup

<= 10000 characters
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

additional property
string or number or boolean or (Array of strings or numbers or booleans)
One of:
<= 500 characters
string <= 500 characters
Responses
200

Request was successful

400

Bad Request

401

Unauthorized

404

Resource was not found

422

Invalid data provided

500

Internal server error

put/pickup/{version}/pickups/{pickup_id}
Request samples
application/json
{
  • "pickupTime": {
    },
  • "customer": {
    },
  • "packages": [
    ],
  • "orderExternalId": "19082413",
  • "orderValue": 160.99
}
Response samples
application/json
{
  • "id": "5e1f1ef5167ab20010a74b94",
  • "brandExternalId": "Demobrand",
  • "itemList": [ ],
  • "locationExternalId": "NYClocation101",
  • "orderExternalId": "876581",
  • "groupId": "group1",
  • "orderValue": 11,
  • "pickupTime": {
    },
  • "customer": {
    },
  • "packages": [
    ],
  • "orderAttributes": {
    },
  • "estimatedPickupTime": {
    },
  • "currencyCode": "USD",
  • "pickupAddress": {
    },
  • "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_unique query parameter to retrieve only unique statuses.
SecurityOAuth2ClientCredentials
Request
path Parameters
version
required
string
Default: "v1"

version

Value: "v1"
pickup_id
required
string^[a-fA-F0-9]{24}$

The unique order Id generated by the system after creating order

Example: 60b8d6c9e4b0f5d3a1a6e500
query Parameters
is_unique
boolean
Default: false

Return only unique Pickup status progressions

Responses
200

Request was successful

401

Unauthorized

500

Internal server error

get/pickup/{version}/pickups/{pickup_id}/status-history
Request samples
Response samples
application/json
[
  • {
    }
]

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.
SecurityOAuth2ClientCredentials
Request
path Parameters
version
required
string
Default: "v1"

version

Value: "v1"
pickup_id
required
string^[a-fA-F0-9]{24}$

The unique order Id generated by the system after creating order

Example: 60b8d6c9e4b0f5d3a1a6e500
Responses
201

Pickup retry successful

400

Bad Request

401

Unauthorized

404

Resource was not found

409

Conflict between the request and the current state of the resource

500

Internal server error

post/pickup/{version}/pickups/{pickup_id}/retry
Request samples
Response samples
application/json
{
  • "brandExternalId": "demoBrand",
  • "estimatedPickupTime": {
    },
  • "itemList": [ ],
  • "id": "62a9f879a69cdb7a3ad52ebe",
  • "currencyCode": "USD",
  • "status": "ORDER_DISPATCHED",
  • "referenceLinks": {},
  • "orderExternalId": "19082418",
  • "locationExternalId": "100983",
  • "tenantId": "dummyaccount1",
  • "orderAttributes": { },
  • "driver": null,
  • "vehicle": null,
  • "pickupInstructions": "Enter from the staff entrance to pick up the package",
  • "customer": {
    },
  • "packages": [
    ],
  • "pickupAddress": {
    },
  • "groupId": null,
  • "pickupTime": {
    },
  • "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.

SecurityOAuth2ClientCredentials
Request
path Parameters
version
required
string
Default: "v1"

version

Value: "v1"
pickup_id
required
string^[a-fA-F0-9]{24}$

The unique order Id generated by the system after creating order

Example: 60b8d6c9e4b0f5d3a1a6e500
Request Body schema: application/json
status
required
string

The new status to which you want to move your Order.

note
string

Additional details about the update of the status.

Responses
200

Request was successful

401

Unauthorized

404

Resource was not found

500

Internal server error

put/pickup/{version}/pickups/{pickup_id}/status
Request samples
application/json
{
  • "status": "ORDER_DELIVERED",
  • "note": "Marking the Order as Delivered"
}
Response samples
application/json
{
  • "id": "6422e72aaf4b02c5c9e2f9bb",
  • "estimatedPickupTime": {
    },
  • "locationExternalId": "proximity test",
  • "orderExternalId": "28Mar006",
  • "groupId": null,
  • "orderValue": 120,
  • "customer": {
    },
  • "packages": [
    ],
  • "itemList": [ ],
  • "pickupInstructions": null,
  • "pickupTime": {
    },
  • "orderAttributes": { },
  • "tenantId": "chatrevamp",
  • "brandExternalId": "chatrevamp",
  • "currencyCode": null,
  • "pickupAddress": {
    },
  • "createdAt": "2023-03-28T13:10:02.940Z",
  • "status": "ORDER_DELIVERED",
  • "lastUpdatedAt": "2023-04-03T13:02:59.157Z",
  • "referenceLinks": {},
  • "lastLocation": {
    }
}