/deliveries
Task API · TaskService
POST
https://api.quiver.london/task/deliveriesSend your API key in the x-api-key header. See Getting started.
Booking confirmation and retries
- A
200response means the delivery has been booked. Save the returnedtaskId; do not submit another booking. - If the requested service is unavailable, Quiver may accept the booking using another available service, preferring Next Day. Use the returned
deliveryTypeand delivery window as the confirmed booking details. - If you receive “already exists”, use the existing task identified in the error. Do not change
merchantOrderIdor add suffixes to retry the same booking. - If a request times out, check for an existing delivery before resubmitting. You can query
GET /task/deliveriesusing the originalmerchantOrderId.
Split fulfilment
For direct API integrations, see Split fulfilment for automatic split booking, whole-order reads, eligible customer edits, labels and cancellation. Standalone automatic split booking is available for opted-in API merchants using Quiver-managed inventory. Caller-specified source/product revisions remain unsupported; see the guide for prerequisites and physical-state rules.
Request body
application/json, shaped as taskCreateTaskRequest.
Responses
Request and response bodies
Field types that name another model link to all schemas.
rpcStatus
| Field | Type | Description |
|---|---|---|
code | integer (int32) | |
message | string | |
details | protobufAny[] |
taskCreateTaskRequest
| Field | Type | Description |
|---|---|---|
deliveryType | taskDeliveryType | |
collection | taskCreateTaskPartRequest | Provide this part when booking a store collection. Use the selected location's merchantLocationId and the QUIV_COL rate from /quotes. |
delivery | taskCreateTaskPartRequest | |
customerrequired | taskCreateContactRequest | |
orderrequired | taskCreateOrderRequest | |
purchaser | taskCreateContactRequest | |
customerProfileId | integer (int32) | |
note | string | |
linkedTasks | integer (int32)[] | |
rateCode | sharedRateCode | The rate code returned by /quotes. Use QUIV_COL for store collection. |
taskTask
| Field | Type | Description |
|---|---|---|
taskId | integer (int32) | |
createdAt | string (date-time) | |
updatedAt | string (date-time) | |
taskType | sharedTaskType | |
merchantName | string | |
mode | sharedMode | |
status | taskTaskStatusUpdate | |
fulfilmentType | fulfilmentFulfilmentType | |
deliveryType | taskDeliveryType | |
collection | taskTaskPart | |
delivery | taskTaskPart | |
order | taskOrder | |
customer | taskContact | |
purchaser | taskContact | |
customerProfileId | integer (int32) | |
trackingId | string | |
trackingUrl | string | |
trackingAccessKey | string | |
surcharge | boolean | |
co2Savings | number (double) | |
notes | taskTaskNote[] | |
statusUpdates | taskTaskStatusUpdate[] | |
updates | sharedTaskUpdate[] | |
rateCode | sharedRateCode | |
linkedTasks | integer (int32)[] | |
readyForCollection | boolean | |
onTime | boolean | |
onTimeDeviationMinutes | integer (int32) | |
attempts | taskTaskAttempt[] | |
ageRestriction | sharedAgeRestriction | Set when the order holds age-restricted goods (merchant default, product override or a client flag). Absent means not restricted. |
