Atualizações de chats

Evento: chats · Transporte: POST para o seu receptor

Acompanhe mudanças no snapshot de uma conversa: nome disponível, contadores, arquivamento, bloqueio e outros campos atualizados.

Como processar

Correlacione por chat.wa_chatid ou pelo ID local disponível e aplique os campos recebidos. O evento traz um chat, não uma listagem completa. Não recrie uma mensagem apenas porque a prévia do chat mudou.

Snapshots podem refletir processamento posterior de uma mensagem ou atualização de metadados. Para inicialização e reconciliação, use /chat/find.

Habilitar este evento

Adicione chats à lista events do webhook da instância. Preserve os outros eventos de que sua integração precisa.

{
  "enabled": true,
  "url": "https://seu-sistema.example/hooks/whatsapp",
  "events": [
    "chats"
  ]
}

Envie essa configuração para POST /webhook, usando o header token. O JSON acima configura a assinatura; os exemplos de entrega abaixo são o que seu servidor recebe.

Campos do payload

O envelope comum vem na raiz. Campos condicionais podem estar ausentes ou nulos conforme o evento; não use a tabela como obrigação de presença de todos os campos.

CampoTipoSignificado
EventTypestringObrigatório. Tipo de evento, por exemplo connection ou messages.
ownerstringObrigatório. Consulte o objeto ou exemplo correspondente.
tokenstringObrigatório. Token da instância; dado sensível.
BaseUrlstringObrigatório. Consulte o objeto ou exemplo correspondente.
instanceNamestringConsulte o objeto ou exemplo correspondente.
chatobjectSnapshot de chat. Atualize pelos campos recebidos; não trate o evento como lista completa.
chat.idstringID local do chat.
chat.wa_chatidstringJID da conversa.
chat.namestringNome disponível.
chat.wa_isGroupbooleanConversa de grupo.
chat.wa_isBlockedbooleanEstado de bloqueio no snapshot.
chat.wa_archivedbooleanEstado de arquivamento.
chat.wa_unreadCountintegerQuantidade de mensagens não lidas disponível.
chat.wa_labelvariávelEtiquetas associadas, conforme a projeção do chat. Pode ser texto JSON; normalize antes de usar.

Exemplos de entrega

Exemplos ilustrativos com identificadores fictícios. O conteúdo específico e os campos opcionais variam.

Snapshot atualizado

{
  "EventType": "chats",
  "owner": "5511999999999",
  "token": "INSTANCE_TOKEN",
  "BaseUrl": "https://seu-servidor.example",
  "instanceName": "Atendimento",
  "chat": {
    "id": "r0123456789abcd",
    "wa_chatid": "5511888888888@s.whatsapp.net",
    "name": "Contato de exemplo",
    "wa_isGroup": false,
    "wa_isBlocked": false,
    "wa_archived": false,
    "wa_unreadCount": 2
  }
}

Responder ao webhook

Seu receptor deve aceitar o POST JSON e devolver uma resposta 2xx rapidamente, após validar e registrar o recebimento. O corpo da resposta não é um comando para a API. Processe trabalho demorado separadamente.

O worker não repete automaticamente uma entrega HTTP malsucedida. Consulte diagnóstico de webhooks e implemente a reconciliação necessária. Eventos repetidos ou fora de ordem ainda precisam ser tolerados pelo receptor.

Referências