delivery_order/updated
Overview
| Property | Value |
|---|---|
| Webhook type | delivery_order/updated |
| Kafka topic | delivery-order.updated |
| Direction | Platform → Your endpoint |
Description
Fires whenever a delivery order is modified (status transitions, line updates, address changes, fulfillment event additions). The entire delivery order object is sent as a full-state snapshot.
Trigger Conditions
- Any field on the delivery order is modified
- A delivery order line status changes
- A new fulfillment event is recorded (e.g. warehouse acceptance, packing confirmation)
- The delivery address is updated
- Priority, comment, or metadata changes
Message Envelope
json
{
"header": {
"organizationId": "org_xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"messageId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"webhookId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"type": "delivery_order/updated",
"date": "2024-03-15T11:45:00.000Z"
},
"body": { ... }
}Body — Property Table
The body has the same shape as delivery_order/created. See delivery-order-created.md for the full property table.
Key fields that commonly change in update events:
| Field | Change scenario |
|---|---|
status | Status transitions: DRAFT → PENDING → OPENED → COMPLETED |
lines[].status | Full set of values: NEW, AWAITING_STOCK, PENDING, CANCELED, ACCEPTED, IN_PROGRESS, REJECTED, FULFILLED, PARTIALLY_FULFILLED, DELIVERED, ERRORED |
lines[].fulfilledQuantity | Increases as warehouse reports picking |
events | New FulfillmentEvent entries appended |
Full JSON Payload Sample
json
{
"header": {
"organizationId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"messageId": "d4e5f6a7-b8c9-0123-defa-901234567890",
"webhookId": "c3d4e5f6-a7b8-9012-cdef-123456789012",
"type": "delivery_order/updated",
"date": "2024-03-15T11:45:00.000Z"
},
"body": {
"id": "e5f6a7b8-c9d0-1234-efab-890123456789",
"orderIds": ["d4e5f6a7-b8c9-0123-defa-234567890123"],
"locationId": "f0a1b2c3-d4e5-6789-f0ab-123456789012",
"organizationId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"shippingMethodId": "f6a7b8c9-d0e1-2345-fabc-456789012345",
"shippingMethodName": "Colissimo Domicile",
"collectPointId": null,
"collectPointCountry": null,
"collectPointZipCode": null,
"type": "B2C",
"priority": "NORMAL",
"issuedAt": "2024-03-15T09:00:00.000Z",
"status": "OPENED",
"fulfillmentType": "WAREHOUSE",
"total": 85.00,
"totalTaxInclusive": 102.00,
"totalShipping": 5.99,
"totalDiscount": 0.00,
"totalVat": 17.00,
"totalInsurance": null,
"currency": "EUR",
"invoiceNumber": "INV-2024-001234",
"invoiceUrl": "https://cdn.example.com/invoices/INV-2024-001234.pdf",
"orderNumber": "ORD-2024-001234",
"gift": false,
"inventoryPolicy": "DENY",
"createdAt": "2024-03-15T10:30:00.000Z",
"prepareAt": null,
"comment": null,
"meta": null,
"incoterms": null,
"virtual": false,
"deliveryAddress": {
"id": "a1b2c3d4-e5f6-7890-abcd-901234567890",
"type": "PERSON",
"deliveryOrderId": "e5f6a7b8-c9d0-1234-efab-890123456789",
"fullname": "Alice Dupont",
"email": "alice.dupont@example.com",
"address": "12 Rue de la Paix",
"addressComplement": "Apt 4B",
"zipcode": "75001",
"country": "FR",
"city": "Paris",
"state": null,
"phone": "+33612345678",
"comments": null,
"metadata": null,
"taxId": null,
"eori": null,
"form": null,
"capital": null,
"companyId": null,
"registration": null
},
"events": [
{
"id": "f6a7b8c9-d0e1-2345-fabc-012345678901",
"deliveryOrderId": "e5f6a7b8-c9d0-1234-efab-890123456789",
"type": "FULFILLMENT_ACCEPTED",
"level": "NORMAL",
"message": "Fulfillment accepted by warehouse WH-PARIS-01",
"date": "2024-03-15T11:00:00.000Z"
},
{
"id": "a7b8c9d0-e1f2-3456-abcd-123456789012",
"deliveryOrderId": "e5f6a7b8-c9d0-1234-efab-890123456789",
"type": "FULFILLMENT_IN_PROGRESS",
"level": "NORMAL",
"message": "Picking in progress",
"date": "2024-03-15T11:30:00.000Z"
}
],
"lines": [
{
"id": "b2c3d4e5-f6a7-8901-bcde-012345678901",
"deliveryOrderId": "e5f6a7b8-c9d0-1234-efab-890123456789",
"orderLineId": "c9d0e1f2-a3b4-5678-cdef-789012345678",
"stockReferenceId": "d0e1f2a3-b4c5-6789-defa-123456789012",
"status": "IN_PROGRESS",
"label": "T-Shirt Blanc Taille M",
"sku": "TSHIRT-WHITE-M",
"quantity": 2,
"price": 25.00,
"vatRate": 0.20,
"total": 50.00,
"totalTaxInclusive": 60.00,
"meta": null,
"fulfilledQuantity": 0
},
{
"id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
"deliveryOrderId": "e5f6a7b8-c9d0-1234-efab-890123456789",
"orderLineId": "d0e1f2a3-b4c5-6789-defa-890123456789",
"stockReferenceId": "e1f2a3b4-c5d6-7890-efab-234567890123",
"status": "IN_PROGRESS",
"label": "Pantalon Bleu Taille 38",
"sku": "PANTS-BLUE-38",
"quantity": 1,
"price": 35.00,
"vatRate": 0.20,
"total": 35.00,
"totalTaxInclusive": 42.00,
"meta": null,
"fulfilledQuantity": 0
}
]
}
}Related Events
delivery_order/created— initial creationdelivery_order/opened— dedicated event for OPENED transitiondelivery_order/pending— dedicated event for PENDING transitiondelivery_order/completed— dedicated event for completiondelivery_order/cancelled— dedicated event for cancellation
Notes
delivery_order/updatedis a full-state snapshot — you receive the complete entity including all current events and lines.- The
eventsarray grows over time — always check thedatefield on each event to determine ordering. - The
statusesandlogsrelations are excluded from the payload.