Core Webhook API (1.0.19)

Download OpenAPI specification:

You can receive updates about orders or drivers by subscribing to webhooks.

Authorization: basic

Credentials: your credentials configured in Properties

Orders

Created

Cartwheel calls this endpoint when an order was created

Authorizations:
Basic
Request Body schema: application/json
required

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

Responses

Request samples

Content type
application/json
{
  • "job_id": "8b656110-7cd5-11ef-8a96-e3f1efdb1c9b",
  • "order_id": "002256",
  • "pickup_waypoint": {
    },
  • "dropoff_waypoint": {
    },
  • "team_id": "a94a93d0-7cd5-11ef-8a96-e3f1efdb1c9b",
  • "order_items": [
    ],
  • "payment_type": "cash",
  • "order_total": 10,
  • "sub_total": 7,
  • "tax": 1,
  • "delivery_fee": 1,
  • "tip": 1,
  • "allowed_vehicles": "Car,Bicycle,Van,Walking",
  • "controlled_substances": {
    },
  • "is_contactless_delivery": true,
  • "require_photo_at_drop_off": "required",
  • "require_photo_at_pick_up": "required",
  • "customer_notification": {
    },
  • "barcode": "string",
  • "route": {
    },
  • "catering": true,
  • "external_order_id": "EXT-12345",
  • "source": "src-1"
}

Status changed

Cartwheel calls this endpoint if an order's status or API status changed

Authorizations:
Basic
path Parameters
orderId
required
string <uuid>
Example: e3e90b97-34b2-ee26-50c6-95ddad3e96ef

UUID id of the order

query Parameters
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

Responses

Details changed

Cartwheel calls this endpoint if an order's details changed

Authorizations:
Basic
path Parameters
orderId
required
string <uuid>
Example: e3e90b97-34b2-ee26-50c6-95ddad3e96ef

UUID id of the order

query Parameters
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

Request Body schema: application/json
optional

JobDetalils

photo_urls
Array of strings
tracking_url
string
signature_photo_url
string
date_of_birth
string <date>
id_scan_time
string <date-time>

Responses

Request samples

Content type
application/json
{
  • "photo_urls": [
    ],
  • "tracking_url": "string",
  • "signature_photo_url": "string",
  • "date_of_birth": "2019-08-24",
  • "id_scan_time": "2019-08-24T14:15:22Z"
}

Declined by DSP

Cartwheel calls this endpoint if an order was declined by a DSP

Authorizations:
Basic
path Parameters
orderId
required
string <uuid>
Example: e3e90b97-34b2-ee26-50c6-95ddad3e96ef

UUID id of the order

query Parameters
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

Request Body schema: application/json
optional

DspDeclined

reasons
Array of strings

Responses

Request samples

Content type
application/json
{
  • "reasons": [
    ]
}

Drivers

Assigned

Cartwheel calls this endpoint if a driver was confirmed for an order (don't confuse with the ASSIGNED order's status)

Authorizations:
Basic
path Parameters
driverId
required
string <uuid>
Example: 25050df8-123a-49c1-b722-fe445fcbb7e9

UUID id of the driver

query Parameters
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

Responses

Unassigned

Cartwheel calls this endpoint if a driver was unassigned from an order

Authorizations:
Basic
path Parameters
driverId
required
string <uuid>
Example: 25050df8-123a-49c1-b722-fe445fcbb7e9

UUID id of the driver

query Parameters
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

Responses

Coordinates changed

Cartwheel calls this endpoint if a driver's coordinates were changed

Authorizations:
Basic
path Parameters
driverId
required
string <uuid>
Example: 25050df8-123a-49c1-b722-fe445fcbb7e9

UUID id of the driver

query Parameters
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

Responses

Release Notes

See Release Notes for the latest changes.