Skip to main content
Estes eventos mantêm seu sistema sincronizado com o estado dos chats, os dados de contatos e a presença (online, visto por último). Todos seguem o envelope comum — o conteúdo específico fica em data.

chats.update e chats.upsert

chats.upsert indica um chat criado ou recebido na sincronização; chats.update indica uma atualização de um chat existente. Os dois eventos têm o mesmo formato de data.
jid
string
required
JID do chat (contato ou grupo).
name
string
Nome do chat (contato ou nome do grupo).
unread_count
number
Quantidade de mensagens não lidas.
conversation_timestamp
number
Momento da última atividade da conversa em segundos (epoch).
archived
boolean
true quando o chat está arquivado.
pinned
number
Indica se o chat está fixado (0 quando não está).
mute_end_time
number
Momento (epoch) em que o silenciamento termina; 0 quando não está silenciado.
Eventos chats.upsert passam por debounce de 2 segundos por chat: múltiplas atualizações do mesmo chat em sequência são agrupadas.

contacts.update e contacts.upsert

contacts.upsert indica um contato criado ou recebido na sincronização; contacts.update indica uma atualização de um contato existente. Os dois eventos têm o mesmo formato de data.
jid
string
required
JID do contato.
push_name
string
Nome de exibição definido pelo próprio contato no WhatsApp.
full_name
string
Nome completo do contato (quando salvo na agenda).
first_name
string
Primeiro nome do contato.
business_name
string
Nome comercial, quando se trata de uma conta business. String vazia ("") quando não se aplica.
Eventos contacts.upsert passam por debounce de 2 segundos por contato: múltiplas atualizações do mesmo contato em sequência são agrupadas.

presence

Disparado quando muda a presença de um contato (online/offline, visto por último).
jid
string
required
JID do contato cuja presença mudou.
name
string
Nome do contato.
unavailable
boolean
true quando o contato está offline/indisponível; false quando está online.
last_seen
number
Momento do último acesso em segundos (epoch), quando disponível.
O evento presence passa por deduplicação de 5 segundos por contato e estado (online/offline): mudanças idênticas dentro dessa janela não geram webhooks duplicados.