Missed Call Service

Missed Call Webhooks: Signatures, Retries, Dedup

Best practices for missed call webhooks: HMAC-SHA256 signature verification over the raw body, fast 2xx responses, retry behaviour, idempotency on call_sid, replay and monitoring, with Node and Python code.

Edesy Team8 min read

Frequently asked questions

How do I verify a missed call webhook signature?

Compute HMAC-SHA256 of the raw request body using your webhook secret, hex-encode it, prefix it with sha256= and compare it with the X-Edesy-Signature header using a constant-time comparison. Always use the raw bytes, never re-serialised JSON.

What happens if my endpoint is down?

Any non-2xx response or timeout counts as a failure. The event is retried up to 6 attempts in total with exponential backoff starting at 30 seconds, roughly 15 minutes overall. Failed deliveries can be replayed from the delivery log, and you are not charged for events that could not be delivered.

Can I receive the same missed call twice?

Yes, through retries or a manual replay. Every retry and replay carries the same call_sid, so store it with a unique constraint and ignore duplicates.

How fast must my endpoint respond?

Each attempt has a short timeout of a few seconds. Verify the signature, enqueue the event and return 200 immediately; do the CRM write, callback or other slow work in a background job.

Is a webhook required to use the missed call service?

No. The call log and CSV export are free without a webhook. The webhook is ₹0.30 per delivered event and is for real-time delivery into your own systems.

Edesy Team

The Edesy engineering team, building voice AI, messaging, and automation products for Indian businesses.

Published

Share

Missed Call ServiceWebhooksAPIDevelopers
Back to blog