Get Order by External ID
The "Get Order by External ID" API allows retrieval of an order using a unique external ID, optionally forcing an update to fetch the latest order details from the provider (if supported), returning the order data with possible error information, and uses HTTP status codes 200, 400, or 404 to indicate success or failure.
Using External ID
External ID needs to be unique to use this API.
HTTP Response
Please see the Order documentation for details on the response structure.
Force Update
In a Get Order request, there may be fields that are updated at the Provider's end but not in Delivery Solutions.
In case of force update, Delivery Solutions will fetch the latest updates from the Provider and update the relevant fields. Any errors encountered during fetch updates will be mentioned in the errors property in the Get Order API response along with the reason for failure.
If any information or status of the order is updated, it will be notified through the configured communication mediums such as webhooks, notifications, etc.
This is currently supported by a few providers only. If a provider does not support fetch updates operation, data present in Delivery Solutions will be returned.
Parameters
- orderExternalId (string, required): The external Id passed in Create Order call as
orderExternalId. - forceUpdate (boolean): To retrieve the latest information from the provider about the order, this field should be assigned
true.
HTTP Status Codes
200: Success400: Bad Request404: Not Found
Example Request
Shell
curl --request GET \
--url https://sandbox.api.deliverysolutions.co/api/v2/order/getById/orderExternalId/orderExternalId \
--header 'accept: application/json' \
--header 'tenantId: YOUR_TENANT_ID' \
--header 'x-api-key: YOUR_API_KEY' \
--header 'x-compression: true'
You can use the Try It! feature to start a request and see the response.
Related
Elevate Your Brand Experience with End-to-End Tracking
The branded post-purchase tracking platform offers customizable email and SMS notifications, integrated end-to-end tracking with real-time visibility, multi-carrier support for split shipments, marketing and upselling opportunities, simple integration options, and feedback collection to enhance customer communication, operational efficiency, and brand loyalty after purchase.
Delete Boundary
The "Delete Boundary" API endpoint requires a unique integer boundaryId to delete a specific boundary, responds with a 200 status on success or 400 on bad request, and includes example cURL request headers such as tenantId, x-api-key, and x-compression.
Delivery Solutions API Doc - Premium
The Delivery Solutions API documentation provides sandbox and production base URLs and portals, instructions for importing and running a Postman collection including a pre-script request, and specifies that authentication requires passing a generated API key and tenantId in request headers while keeping the key secure.
Edit Boundary
The "Edit Boundary" API requires a unique integer boundaryId and an array of boundary objects with a mandatory status field set to either "active" or "inactive" to modify a specified boundary, returning a 200 status code on success or 400 on error.
Create Order
The "Create Order" API request requires parameters such as order type (delivery, in-store pickup, curbside, or shipping), a required unique storeExternalId and orderExternalId, orderValue, deliveryContact, and deliveryAddress (except for pickup types), with optional fields like groupId, tips, pickupTime, dropoffTime, and package details to facilitate accurate delivery estimates and provider selection.
Shipment
The Shipment object encapsulates comprehensive shipment details including required tracking number and URL, label information, shipment status, estimated pickup and delivery times in Unix milliseconds, estimated provider charges as integer minor units, and optionally package details and a breakdown of charges.