Alterações de grupos

Evento: groups · Transporte: POST para o seu receptor

Acompanhe alterações de metadados e participantes de grupos.

Variações

O fluxo pode usar type: Group para alterações de informações e type: JoinedGroup para entrada em grupo. O conteúdo de event varia com a alteração. Join, Leave, Promote e Demote descrevem participantes afetados; campos ausentes ou nulos não significam, por si só, que todos foram removidos.

Use event.JID ou o identificador normalizado disponível na raiz para correlacionar o grupo. Os arrays podem incluir projeções PN/LID. Consulte /group/info quando precisar do estado atual completo, em vez de reconstruí-lo a partir de um único evento parcial.

Habilitar este evento

Adicione groups à 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": [
    "groups"
  ]
}

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.
typestringGroup ou JoinedGroup, conforme a origem.
chatidstringJID da conversa, quando resolvido.
chatlidstring / nullLID da conversa; pode ser ausente ou null.
sender_pnstring / nullJID por telefone, quando conhecido.
sender_lidstring / nullIdentificador LID, quando conhecido.
eventobjectMudança de grupo.
event.JIDstringJID do grupo.
event.Senderstring / nullParticipante associado à alteração, quando disponível.
event.TimestampstringData/hora da alteração.
event.Nameobject / nullAlteração de nome.
event.Name.NamestringNome informado.
event.Topicobject / nullAlteração de descrição.
event.Topic.TopicstringDescrição informada.
event.Joinarray / nullParticipantes afetados por esta alteração.
event.Leavearray / nullParticipantes afetados por esta alteração.
event.Promotearray / nullParticipantes afetados por esta alteração.
event.Demotearray / nullParticipantes afetados por esta alteração.

Exemplos de entrega

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

Alteração do nome do grupo

{
  "EventType": "groups",
  "owner": "5511999999999",
  "token": "INSTANCE_TOKEN",
  "BaseUrl": "https://seu-servidor.example",
  "instanceName": "Atendimento",
  "type": "Group",
  "event": {
    "JID": "120363000000000001@g.us",
    "Sender": "5511888888888@s.whatsapp.net",
    "Timestamp": "2026-09-08T12:00:00Z",
    "Name": {
      "Name": "Equipe de atendimento"
    },
    "Join": [],
    "Leave": [],
    "Promote": [],
    "Demote": []
  }
}

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