Presença
O comando Presença inscreve o canal para receber atualizações de presença (online/offline) de um contato específico. Após a inscrição, você receberá webhooks sempre que o contato ficar online ou offline.Requisição
Campos
Resposta da API
Webhook de confirmação
A aceitação da inscrição é confirmada via webhook do tipoPRESENCE_SUBSCRIPTION_RESPONSE,
entregue antes das atualizações de presença:
Campos da confirmação
O webhook
PRESENCE_SUBSCRIPTION_RESPONSE é apenas a confirmação da inscrição. As mudanças
de status do contato chegam depois, em webhooks separados do tipo CONTACT_PRESENCE.Webhook CONTACT_PRESENCE
Após a inscrição, você receberá webhooks do tipoCONTACT_PRESENCE sempre que o status
do contato mudar.
Campos do webhook
Exemplos de evento
Contato ficou online
Contato ficou online
unavailable com valor false indica que o contato está online neste momento.Contato ficou offline
Contato ficou offline
unavailable com valor true indica que o contato está offline. O campo
lastSeen contém o horário em que o contato ficou offline.Limitações
Privacidade do contato
Privacidade do contato
Se o contato desativou a exibição de “visto por último” e “online” nas configurações
de privacidade do WhatsApp, você pode não receber atualizações de presença. Não há como
contornar essa restrição — ela é controlada inteiramente pelo contato.
Inscrição por sessão
Inscrição por sessão
A inscrição de presença é vinculada a sessão atual. Se a sessão for desconectada
e reconectada, você deve reenviar o comando
PRESENCE_SUBSCRIPTION para cada contato
que deseja monitorar. Considere implementar um mecanismo automático que reenvia as
inscrições após receber o evento CONNECTED.Latência
Latência
Atualizações de presença podem ter um pequeno atraso (alguns segundos) entre a mudança real
do status e o recebimento do webhook. Isso é inerente ao protocolo do WhatsApp e não pode
ser eliminado.