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) | |
| 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",
- "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",
- "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
}, - "barcode": "string",
- "route": {
- "id": "8aad70d0-7cd7-11ef-8a96-e3f1efdb1c9b",
- "number": 1
}, - "catering": true,
- "external_order_id": "EXT-12345",
- "source": "src-1"
}Cartwheel calls this endpoint if 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: "assigned" "transit_to_pickup" "at_pickup" "picked_up" "food_not_ready" "transit_to_dropoff" "at_dropoff" "completed" "done_cannot_deliver" "done_cancelled" "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 |
JobDetalils
| photo_urls | Array of strings |
| tracking_url | string |
| signature_photo_url | string |
| date_of_birth | string <date> |
| id_scan_time | string <date-time> |
{- "photo_urls": [
- "string"
], - "tracking_url": "string",
- "signature_photo_url": "string",
- "date_of_birth": "2019-08-24",
- "id_scan_time": "2019-08-24T14:15:22Z"
}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=018fb62d-700c-493e-b676-82b969b18fa5 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.