Delivery
Coordinate delivery quotes, job creation, live updates, and cancellation with your courier or logistics partner.
Overview
Otter requests quotes and delivery jobs via webhooks. Your app responds through callback endpoints and streams status updates until the delivery completes or cancels.
Integration overview
- Quote — Request delivery quotes (
delivery.request_quote) in;POST /v1/delivery/{deliveryReferenceId}/quotesout withAVAILABLEplus estimates orUNAVAILABLEplus an optional reason. - Create — Accept delivery (
delivery.accept); acknowledge successful creation throughPOST /v1/delivery/{deliveryReferenceId}/accept. - Updates —
PUT /v1/delivery/{deliveryReferenceId}/statusfor status, address, courier, vehicle, notes. - Update request — Update delivery request (
delivery.update_request) in;POST /v1/delivery/{deliveryReferenceId}/updateout — see Handle delivery update requests. - Cancel — Cancel delivery (
delivery.cancel) in;POST /v1/delivery/{deliveryReferenceId}/cancelout — see Cancel a delivery. - Errors —
POST /v1/delivery/callback/error— see Handle delivery errors.
A typical lifecycle is ALLOCATED → PICKED_UP → COMPLETED, or
CANCELED. Otter accepts some updates with intermediate statuses omitted, so
do not depend on synchronous validation of the complete sequence.
Quote, accept, and cancel callbacks return 204 after the correlated result is
stored. A duplicate callback with the same event ID returns 409. Accept and
cancel callbacks represent success only; report failures through the delivery
error callback.
Related
Next
Implement Create a delivery before live traffic.