Webhooks
Webhooks provide real-time notifications for WhatsApp events. Receive instant updates when messages are delivered, read, or when template status changes occur.
How Webhooks Work
When specific events occur in your WhatsApp account, TheQuickAssist sends a POST request to your configured webhook URL with event details. This enables real-time integration with your backend systems.
Event Occurs
Message sent, delivered, or read
POST Request
Webhook payload sent to your URL
Process Event
Your server handles the notification
Supported Events
message.delivered
Triggered when a message is successfully delivered to the recipient's device.
message.read
Triggered when the recipient reads your message (blue ticks).
template.status_update
Triggered when a template's approval status changes (pending → approved/rejected).
message.failed
Triggered when message delivery fails (invalid number, user blocked, etc.).
Webhook Payload
Example webhook payload for a message delivery event:
{
"event": "message.delivered",
"timestamp": "2024-01-15T10:30:00Z",
"data": {
"messageId": "msg_123456789",
"recipient": "+1234567890",
"template": "welcome_message",
"deliveredAt": "2024-01-15T10:30:00Z",
"deviceType": "android"
},
"webhookId": "whk_abc123"
}Setup Guide
Create an Endpoint
Set up a public HTTPS endpoint on your server that can receive POST requests. The endpoint must return a 200 status code to acknowledge receipt.
Configure Webhook
In your dashboard, go to Settings → API & Webhooks → Webhooks. Enter your endpoint URL and select the events you want to receive.
https://yourdomain.com/webhooks/thequickassistVerify Signature
Verify webhook signatures to ensure requests are from TheQuickAssist:
const signature = req.headers['x-webhook-signature'];
const payload = JSON.stringify(req.body);
const expected = crypto
.createHmac('sha256', WEBHOOK_SECRET)
.update(payload)
.digest('hex');
if (signature !== expected) {
return res.status(401).send('Invalid signature');
}Webhook Security
- Always use HTTPS endpoints
- Verify webhook signatures
- Implement idempotency checks
- Return 200 status quickly to avoid retries
View API Endpoints
Explore all available API endpoints for managing webhooks programmatically.
View Endpoints