Events
See how you will receive updates from whatsapp
There's a lib for nodejs here: Click here
All requests we make to your webhook, will contain 3 headers to verify, be carefull to check those to confirm the sender.
First, will be a `whats2api` set as true
Second will be `userId` which is your user's id
And finally, the `connectionId` which is the connection id which originated the event
All events will be a POST request to your webhook, and will contain a body with a MAP of events, where the keys are the event name, and the value will be a object containing the data.
Example
Here's a message upsert, where you should create, or update it.
{ "chats.update": [ { "id": "[email protected]", "conversationTimestamp": 1702765134, "unreadCount": 1 } ], "messages.upsert": { "messages": [ { "key": { "remoteJid": "[email protected]", "fromMe": false, "id": "SOME_ID" }, "messageTimestamp": 1702765134, "pushName": "Artur", "broadcast": false, "message": { "extendedTextMessage": { "text": "Hi you there on W2API", "contextInfo": { "ephemeralSettingTimestamp": "1702671628", "disappearingMode": { "initiator": "CHANGED_IN_CHAT", "trigger": "CHAT_SETTING" } }, "inviteLinkGroupTypeV2": "DEFAULT" }, "messageContextInfo": { "deviceListMetadata": { "senderKeyHash": "SOME_HASH", "senderTimestamp": "1702313814", "recipientKeyHash": "ANOTHER_HASH", "recipientTimestamp": "1702739964" }, "deviceListMetadataVersion": 2 } } } ], "type": "notify" }, "contacts.update": [ { "id": "[email protected]", "notify": "A NAME" } ] }
List of events
Here are the most important events and the ones you should look into.
- connection.update: connection state has been updated -- WS closed, opened, connecting etc.
- creds.update: credentials updated -- some metadata, keys or something
- messaging-history.set: history sync, everything is reverse chronologically sorted
- chats.upsert: upsert chats
- chats.update: update the given chats
- chats.delete: delete chats with given ID
- labels.association: labels association
- labels.edit: edit label
- presence.update: presence of contact in a chat updated
- contacts.upsert: upsert contacts
- contacts.update: update the given contacts
- messages.delete: delete messages
- messages.update: update messages
- messages.media-update: update media messages
- messages.upsert: add/update messages
- messages.reaction: message reaction
- message-receipt.update: update message receipt
- groups.upsert: upsert groups
- groups.update: update the given groups
- group-participants.update: apply an action to participants in a group
- blocklist.set: set blocklist
- blocklist.update: update blocklist
- call: receive an update on a call