Skip to main content

Event payload reference

A single JSON envelope is used for every webhook event. The status field tells you which lifecycle event you're handling; other fields are populated based on that status.

What's always present

Every webhook payload includes the core envelope: identifiers, status, the sender / recipient blocks, origin + destination, packages, quote, and createdAt. Status-specific fields (courier, media, trackingURL, pickupAt, completedAt, failedAt, cancelledAt, failedReason, cancelledReason) appear once they're meaningful.

Payload by status

Select a service category, then click any status to expand the full webhook body.

QUEUEING — scheduled order waiting for its pickup window
{
"providerOrderID": "AWB-TEST-1",
"deliveryID": "DE-1735308506306",
"status": "QUEUEING",
"failedCount": 0,
"courier": null,
"weight": 80,
"sender": {
"firstName": "Budi",
"lastName": " Darmadi",
"companyName": "PT BUDI DARMADI",
"phone": "081234567891"
},
"recipient": {
"firstName": "Sari",
"lastName": "Sutarni",
"companyName": "PT SARI SUTARNI",
"email": "sari.sutarni@ss.com",
"phone": "089999999999",
"actualRecipientName": null
},
"origin": {
"address": "Cipete",
"coordinates": { "latitude": -6.277775, "longitude": 106.800365 }
},
"destination": {
"address": "Depok",
"coordinates": { "latitude": -6.294332, "longitude": 106.782108 }
},
"packages": [
{
"name": "Helm Sepeda",
"description": "Helm Sepeda Lokal",
"quantity": 1,
"price": 23000,
"weight": 80,
"width": 1,
"length": 1,
"height": 1
}
],
"media": [],
"quote": { "amount": 21000 },
"createdAt": "2024-12-27T14:18:17.128Z",
"updatedAt": "2024-12-27T14:18:17.128Z"
}
ALLOCATING — Dash is finding a nearby driver
{
"providerOrderID": "AWB-TEST-1",
"deliveryID": "DE-1735308506306",
"status": "ALLOCATING",
"failedCount": 0,
"courier": null,
"weight": 80,
"sender": {
"firstName": "Budi",
"lastName": " Darmadi",
"companyName": "PT BUDI DARMADI",
"phone": "081234567891"
},
"recipient": {
"firstName": "Sari",
"lastName": "Sutarni",
"companyName": "PT SARI SUTARNI",
"email": "sari.sutarni@ss.com",
"phone": "089999999999",
"actualRecipientName": null
},
"origin": {
"address": "Cipete",
"coordinates": { "latitude": -6.277775, "longitude": 106.800365 }
},
"destination": {
"address": "Depok",
"coordinates": { "latitude": -6.294332, "longitude": 106.782108 }
},
"packages": [
{
"name": "A5",
"description": "Barang Luar Negeri A",
"quantity": 1,
"price": 23000,
"weight": 80,
"width": 1,
"length": 1,
"height": 1
}
],
"media": [],
"quote": { "amount": 21000 },
"createdAt": "2024-12-27T14:18:17.128Z",
"updatedAt": "2024-12-27T14:18:17.128Z"
}
PENDING_PICKUP — driver assigned, not yet moving
{
"providerOrderID": "AWB-TEST-1",
"deliveryID": "DE-1735308506306",
"status": "PENDING_PICKUP",
"failedCount": 0,
"courier": {
"name": "Agus Wijayanto",
"phone": "087777777777"
},
"trackingURL": "https://www.tracking.dummy.com",
"weight": 80,
"sender": {
"firstName": "Budi",
"lastName": " Darmadi",
"companyName": "PT BUDI DARMADI",
"phone": "081234567891"
},
"recipient": {
"firstName": "Sari",
"lastName": "Sutarni",
"companyName": "PT SARI SUTARNI",
"email": "sari.sutarni@ss.com",
"phone": "089999999999",
"actualRecipientName": null
},
"origin": {
"address": "Cipete",
"coordinates": { "latitude": -6.277775, "longitude": 106.800365 }
},
"destination": {
"address": "Depok",
"coordinates": { "latitude": -6.294332, "longitude": 106.782108 }
},
"packages": [
{
"name": "A5",
"description": "Barang Luar Negeri A",
"quantity": 1,
"price": 23000,
"weight": 80,
"width": 1,
"length": 1,
"height": 1
}
],
"media": [],
"quote": { "amount": 21000 },
"createdAt": "2024-12-27T14:18:17.128Z",
"updatedAt": "2024-12-27T14:18:58.750Z"
}
PICKING_UP — driver is on the way to the pickup location
{
"providerOrderID": "AWB-TEST-1",
"deliveryID": "DE-1735308506306",
"status": "PICKING_UP",
"failedCount": 0,
"courier": {
"name": "Agus Wijayanto",
"phone": "087777777777"
},
"trackingURL": "https://www.tracking.dummy.com",
"weight": 80,
"sender": {
"firstName": "Budi",
"lastName": " Darmadi",
"companyName": "PT BUDI DARMADI",
"phone": "081234567891"
},
"recipient": {
"firstName": "Sari",
"lastName": "Sutarni",
"companyName": "PT SARI SUTARNI",
"email": "sari.sutarni@ss.com",
"phone": "089999999999",
"actualRecipientName": null
},
"origin": {
"address": "Cipete",
"coordinates": { "latitude": -6.277775, "longitude": 106.800365 }
},
"destination": {
"address": "Depok",
"coordinates": { "latitude": -6.294332, "longitude": 106.782108 }
},
"packages": [
{
"name": "Helm Sepeda",
"description": "Helm Sepeda Lokal",
"quantity": 1,
"price": 23000,
"weight": 80,
"width": 1,
"length": 1,
"height": 1
}
],
"media": [],
"quote": { "amount": 21000 },
"createdAt": "2024-12-27T14:18:17.128Z",
"updatedAt": "2024-12-27T14:18:58.750Z"
}
PENDING_DELIVERY — package picked up (pickupAt + PICKUP_PROOF now set), intermediate state before IN_DELIVERY
{
"providerOrderID": "DAILY_EXPRESS-OOOO1",
"deliveryID": "DE-1747913656208",
"status": "PENDING_DELIVERY",
"failedCount": 0,
"courier": {
"name": "Dash Driver",
"phone": "0811111111"
},
"trackingURL": "https://www.tracking.dummy.com",
"weight": 24.8,
"sender": {
"firstName": "provider",
"lastName": "dash",
"companyName": "provider",
"phone": "0123"
},
"recipient": {
"firstName": "dash",
"lastName": "electric",
"companyName": "dash",
"email": "test@test.id",
"phone": "123424",
"actualRecipientName": null
},
"origin": {
"address": "Pesanggrahan",
"coordinates": { "latitude": -6.4287925, "longitude": 106.823185 }
},
"destination": {
"address": "Masjid Al-Huda",
"coordinates": { "latitude": -6.42878, "longitude": 106.8232 }
},
"packages": [
{
"name": "package-1",
"description": "lorem ipsum",
"quantity": 1,
"price": 20000,
"weight": 12.5,
"length": 10,
"width": 10,
"height": 10
}
],
"media": [
{
"url": "https://storage.googleapis.com/.../PICKUP_PROOF",
"type": "PICKUP_PROOF",
"createdAt": "2024-12-27T14:07:49.300Z"
}
],
"quote": { "amount": 21000 },
"createdAt": "2025-05-22T11:34:16.224Z",
"updatedAt": "2025-05-22T11:34:22.000Z",
"pickupAt": "2025-05-22T11:34:22.000Z"
}
IN_DELIVERY — driver is en route to the recipient with the package in hand
{
"providerOrderID": "AWB-TEST-1",
"deliveryID": "DE-1735308506306",
"status": "IN_DELIVERY",
"failedCount": 0,
"courier": {
"name": "Agus Wijayanto",
"phone": "087777777777"
},
"trackingURL": "https://www.tracking.dummy.com",
"weight": 80,
"sender": {
"firstName": "Budi",
"lastName": " Darmadi",
"companyName": "PT BUDI DARMADI",
"phone": "081234567891"
},
"recipient": {
"firstName": "Sari",
"lastName": "Sutarni",
"companyName": "PT SARI SUTARNI",
"email": "sari.sutarni@ss.com",
"phone": "089999999999",
"actualRecipientName": null
},
"origin": {
"address": "Cipete",
"coordinates": { "latitude": -6.277775, "longitude": 106.800365 }
},
"destination": {
"address": "Depok",
"coordinates": { "latitude": -6.294332, "longitude": 106.782108 }
},
"packages": [
{
"name": "Helm Sepeda",
"description": "Helm Sepeda Lokal",
"quantity": 1,
"price": 23000,
"weight": 80,
"length": 10,
"width": 10,
"height": 10
}
],
"media": [
{
"url": "https://storage.googleapis.com/.../PICKUP_PROOF",
"type": "PICKUP_PROOF",
"createdAt": "2024-12-27T14:07:49.300Z"
}
],
"quote": { "amount": 21000 },
"createdAt": "2024-12-27T14:18:17.128Z",
"pickupAt": "2024-12-27T14:18:58.750Z"
}
COMPLETED — driver captured DELIVERY_PROOF at the destination (terminal)
{
"providerOrderID": "AWB-TEST-1",
"deliveryID": "DE-1735308506306",
"status": "COMPLETED",
"failedCount": 0,
"courier": {
"name": "Agus Wijayanto",
"phone": "087777777777"
},
"weight": 80,
"sender": {
"firstName": "Budi",
"lastName": " Darmadi",
"companyName": "PT BUDI DARMADI",
"phone": "081234567891"
},
"recipient": {
"firstName": "Sari",
"lastName": "Sutarni",
"companyName": "PT SARI SUTARNI",
"email": "sari.sutarni@ss.com",
"phone": "089999999999",
"actualRecipientName": "John Doe"
},
"origin": {
"address": "Cipete",
"coordinates": { "latitude": -6.277775, "longitude": 106.800365 }
},
"destination": {
"address": "Depok",
"coordinates": { "latitude": -6.294332, "longitude": 106.782108 }
},
"packages": [
{
"name": "Helm Sepeda",
"description": "Helm Sepeda Lokal",
"quantity": 1,
"price": 23000,
"weight": 80,
"length": 10,
"width": 10,
"height": 10
}
],
"media": [
{
"url": "https://storage.googleapis.com/.../PICKUP_PROOF",
"type": "PICKUP_PROOF",
"createdAt": "2024-12-27T14:07:49.300Z"
},
{
"url": "https://storage.googleapis.com/.../DELIVERY_PROOF",
"type": "DELIVERY_PROOF",
"createdAt": "2024-12-27T14:07:49.300Z"
}
],
"quote": { "amount": 21000 },
"createdAt": "2024-12-27T12:18:17.128Z",
"pickupAt": "2024-12-27T13:18:17.128Z",
"completedAt": "2024-12-27T14:18:58.750Z"
}
FAILED — drop could not complete (terminal)
{
"providerOrderID": "AWB-TEST-1",
"deliveryID": "DE-1735308506306",
"status": "FAILED",
"failedCount": 1,
"courier": {
"name": "Agus Wijayanto",
"phone": "087777777777"
},
"weight": 80,
"sender": {
"firstName": "Budi",
"lastName": " Darmadi",
"companyName": "PT BUDI DARMADI",
"phone": "081234567891"
},
"recipient": {
"firstName": "Sari",
"lastName": "Sutarni",
"companyName": "PT SARI SUTARNI",
"email": "sari.sutarni@ss.com",
"phone": "089999999999",
"actualRecipientName": null
},
"origin": {
"address": "Cipete",
"coordinates": { "latitude": -6.277775, "longitude": 106.800365 }
},
"destination": {
"address": "Depok",
"coordinates": { "latitude": -6.294332, "longitude": 106.782108 }
},
"packages": [
{
"name": "Helm Sepeda",
"description": "Helm Sepeda Lokal",
"quantity": 1,
"price": 23000,
"weight": 80,
"length": 10,
"width": 10,
"height": 10
}
],
"media": [
{
"url": "https://storage.googleapis.com/.../PICKUP_PROOF",
"type": "PICKUP_PROOF",
"createdAt": "2024-12-27T14:07:49.300Z"
},
{
"url": "https://storage.googleapis.com/.../FAILED_PROOF",
"type": "FAILED_PROOF",
"createdAt": "2024-12-27T14:07:49.300Z"
}
],
"quote": { "amount": 21000 },
"createdAt": "2024-12-27T11:18:17.128Z",
"pickupAt": "2024-12-27T13:18:17.128Z",
"failedAt": "2024-12-27T14:18:58.750Z",
"failedReason": "Alamat tidak ditemukan"
}
CANCELLED — provider cancelled before pickup (ALLOCATING / PENDING_PICKUP / PICKING_UP) (terminal)
{
"providerOrderID": "AWB-TEST-1",
"deliveryID": "DE-1735308506306",
"status": "CANCELLED",
"failedCount": 0,
"courier": {
"name": "Agus Wijayanto",
"phone": "087777777777"
},
"weight": 80,
"sender": {
"firstName": "Budi",
"lastName": " Darmadi",
"companyName": "PT BUDI DARMADI",
"phone": "081234567891"
},
"recipient": {
"firstName": "Sari",
"lastName": "Sutarni",
"companyName": "PT SARI SUTARNI",
"email": "sari.sutarni@ss.com",
"phone": "089999999999",
"actualRecipientName": null
},
"origin": {
"address": "Cipete",
"coordinates": { "latitude": -6.277775, "longitude": 106.800365 }
},
"destination": {
"address": "Depok",
"coordinates": { "latitude": -6.294332, "longitude": 106.782108 }
},
"packages": [
{
"name": "Helm Sepeda",
"description": "Helm Sepeda Lokal",
"quantity": 1,
"price": 23000,
"weight": 80,
"length": 10,
"width": 10,
"height": 10
}
],
"media": [],
"quote": { "amount": 21000 },
"createdAt": "2024-12-27T14:18:17.128Z",
"pickupAt": null,
"cancelledAt": "2024-12-27T14:18:58.750Z",
"cancelledReason": "Barang tidak jadi dikirim"
}

