Webhooks
Webhooks push signed HTTP POST requests to your server when something important happens—new messages, delivery updates, or device status changes—so you do not have to poll.Set up a webhook
1
Add your URL
In the dashboard open Developers → Webhooks and add an HTTPS endpoint, or create one with the API (below).
2
Pick events
Subscribe only to what you handle, for example
message.received and message.delivered.3
Verify signatures
Check
X-Wazzapi-Signature on every request before you trust the body.Manage webhooks with the API
Official SDKs:
client.webhook_subscriptions (Python) and client.webhookSubscriptions (Node).
Security
Payloads are signed with HMAC-SHA256. Always verify against the raw body bytes, not a re-serialized JSON string. Delivery headers:X-Wazzapi-Signature—sha256=<hex digest>of the body using your webhook secretX-Wazzapi-Event— event nameX-Wazzapi-Event-ID— unique delivery id (use for idempotency)
Node.js
Python
Events you can subscribe to
Message events use the same message fields as the Inbox (text, media, quotes). Prefer
data.content for the body, or data.message for the full Inbox-shaped object.