Skip to main content

Webhook Payload Format

Every webhook delivery is an HTTP POST request with a JSON body. The structure is always the same regardless of the event type.

Top-Level Fields

FieldTypeDescription
eventstringThe event type: order.created, order.confirmed, order.canceled, or order.failed
timestampstringISO 8601 datetime when the event was dispatched
dataobjectThe event payload containing full order data

Order Data Fields

FieldTypeDescription
idstringEasyConfirm order ID (UUID)
externalOrderIdstringYour external order ID (the one you sent when creating the order)
statusstringCurrent order status: pending, confirmed, canceled, or failed
customerActionstring | nullCustomer's action: approved, canceled, or null if no action yet
deliveryStatusstring | nullWhatsApp message delivery status: sent, delivered, read, failed, or null
customerNamestringCustomer's name
customerPhonestringCustomer's phone number
customerAddressstring | nullCustomer's delivery address
subtotalnumberSubtotal before shipping
shippingCostnumberShipping cost
totalCostnumberTotal order cost
currencystringCurrency code (e.g., EGP)
failureReasonstring | nullFailure reason (only present when status is failed)
itemsarrayOrder items array
createdAtstringISO 8601 datetime when the order was created
updatedAtstringISO 8601 datetime of the last update

Item Fields

FieldTypeDescription
idstringItem ID
productNamestringProduct name
variantNamestringVariant description
quantitynumberQuantity ordered
unitPricenumberPrice per unit
totalPricenumberTotal price for this item

Example Structure

{
"event": "order.confirmed",
"timestamp": "2026-01-15T10:05:30.000Z",
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"externalOrderId": "EO-12345",
"status": "confirmed",
"customerAction": "approved",
"deliveryStatus": "read",
"customerName": "Ahmed Mohamed",
"customerPhone": "201234567890",
"customerAddress": "15 Tahrir St, Cairo",
"subtotal": 150,
"shippingCost": 25,
"totalCost": 175,
"currency": "EGP",
"failureReason": null,
"items": [
{
"id": "item-uuid-1",
"productName": "iPhone Case",
"variantName": "Black / Large",
"quantity": 2,
"unitPrice": 75,
"totalPrice": 150
}
],
"createdAt": "2026-01-15T10:00:00.000Z",
"updatedAt": "2026-01-15T10:05:30.000Z"
}
}