Download OpenAPI specification:
You can receive updates about orders or drivers by subscribing to webhooks.
Cartwheel calls this endpoint when an order was created
OrderCreatedWebhookEvent
| job_id | string <uuid> |
| order_id | string |
| tracking_link | string |
required | object (CreatePickupWaypoint) |
required | object (CreateDropOffWaypoint) |
| team_id | string <uuid> |
Array of objects (OrderItem) | |
| payment_type | string Enum: "cash" "paid" |
| order_total | number <double> |
| sub_total | number <double> |
| tax | number <double> |
| delivery_fee | number <double> |
| tip | number <double> |
| allowed_vehicles | string |
object (OrderControlledSubstances) | |
| is_contactless_delivery | boolean |
| require_photo_at_drop_off | string Enum: "NONE" "REQUIRED" "OPTIONAL" |
| require_photo_at_pick_up | string Enum: "NONE" "REQUIRED" "OPTIONAL" |
object (CustomerNotification) | |
object (CustomerIdDetailsRequest) | |
| barcode | string |
object (RouteItem) | |
| catering | boolean |
| external_order_id | string |
| source | string |
{- "job_id": "8b656110-7cd5-11ef-8a96-e3f1efdb1c9b",
- "order_id": "002256",
- "pickup_waypoint": {
- "address": "string",
- "address2": "string",
- "city": "string",
- "state": "string",
- "zip": "string",
- "name": "string",
- "phone": "string",
- "location": {
- "latitude": 0.1,
- "longitude": 0.1
}, - "arrive_at": "2021-10-01T15:00:00-0800",
- "external_pickup_id": "string",
- "special_instructions": "string"
}, - "dropoff_waypoint": {
- "email": "peter@example.com",
- "address": "string",
- "address2": "string",
- "city": "string",
- "state": "string",
- "zip": "string",
- "name": "string",
- "phone": "string",
- "location": {
- "latitude": 0.1,
- "longitude": 0.1
}, - "arrive_at": "2021-10-01T15:00:00-0800",
- "external_pickup_id": "string",
- "special_instructions": "string"
}, - "team_id": "a94a93d0-7cd5-11ef-8a96-e3f1efdb1c9b",
- "order_items": [
- {
- "name": "string",
- "quantity": 1,
- "description": "string",
- "image_url": "string"
}
], - "payment_type": "cash",
- "order_total": 10,
- "sub_total": 7,
- "tax": 1,
- "delivery_fee": 1,
- "tip": 1,
- "allowed_vehicles": "Car,Bicycle,Van,Walking",
- "controlled_substances": {
- "control": true
}, - "is_contactless_delivery": true,
- "require_photo_at_drop_off": "REQUIRED",
- "require_photo_at_pick_up": "REQUIRED",
- "customer_notification": {
- "sms": true,
- "email": true
}, - "customer_id_details": {
- "scanned_customer_name": "string",
- "document_expiration_date": "1991-12-21",
- "customer_date_of_birth": "1991-12-21"
}, - "barcode": "string",
- "route": {
- "id": "8aad70d0-7cd7-11ef-8a96-e3f1efdb1c9b",
- "pickup_stop_number": 1,
- "dropoff_stop_number": 3,
- "number": 3
}, - "catering": true,
- "external_order_id": "EXT-12345",
- "source": "src-1"
}Cartwheel calls this endpoint when an order's status or API status changed.
| orderId required | string <uuid> Example: e3e90b97-34b2-ee26-50c6-95ddad3e96ef UUID id of the order |
| status required | string Enum: "unassigned" "assigned" "accepted" "picked_up" "completed" "comp_for_arriving" "cancelled" "cancelled_after_delivered" "revoked" "transit_to_pickup" "at_pickup" "food_not_ready" "transit_to_dropoff" "at_dropoff" "done_cannot_deliver" "done_cancelled" "return_in_progress" "returned" new status of an order |
| teamId required | string Deprecated Example: teamId=BXpress alias of the team this order belongs to |
| teamUUID required | string <uuid> Example: teamUUID=018fb62d-700c-493e-b676-82b969b18fa5 id of the team this order belongs to |
Cartwheel calls this endpoint if an order's details changed
| orderId required | string <uuid> Example: e3e90b97-34b2-ee26-50c6-95ddad3e96ef UUID id of the order |
| teamId required | string Deprecated Example: teamId=BXpress alias of the team this order belongs to |
| teamUUID required | string <uuid> Example: teamUUID=018fb62d-700c-493e-b676-82b969b18fa5 id of the team this order belongs to |
JobDetails
| photo_urls | Array of strings |
| tracking_url | string |
| signature_photo_url | string |
| date_of_birth | string <date> |
| id_scan_time | string <date-time> |
| scanned_name | string name scanned from customer ID document |
| expiration_date | string <date> expiration date of the customer ID document |
{- "photo_urls": [
- "string"
], - "tracking_url": "string",
- "signature_photo_url": "string",
- "date_of_birth": "2019-08-24",
- "id_scan_time": "2019-08-24T14:15:22Z",
- "scanned_name": "string",
- "expiration_date": "2019-08-24"
}Cartwheel calls this endpoint if an order was declined by a DSP
| orderId required | string <uuid> Example: e3e90b97-34b2-ee26-50c6-95ddad3e96ef UUID id of the order |
| teamId required | string Deprecated Example: teamId=BXpress alias of the team this order belongs to |
| teamUUID required | string <uuid> Example: teamUUID=018fb62d-700c-493e-b676-82b969b18fa5 id of the team this order belongs to |
| action required | string Example: action=create action's type: create or validate |
DspDeclined
| reasons | Array of strings |
{- "reasons": [
- "string"
]
}Cartwheel calls this endpoint if a driver was confirmed for an order (don't confuse with the ASSIGNED order's status)
| driverId required | string <uuid> Example: 25050df8-123a-49c1-b722-fe445fcbb7e9 UUID id of the driver |
| orderId required | string <uuid> Example: orderId=e3e90b97-34b2-ee26-50c6-95ddad3e96ef UUID id of the order |
| teamId required | string Deprecated Example: teamId=BXpress alias of the team this order belongs to |
| teamUUID required | string <uuid> Example: teamUUID=018fb62d-700c-493e-b676-82b969b18fa5 id of the team this order belongs to |
Cartwheel calls this endpoint if a driver was unassigned from an order
| driverId required | string <uuid> Example: 25050df8-123a-49c1-b722-fe445fcbb7e9 UUID id of the driver |
| orderId required | string <uuid> Example: orderId=e3e90b97-34b2-ee26-50c6-95ddad3e96ef UUID id of the order |
| teamId required | string Deprecated Example: teamId=BXpress alias of the team this order belongs to |
| teamUUID required | string <uuid> Example: teamUUID=018fb62d-700c-493e-b676-82b969b18fa5 id of the team this order belongs to |
Cartwheel calls this endpoint if a driver's coordinates were changed
| driverId required | string <uuid> Example: 25050df8-123a-49c1-b722-fe445fcbb7e9 UUID id of the driver |
| teamId required | string Deprecated Example: teamId=BXpress alias of the team this driver belongs to |
| teamUUID required | string <uuid> Example: teamUUID=018fb62d-700c-493e-b676-82b969b18fa5 id of the team this order belongs to |
| lat required | number <double> Example: lat=34.1234567 New latitude of the driver |
| lon required | number <double> Example: lon=-118.1234567 New longitude of the driver |
See Release Notes for the latest changes.