Route Published

Fired when a route is published or republished in Routific

Overview

The route.published event is triggered when a dispatcher publishes or republishes a route. Each published or republished route generates its own webhook payload. If multiple routes are published or republished at the same time, one webhook event is sent for each route.

The HTTP request body contains the full route object (equivalent to the Fetch Routes response for that route) combined with the full timeline (equivalent to the Fetch Route Timeline response), so you can act on the complete picture without making any follow-up API calls.

Topic Name

route.published

Request Headers

content-type: 	application/json
x-routific-signature: v0=96f75bab20672af9db0549863fe1b2c6feagf3233708e0670e642effe7b920703
x-routific-topic: 	route.published
x-routific-event-id: 	evt_nRUoQC3hvBb5zohygsa1iP8eEK
x-routific-timestamp: 	2026-06-10T15:03:58Z

FieldTypeDescription
x-routific-event-idStringUnique identifier for this webhook event. This value should remain the same across retries and can be used as an idempotency key.
x-routific-timestampDateTimeDate and Time in UTC for when the webhook delivery attempt was made.
x-routific-signatureStringSignature of the webhook payload and metadata. For HMAC-SHA256 signatures, the value is prefixed with v1,
x-routific-topicStringEvent name of the webhook

Request Body

{
  "type": "route.published",
  "timestamp": "2024-09-25T14:30:00Z",
  "data": {
    "route": {
      "uuid": "246612f0-f160-4649-bb16-292ebaa43555",
      "name": "Route 11",
      "date": "2024-09-25",
      "status": "planned",
      "workspaceId": 47,
      "workingTimeInSeconds": 4200,
      "distanceInKilometers": 18.3,
      "ordersCount": 2,
      "driver": {
        "uuid": "7f5a7b8d-67e3-4c6f-9f20-5b2e4f6c91a1",
        "name": "John Doe",
        "email": "[email protected]"
      }
    },
    "timeline": [
      {
        "sequence": 0,
        "type": "start_location",
        "stopUuid": "0f9b4e74-0d6d-4cf0-b11b-f2c9a74f0001",
        "plannedArrivalTime": "2024-09-25T08:00:00-07:00",
        "plannedDepartureTime": "2024-09-25T08:00:00-07:00",
        "actualArrivalTime": "2024-09-25T07:58:00-07:00",
        "actualDepartureTime": "2024-09-25T08:03:00-07:00",
        "distanceFromPreviousStopInKilometers": 0,
        "orders": []
      },
      {
        "sequence": 1,
        "type": "delivering_stop",
        "stopUuid": "1f9b4e74-0d6d-4cf0-b11b-f2c9a74f0002",
        "plannedArrivalTime": "2024-09-25T08:15:00-07:00",
        "plannedDepartureTime": "2024-09-25T08:25:00-07:00",
        "actualArrivalTime": "2024-09-25T08:17:00-07:00",
        "actualDepartureTime": "2024-09-25T08:27:00-07:00",
        "distanceFromPreviousStopInKilometers": 6.4,
        "orders": [
          {
            "uuid": "e494bee9-8f01-42b6-9ef2-b61bca2df8f3",
            "status": "delivered",
            "uri": "/v1/orders/e494bee9-8f01-42b6-9ef2-b61bca2df8f3",
            "customerOrderNumber": "CUST-1001",
            "routificOrderNumber": "ROUT-20A1"
          }
        ]
      },
      {
        "sequence": 2,
        "type": "delivering_stop",
        "stopUuid": "2f9b4e74-0d6d-4cf0-b11b-f2c9a74f0003",
        "plannedArrivalTime": "2024-09-25T08:40:00-07:00",
        "plannedDepartureTime": "2024-09-25T08:50:00-07:00",
        "actualArrivalTime": "2024-09-25T08:42:00-07:00",
        "actualDepartureTime": "2024-09-25T08:53:00-07:00",
        "distanceFromPreviousStopInKilometers": 4.8,
        "orders": [
          {
            "uuid": "8a2c9978-bb12-46ad-9c79-cd321f04f79a",
            "status": "delivered",
            "uri": "/v1/orders/8a2c9978-bb12-46ad-9c79-cd321f04f79a",
            "customerOrderNumber": "CUST-1002",
            "routificOrderNumber": "ROUT-20B2"
          }
        ]
      },
      {
        "sequence": 3,
        "type": "end_location",
        "stopUuid": "3f9b4e74-0d6d-4cf0-b11b-f2c9a74f0004",
        "plannedArrivalTime": "2024-09-25T09:10:00-07:00",
        "plannedDepartureTime": "2024-09-25T09:10:00-07:00",
        "actualArrivalTime": "2024-09-25T09:12:00-07:00",
        "actualDepartureTime": "2024-09-25T09:12:00-07:00",
        "distanceFromPreviousStopInKilometers": 7.1,
        "orders": []
      }
    ]
  }
}
FieldTypeDescription
typestringFull-stop delimited event type. For this webhook, the value is route.published.
timestampstringISO 8601 timestamp for when the route publish event occurred.
dataobjectEvent-specific payload containing route, timeline, stop, and order details.
route.uuidstringUnique identifier of the route.
route.namestringName of the route.
route.datestringDate when the route is planned for. Format: yyyy-mm-dd.
route.statusstringCurrent status of the route. Possible values: planned, published, executing, and completed.
route.workspaceIdintegerID of the workspace where the route belongs.
route.workingTimeInSecondsintegerTotal working time for the route in seconds.
route.distanceInKilometersnumberTotal distance covered by the route in kilometers.
route.ordersCountintegerNumber of orders assigned to the route.
route.driverobjectDriver assigned to the route.
route.driver.uuidstringUnique identifier of the driver assigned to the route.
route.driver.namestringName of the driver assigned to the route. A null value will be returned if no driver is assigned.
route.driver.emailstringEmail address of the driver assigned to the route.
timeline.sequenceintegerZero-based position of the timeline entry.
timeline.typestringType of event. Possible values: start_location, delivering_stop, end_location, and idling.
timeline.stopUuidstringUnique stop identifier.
timeline.distanceFromPreviousStopInKilometersnumberDistance from the previous stop in kilometers.
timeline.plannedArrivalTimestringExpected or planned time of arrival at this stop.
timeline.plannedDepartureTimestringExpected or planned time the stop will be completed and departed from.
timeline.actualArrivalTimestringActual time the vehicle arrives at this stop.
timeline.actualDepartureTimestringActual time the stop was completed and departed from.
timeline.ordersarrayOrders associated with a stop. Routific can aggregate multiple orders under a single stop. Only delivering_stop timeline event types contain orders.
timeline.orders.uuidstringUnique identifier of the order.
timeline.orders.statusstringCurrent status of the order. Possible values: scheduled, not scheduled, delivered, and missed.
timeline.orders.uristringURL endpoint to access additional details about the order.
timeline.orders.customerOrderNumberstringCustomer-provided order number.
timeline.orders.routificOrderNumberstringRoutific order number. This always uses the ROUT-XXYY format.