Webhooks

Receive real-time HTTP notifications when events occur.

Setup

  1. Create an HTTPS endpoint on your server
  2. Register the URL in your portal under Settings → Webhooks
  3. Select the events you want to receive

Payload

Events

Orders

EventDescription
order.created
New order placed
order.accepted
Order accepted by merchant
order.ready
Order ready for pickup
order.completed
Order delivered
order.cancelled
Order cancelled

Deliveries

EventDescription
delivery.assigned
Driver assigned
delivery.picked_up
Order picked up
delivery.completed
Delivery completed

Payments

EventDescription
payment.completed
Payment successful
payment.failed
Payment failed
payment.refunded
Refund processed

Verifying Signatures

Every webhook includes an X-Kesk-Signature header. Verify it:

Retries

Failed deliveries are retried with exponential backoff:

AttemptDelay
1
Immediate
2
5 minutes
3
30 minutes
4
2 hours
5
24 hours

After 5 failures, the webhook is disabled.

Best Practices

  • Respond with 200 within 5 seconds
  • Process events asynchronously
  • Use the event id for idempotency
  • Always verify signatures
Built with