Webhooks
Webhooks let you receive real-time notifications about WhatsApp message events — such as when a message is delivered, read, or when a contact sends a reply. Configure a webhook to push these events to your own server or third-party integration.
Navigating to Webhooks
- Go to Settings → Channels → WhatsApp.
- Click the Webhooks tab.
The Webhooks tab is in the WhatsApp channel settings.
Setting Your Webhook URL
- Enter your server's endpoint URL in the Webhook URL field.
- Click Save.
QuantixOne will send HTTP POST requests to this URL for each message event.
Enter the HTTPS endpoint that will receive event payloads.
Requirements:
- The URL must be publicly accessible over HTTPS.
- Your server must respond with an HTTP 2xx status within 10 seconds.
Shared Secret & Signature Verification
After saving the webhook URL, QuantixOne displays a Shared Secret (HMAC-SHA256 key). Use this to verify that incoming webhook requests are genuinely from QuantixOne and have not been tampered with.
Every webhook request includes the header:
X-AiSensy-Signature: <HMAC-SHA256 signature>
To verify:
- Compute
HMAC-SHA256(raw request body, shared_secret). - Compare the result to the value in the
X-AiSensy-Signatureheader. - Reject the request if they do not match.
Copy the shared secret and store it securely in your server's environment variables.
Event Types
QuantixOne sends the following event types to your webhook:
| Event | Description |
|---|---|
| message.sent | A message was submitted for delivery |
| message.delivered | The message was delivered to the contact's device |
| message.read | The contact opened and read the message |
| message.failed | Delivery failed (includes error code and reason) |
| message.received | An inbound message was received from a contact |
Webhook Payload Format
Each POST to your endpoint includes a JSON body:
{
"event": "message.delivered",
"timestamp": "2026-05-01T10:30:00Z",
"projectId": "proj_abc123",
"data": {
"messageId": "msg_xyz789",
"contactPhone": "+14155552671",
"status": "delivered"
}
}
Testing Your Webhook
Click Send Test Event to POST a sample payload to your configured URL. Check your server logs to confirm the event was received and the signature verified correctly.
Use Send Test Event to verify your endpoint is working.
Partner vs. Direct Webhooks
| Webhook Type | Scope |
|---|---|
| Partner Webhook | Receives events for all projects under your partner account |
| Direct Webhook | Receives events for a single project (identified by X-AiSensy-Project-Id header) |
Configure the appropriate type based on whether you are building a multi-tenant integration or a single-location setup.