Purpose
Pre-validate if an integrated Dispatch partner has available couriers to handle a delivery before placing an order. This enables platforms without their own delivery integrations to route orders through Deliverect’s Dispatch network.
Request Example
To check the availability of an integrated Dispatch provider, submit a pre-validation request as shown below with a full delivery address including coordinates and postal code.
{
"channelLinkId": "62********************7c",
"pickupReadyTime": "YYYY-MM-DDTHH:mm:ss.SSSSSSZ",
"deliveryLocations": {
"deliveryTime": "YYYY-MM-DDTHH:mm:ss.SSSSSSZ",
"packageSize": "unknown",
"name": "customer name",
"street": "customer street and number",
"city": "customer city",
"country": "customer country",
"postalCode": "postal code",
"source": "customer address",
"phone": "+111111111",
"coordinates": {
"longitude": 3.73361,
"latitude": 51.03111
}
}
}{
"channelLinkIds": [
"62********************7c",
"62********************7d"
],
"deliveryLocations": {
"deliveryTime": "YYYY-MM-DDTHH:mm:ss.SSSSSSZ",
"packageSize": "unknown",
"name": "customer name",
"street": "customer street and number",
"city": "customer city",
"country": "customer country",
"postalCode": "postal code",
"phone": "+111111111",
"coordinates": {
"longitude": 3.73361,
"latitude": 51.03111
}
}
}Request parameters
See the full Dispatch availability model below:
Response Example
{
"validationId": "62********************2b",
"available": true,
"expiresAt": "YYYY-MM-DDTHH:mm:ss.SSSSSSZ",
"deliveryTimeETA": "YYYY-MM-DDTHH:mm:ss.SSSSSSZ",
"pickupTimeEta": "YYYY-MM-DDTHH:mm:ss.SSSSSSZ",
"price": 0
}{
"channelLinkIds": [
"62********************7c"
],
"validationId": "62********************2b",
"available": true,
"expiresAt": "YYYY-MM-DDTHH:mm:ss.SSSSSSZ",
"deliveryTimeETA": "YYYY-MM-DDTHH:mm:ss.SSSSSSZ",
"pickupTimeEta": "YYYY-MM-DDTHH:mm:ss.SSSSSSZ",
"price": 0
}{
"available": False,
"errors": "No valid offers available"
}Validation Id
A successful response where "available": true, will also include a"validationId" which is a unique ID (valid for 10 minutes) to be used when creating an order
Include the validationId in the Create / Cancel Order or Checkout request
Check availability for multiple stores
An array of channelLinkIds like below can be provided to determine the best possible pickup location for a specific delivery, based on price and distance.
In the second example on the right hand side "Validate Delivery - multiple pickupLocations". two stores are checked by their unique store identifier ((channel link Id) like in below snippet
The response confirms the best pickup location to set for the order
{
"pickupTime": "YYYY-MM-DDTHH:mm:ss.SSSSSSZ",
"deliveryLocations": {
"packageSize": "unknown",
"name": "customer name",
"phone": "+111111111",
"coordinates": {
"longitude": 3.73361,
"latitude": 51.03111
},
"deliveryTime": "YYYY-MM-DDTHH:mm:ss.SSSSSSZ",
"street": "customer street and number",
"city": "customer city",
"country": "customer country",
"postalCode": "postal code"
},
"channelLinkIds": [
"62********************7c",
"62********************7d"
]
}{
"channelLinkIds": [
"62********************7d"
],
"validationId": "62********************3e",
"available": true,
"expiresAt": "YYYY-MM-DDTHH:mm:ss.SSSSSSZ",
"deliveryTimeETA": "YYYY-MM-DDTHH:mm:ss.SSSSSSZ",
"pickupTimeEta": "YYYY-MM-DDTHH:mm:ss.SSSSSSZ",
"price": 0
}Package Size
Optional parameter packageSize definition below (the default applied is 'unknown')
| Package Size Name | String Value | Dimensions | Description |
|---|---|---|---|
| SMALL | small | 22 x 42 x 45 cm | Standard delivery with a Courier on a bicycle or scooter. |
| LARGE | large | 30 x 124 x 80 cm | Delivery is necessary by car or van. |
| EXTRA LARGE | extraLarge | Larger than 30 x 124 x 80 cm | For large catering orders with many different trays to be delivered with a van. |
