Events/Logistics
shipment.created

Shipment created

A new shipment was dispatched (order-bound or external).

When this fires

Fires whenever the underlying state change happens on the platform.

Sample payload

This is the exact envelope shape we POST to your endpoint — outer wrapper plus the per-event data payload. Field values are randomised on each render so you see the general shape, not a fixed example.

json
{
  "id": "a1fe5643-b19f-412e-a442-8a32f0e52432",
  "event": "shipment.created",
  "created": "2026-09-12T10:51:08.893Z",
  "data": {
    "shipmentId": "caxyhbyx2bz00000000000000",
    "merchantReference": "PHR-4733",
    "carrier": "uber",
    "carrierName": "Uber Direct",
    "providerShipmentId": "UBER-6ZAYK0V",
    "trackingUrl": "https://track.uber.example.com/sqefxk2d",
    "costKobo": 196730,
    "deliveryEta": "2026-09-12T12:10:08.893Z",
    "pickupAddress": "Admiralty Way, Lekki",
    "dropoffAddress": "Bode Thomas, Surulere, Lagos",
    "failoverAttempts": [
      {
        "carrier": "indrive",
        "error": "No riders available in pickup zone right now.",
        "attemptedAt": "2026-09-12T10:51:08.893Z"
      },
      {
        "carrier": "uber",
        "error": null,
        "attemptedAt": "2026-09-12T10:51:12.893Z"
      }
    ],
    "excluded": [
      {
        "carrier": "indrive",
        "carrierName": "inDrive",
        "reasons": [
          {
            "kind": "max_weight",
            "limitKg": 25,
            "parcelKg": 32
          }
        ]
      }
    ]
  }
}

Use cases

  • Trigger any downstream automation that cares about this state change.
  • Mirror the event into your data warehouse for analytics.
  • Notify a human channel for high-signal events.

Subscribe in the dashboard

To start receiving this event, add it to a webhook's subscription list in Developers → Webhooks. Wildcard subscriptions ( shipment.*) work too — see the webhooks guide for the matching rules.