Skip to main content
O WhatsApp permite organizar conversas e mensagens com etiquetas (labels). Estes webhooks notificam quando uma etiqueta é criada, editada ou excluída, e quando uma etiqueta é aplicada ou removida de uma conversa ou de uma mensagem. Existem dois conjuntos de eventos que atualizam o mesmo estado interno:
  • Eventos em tempo real (labels.*): refletem mudanças que ocorrem enquanto a sessão está conectada.
  • Eventos da sincronização completa do AppState (appstate.label.*): trazem o snapshot autoritativo do estado de etiquetas durante a sincronização completa. Esses eventos sempre carregam from_full_sync: true.
Todos seguem o envelope comum — o conteúdo específico fica em data.
Quando o chat vem em formato @lid (identificador não resolvido para um número), o evento ainda é entregue ao webhook com o JID no formato @lid.

Tempo real vs. sincronização completa

Cada evento de tempo real tem um par equivalente na sincronização do AppState, com o mesmo formato de data: A diferença está no campo from_full_sync: false (ou ausente) em tempo real e sempre true nos eventos appstate.label.*.

labels.edit

Disparado quando uma etiqueta é criada, editada ou excluída (tempo real).
label_id
string | number
required
Identificador da etiqueta.
name
string | null
Nome da etiqueta.
color
number | null
Código de cor da etiqueta.
deleted
boolean
true quando a etiqueta foi excluída. Opcional.
from_full_sync
boolean
Indica se o evento veio da sincronização completa. Em tempo real é false. Opcional.
ts
number
Momento da alteração em milissegundos (epoch). Opcional.

labels.association.chat

Disparado quando uma etiqueta é aplicada ou removida de uma conversa (tempo real).
label_id
string | number
required
Identificador da etiqueta.
chat
string
required
JID da conversa (...@s.whatsapp.net ou ...@g.us).
labeled
boolean
required
true aplica a etiqueta à conversa; false remove.

labels.association.message

Disparado quando uma etiqueta é aplicada ou removida de uma mensagem específica (tempo real).
label_id
string | number
required
Identificador da etiqueta.
chat
string
required
JID da conversa onde está a mensagem.
message_id
string
required
Identificador da mensagem.
labeled
boolean
required
true aplica a etiqueta à mensagem; false remove.

appstate.label.edit

Mesmo formato de data de labels.edit, porém vindo da sincronização completa do AppState. O campo from_full_sync é sempre true.

appstate.label.association.chat

Mesmo formato de data de labels.association.chat, vindo da sincronização completa.

appstate.label.association.message

Mesmo formato de data de labels.association.message, vindo da sincronização completa.