What is a webhook?
It’s an HTTPS URL on your system that receives automatic alerts from Notifique. Instead of polling the API asking “was it delivered?”, you wait for the alert to arrive. Think of it like a push notification, but for your backend.What is it for?
With webhooks you can:- Know right away when a message was sent, delivered, read, or failed
- Automate orders, CRM, billing, and bots without checking the dashboard
- Process messages customers send you (WhatsApp, Telegram, SMS)
- Monitor instance connection (QR, connected, disconnected)
- Track short-link clicks and Forms events
When to use?
How to set up
1. Prepare your endpoint
Create an HTTPS route that accepts POST JSON and responds 2xx quickly. Example:https://yoursite.com/webhooks/notifique
If processing is heavy, queue on your side and return 200 immediately. Like answering the doorbell and handling the visit later.
2. Register in the dashboard
Open Developer → Webhooks, create a webhook, and select the events that matter to you. You can also register via the API with scopeswebhooks:manage and webhooks:read. Need a key? See API Keys.
3. Validate the signature
Each POST includesX-Notifique-Signature and X-Notifique-Timestamp. Compute HMAC-SHA256 of the secret with {timestamp}.{raw body} and reject timestamps outside 5 minutes.
Details in the Headers and signature section below.
4. Handle retries
If your endpoint fails, we retry at 5 min, 30 min, and 2 h. Respond 2xx quickly.Sandbox vs production
- Sandbox (
sk_test_...): same event names; payload includessandbox: true - Production (
sk_live_...): real events from live traffic
Payload format
All requests are POST withContent-Type: application/json. The body follows this structure:
Headers and signature
- HMAC calculation:
hash = HMAC-SHA256(secret, timestamp + "." + body)(body = raw POST body). - Anti-replay: Reject requests with a timestamp outside a window (e.g. 5 minutes).
Inbound messages
To process what the customer sent (WhatsApp, Telegram, SMS):- Subscribe to the event on the webhook
- Configure inbound in Settings → Received messages
inboundId via the API. Full guide: Inbound messages and replies.
Best practices
- HTTPS always on the registered URL
- Respond 2xx quickly and process in the background
- Validate the signature on every POST
- Subscribe only to events your integration consumes
Events by channel
Each channel has its own events. Select only what you need:Send, delivery, inbound, and instance
SMS
Send, DLR, MO, and replies
Telegram
Send, inbound, and instance
Send, comments, and inbound
Send, open, click, and bounce
Push
Send, delivery, and click
RCS
Send, delivery, and failure
Voice
Calls and recordings
Forms
Subscribe, confirm, and unsubscribe
Short links
Clicks and conversions
Phone numbers
Contracted number lifecycle
Automations
Enable, pause, and run lifecycle
Templates (Meta)
Approval, rejection, and category
Workspace reputation event (
trust.score_changed): see Trust Factor.Next steps
- Start here: send your first message
- API Keys: credentials to register webhooks via API

