Real-time event notifications for your WhatsApp accounts
WMAM webhooks allow you to receive real-time HTTP POST notifications when events occur in your WhatsApp accounts. When an event is triggered, we'll send an HTTP POST request to your configured webhook URL with a JSON payload containing event details.
Your webhook endpoint should:
Use the API or dashboard to register your webhook:
| Event | Description | Trigger |
|---|---|---|
message_received |
A new message was received | When any message arrives in a monitored group or private chat |
message_sent |
A message was sent successfully | When your account sends a message |
connection_update |
Connection status changed | When account connects/disconnects |
group_participants_update |
Group member changes | When members join/leave a group |
| Field | Type | Description |
|---|---|---|
messageId |
string | Unique message identifier from WhatsApp |
from |
string | Sender's WhatsApp JID (e.g., "212612345678@s.whatsapp.net") |
fromName |
string | Sender's display name |
chatId |
string | Chat JID - private: "NUMBER@s.whatsapp.net", group: "ID@g.us" |
chatName |
string | Chat display name (contact name or group name) |
isGroup |
boolean | true if message is from a group, false for private chat |
messageType |
string | "text", "image", "video", "audio", "document", "sticker", etc. |
text |
string | Message text content (if type is text or has caption) |
caption |
string | Media caption (if media message has text) |
timestamp |
number | Unix timestamp (seconds since epoch) |
hasMedia |
boolean | true if message contains media (image, video, etc.) |
| Field | Type | Description |
|---|---|---|
media.type |
string | "image", "video", "audio", "document", "sticker" |
media.mimetype |
string | MIME type (e.g., "image/jpeg", "video/mp4") |
media.size |
number | File size in bytes |
media.filename |
string | Original filename (if available) |
| Status | Description |
|---|---|
connecting |
Attempting to connect to WhatsApp |
open |
Successfully connected and ready |
close |
Disconnected from WhatsApp |
| Action | Description |
|---|---|
add |
Participants were added to the group |
remove |
Participants were removed from the group |
promote |
Participants were promoted to admin |
demote |
Participants were demoted from admin |
Each webhook request includes an X-Webhook-Signature header containing an HMAC-SHA256 signature.
Use this to verify the request came from WMAM.
If your webhook endpoint doesn't respond with a 2xx status code, WMAM will retry:
Your endpoint must respond within 5 seconds. Longer responses will be treated as failures.
200-299: Success - webhook acknowledged400-499: Client error - no retry (except 429)429: Rate limited - will retry500-599: Server error - will retryFor development, use services like:
Send a test event to your webhook:
View webhook delivery logs in the dashboard under Webhooks → History.
| Plan | Webhooks | Delivery Rate |
|---|---|---|
| Free | 2 webhooks | 10 requests/min |
| Pro | 10 webhooks | 100 requests/min |
| Premium | Unlimited | 1000 requests/min |
Need help with webhooks?