🏷️ Labels
You can work with WhatsApp Labels available in WhatsApp Business using the API!
Features
Here’s the list of features that are available by 🏭 Engines:
WEBJS | NOWEB | |
---|---|---|
Get list of labelsGET /api/{session}/labels | ✔️ | ✔️ |
Get chats by label idGET /api/{session}/labels/{labelId}/chats | ✔️ | ✔️ |
Get labels by chat idGET /api/{session}/labels/chats/{chatId}/ | ✔️ | ✔️ |
PUT labels to chatPUT /api/{session}/labels/chats/{chatId}/ | ✔️ | ✔️ |
labels.upsert | ✔️ | |
labels.deleted | ✔️ | |
labels.chat.added | ✔️ | |
labels.chat.deleted | ✔️ |
If you see the feature is not available in the above list, please create a feature request or leave “+1” comment on the existing one.
Endpoints
Get list of labels
You can get a list of labels for the session using the endpoint:
GET /api/{session}/labels
Response:
[
{
"id": "1",
"name": "New Client",
"color": 1,
"colorHex": "#64c4ff"
},
...
]
Get chats by label id
You can get a list of chats by label id using the endpoint:
GET /api/{session}/labels/{labelId}/chats
ℹ️ Response right now depends on 🏭 Engine you’re using, the same way as 💬 Chats
Get labels by chat id
You can get a list of labels by chat id using the endpoint:
GET /api/{session}/labels/chats/{chatId}/
Response:
[
{
"id": "1",
"name": "New Client",
"color": 1,
"colorHex": "#64c4ff"
},
...
]
Update labels to chat
PUT /api/{session}/labels/chats/{chatId}/
Upsert label:
👉 You need to provide the full list of labels you want to set to the chat. All other labels will be removed.
{
"labels": [
{
"id": "1"
}
]
}
Remove labels:
{
"labels": []
}
Webhooks
labels.upsert
{
"event": "label.upsert",
"session": "default",
"payload": {
"id": "10",
"name": "Label Name",
"color": 14,
"colorHex": "#00a0f2"
},
"engine": "NOWEB",
...
}
labels.deleted
{
"event": "label.deleted",
"session": "default",
"payload": {
"id": "10",
"name": "",
"color": 14,
"colorHex": "#00a0f2"
},
"engine": "NOWEB",
...
}
labels.chat.added
{
"event": "label.chat.added",
"session": "default",
"payload": {
"labelId": "6",
"chatId": "11111111111@c.us",
"label": null <=== right after scanning QR it can be null.
},
"engine": "NOWEB",
...
}
labels.chat.deleted
{
"event": "label.chat.deleted",
"session": "default",
"payload": {
"labelId": "6",
"chatId": "11111111111@c.us",
"label": null
},
"engine": "NOWEB",
...
}