Webhook Events Overview
DashLink parcel deliveries generate near real-time webhook events that allow merchants to track shipments from label creation through final delivery, including mid-mile hops and failed attempts.
Why webhooks are recommended
DashLink strongly recommends webhooks as the primary tracking mechanism because:
- Events fire immediately as updates occur
- They include the most complete data
- They reflect both mid-mile and last-mile activity
- They provide granular exception and failure states
Event Categories
DashLink parcel events fall into five categories:
1. All parcels (core lifecycle)
| Event | Description |
|---|---|
| PARCEL_LABELED | Your package has a shipping label and being prepared to ship. |
| PARCEL_SCANNED | Your package was received at a local facility and will go out for delivery shortly. |
| DASHER_PICKED_UP | Your package will be delivered today. A delivery driver may contact you if they can't find your location. |
| DASHER_CONFIRMED_DROPOFF_ARRIVAL | Your package will be delivered soon. A delivery driver may contact you if they can't find your location. |
| DASHER_DROPPED_OFF* | Your package has been delivered. |
These represent the standard happy-path lifecycle. Events marked * are terminal.
2. Mid-mile hops
| Event | Description |
|---|---|
| PARCEL_MID_MILE_ARRIVED | Your package is at a regional facility awaiting transit. |
| PARCEL_MID_MILE_DEPARTED | Your package is on the way. |
These are common for multi-region or long-distance shipments.
3. Failed delivery attempts
| Event | Description |
|---|---|
| DASHER_ATTEMPTED_DELIVERY | Description will depend on the reason code. See Webhook Reason Code page for detailed descriptions. |
| PARCEL_RECEIVED_TO_REDELIVER | Your scheduled delivery date has been updated. Ensure that your delivery instructions are accurate. |
| PARCEL_RETURN_TO_MERCHANT* | Unfortunately, your package couldn't be delivered. It's been returned to the sender. |
DashLink provides both reason and additional details explaining failure. Events marked * are terminal.
4. Exception statuses
| Event | Description |
|---|---|
| PARCEL_DELAYED | There's been a short delay with your package, your delivery date has been updated. |
| PARCEL_AWAITING | There's been a short delay with your package, your delivery date has been updated. |
| PARCEL_LOST_IN_TRANSIT* | Unfortunately, your package has been lost and the sender has been notified. You'll get an update if it's located. |
| PARCEL_DAMAGED | Unfortunately, your package has been marked as damaged |
| PARCEL_DISPOSED* | Unfortunately, your package has been disposed |
Events marked * are terminal.
5. Redelivery workflows
DashLink automatically triggers reattempt flows when appropriate. These include:
parcel_received_to_redeliver- Follow-up
dasher_picked_up,dasher_confirmed_dropoff_arrival, anddasher_dropped_offevents