CtrlChain Developers
Resources

Webhooks

When order actions are completed in the real world, the system sends status updates to your endpoint — if your group has webhook notifications enabled.

Setup

To use webhooks, share your endpoint details with CtrlChain and choose which notifications you want to receive. Currently this functionality is available for shippers.

Notification body

webhook notification
{
  "EventId": "bc4fff3e-cfc3-0000-8d5d-000b12310e5d",
  "EventType": "PickupEta",
  "EntityId": "b9b6854f-282f-4e0d-a529-555f23441541",
  "EntityType": "Order",
  "MetaData": [
    { "Key": "OrderReferenceNumber", "Value": "CCA2026-007873.1" },
    { "Key": "ShipperReference", "Value": "PO-2026-118" }
  ],
  "DetailUrl": "https://api.ctrlchain.com/api/v1/order/detail/b9b6854f-282f-4e0d-a529-555f23441541"
}

The DetailUrl matches the order detail endpoint, so your system can pull the full order state the moment a notification arrives. Once PODs are approved, the order detail also exposes a downloadUrl per POD.

Event types

Event
Fires when
CancellationOrder
An order is cancelled.
DeliveryConfirmation
A delivery is confirmed (cargo unloaded).
DeliveryEta
The driver confirms the delivery ETA.
PickupConfirmation
A pickup is confirmed (cargo loaded).
PickupEta
The driver confirms the pickup ETA.
TimeSlotBookingConfirmed
A pickup or delivery timeslot is confirmed.
UpdateOrderDriverVehicleTrailer
Driver, vehicle, or trailer details are updated.
UpdatedOrderReferences
Order references are updated.
PODApproval
A POD has been approved after uploading.

Listing and retriggering

POST /api/v1/Webhook/paginated returns the webhooks that were triggered for your enterprise, including the response status your endpoint returned. If a delivery failed, retry it with POST /api/v1/Webhook/retrigger and the eventId.