Field reference

providerOrderIDstringalways
Your AWB. Echoed verbatim from Create Delivery.
deliveryIDstringalways
Dash-issued id.
statusstringalways
Current delivery status. See Status reference for the full list.
failedCountnumberalways
Incremented each time a failure occurs.
courierobjectnullable
Driver info. Only present once the delivery has reached PENDING_PICKUP (EXPRESS) or PENDING_DELIVERY (LOGISTIC). May change on reassignment.
courier.namestringnullable
Driver display name.
courier.phonestringnullable
Driver phone number.
trackingURLstringnullable
Live tracking page URL. EXPRESS only. Present from PENDING_PICKUP onward (once a driver is assigned).
weightfloatalways
Sum of weight across all packages (kg).
senderobjectalways
Sender contact block, echoed.
recipientobjectalways
Recipient contact block, echoed.
recipient.actualRecipientNamestringnullable
Name of the actual person who signed for the package. Populated on COMPLETED.
originobjectalways
Pickup address + coordinates.
destinationobjectalways
Dropoff address + coordinates.
packages[]arrayalways
Package rows as submitted.
media[]arrayalways
POD media. Empty array until pickup. Types: PICKUP_PROOF (EXPRESS only), DELIVERY_PROOF, FAILED_PROOF.
quoteobjectalways
Quote summary.
quote.amountnumberalways
Total fare in IDR.
createdAtdatetimealways
When the delivery was created.
updatedAtdatetimenullable
Present on VERIFIED, NOT_VERIFIED, PENDING_PICKUP, PICKING_UP, IN_DELIVERY.
pickupAtdatetimenullable
Time the driver picked up the package. EXPRESS: present from PENDING_DELIVERY onward (PENDING_DELIVERY, IN_DELIVERY, COMPLETED, FAILED). LOGISTIC: present from IN_DELIVERY onward.
completedAtdatetimenullable
Present only on COMPLETED.
failedAtdatetimenullable
Present only on FAILED.
failedReasonstringnullable
Reason text when status = FAILED, e.g. "Alamat tidak ditemukan".
cancelledAtdatetimenullable
Present only on CANCELLED.
cancelledReasonstringnullable
Reason text when status = CANCELLED.