The
completed_at field is an empty string ("") until the delivery is completed. Once complete, it contains the delivery timestamp. Check for an empty string rather than a null value.Delivery Direction
This webhook is sent by Wasl to your server — you do not call this endpoint yourself.Payload Fields
string
The full name of the driver assigned to this order.
string
The driver’s phone number, formatted with a country code (e.g.
+965123321).float
The driver’s current location latitude as a decimal degree value.
float
The driver’s current location longitude as a decimal degree value.
string
A URL your customers can use to track the order in real time. Points to pickup tracking before collection, and switches to delivery tracking once the order is picked up.
string
The UTC timestamp of delivery completion. Returns an empty string (
"") if the delivery is not yet complete.string
The Wasl-assigned order number for this delivery.
string
The order ID you provided when creating the order. Use this to match the event to your internal records.
integer
A numeric code representing the current delivery status of the order.
float
The delivery fee for this order.
float
The delivery distance in kilometres.
string
A secret token for verifying that the request originated from Wasl. Always validate this before processing the payload. See the Webhooks Overview for details.
Example Payload
Payload
Handling the Event
After validating thewebhook_token, a typical handler will:
- Look up the order in your system using
vendor_order_id. - Update the order’s status to match
order_status. - Store or surface the
tracking_linkfor the customer. - If
completed_atis non-empty, mark the order as delivered and record the completion time. - Return HTTP 200 to acknowledge receipt.