API de grupos do WhatsApp: criar, gerenciar e automatizar grupos
Pela API de grupos você cria grupos, adiciona e remove participantes, promove admins, gera links de convite e aprova pedidos de entrada sem abrir o celular. Os movimentos do grupo chegam ao seu sistema por webhook, o que permite manter a lista de membros sincronizada com a sua base.
Quando grupo por API faz sentido
Gerenciar um grupo no celular funciona até o dia em que são quarenta turmas, cada uma com alunos entrando e saindo toda semana. A partir daí, alguém passa a tarde adicionando número e removendo inadimplente, e erra. A API de grupos resolve esse trabalho braçal, e quem decide quem entra é a regra do seu sistema, não a memória de quem administra.
Os cenários mais comuns:
- Turmas e cursos: um grupo por turma, criado quando a turma abre, com alunos entrando ao confirmar matrícula e saindo quando o acesso termina. Plataformas de edtech usam muito esse modelo.
- Comunidades de clientes: grupos para assinantes de um plano, com entrada por pedido aprovado automaticamente quando a assinatura está ativa.
- Suporte VIP ou de implantação: um grupo por cliente com o time de atendimento, criado quando o contrato é assinado.
- Operação interna: grupos de equipe de campo ou lojas, com admins definidos pelo cargo no sistema de RH.
O que a API de grupos permite
| Ação | Rota | Método do SDK |
|---|---|---|
| Criar grupo | POST /groups/create | groups.create |
| Adicionar, remover, promover, rebaixar | POST /groups/{groupId}/participants | groups.manageParticipants |
| Link de convite e revogação | GET /groups/{groupId}/invite, POST .../invite/revoke | getInviteLink, revokeInviteLink |
| Nome, descrição e foto | PUT .../name, .../description, .../profile-picture | setName, setDescription, setPicture |
| Configurações | PUT /groups/{groupId}/settings | setSettings |
| Pedidos de entrada | POST .../join-requests/approve e /reject | approveJoinRequests, rejectJoinRequests |
| Listar e consultar | GET /groups/list, GET .../info | list, getInfo |
Passo a passo: da turma nova ao grupo pronto
- Crie o grupo já com as regras. Ao criar, defina se só admins enviam mensagens (
admin_only_messages), se a entrada exige aprovação (admin_approval) e se só admins adicionam pessoas (admin_add_only). - Guarde o ID do grupo junto da turma no seu banco. Todas as operações seguintes usam ele.
- Promova o professor ou o responsável a admin, para que alguém humano também possa moderar.
- Distribua o link de convite no e-mail de boas-vindas ou na área do aluno.
- Aprove os pedidos pelo webhook, conferindo a matrícula de cada número.
import { DApi } from 'd-api-sdk'
const dapi = new DApi({ apiKey: process.env.DAPI_KEY })
const { groupId } = await dapi.groups.create({
sessionId: 'escola',
name: 'Turma Python - Outubro',
participants: ['5511999999999'],
description: 'Avisos e dúvidas da turma',
admin_only_messages: false,
admin_approval: true,
})
// salve o groupId junto da turma antes de seguir
await dapi.groups.manageParticipants(groupId, {
sessionId: 'escola',
participants: ['5511999999999'],
action: 'promote',
})
await dapi.groups.setSettings(groupId, {
sessionId: 'escola',
memberAddMode: 'admin',
})Configurações e aprovação de entrada
Depois de criado, o grupo pode ser ajustado em /groups/{groupId}/settings:
announce: só admins enviam mensagens. Bom para canais de aviso.locked: só admins editam nome, descrição e foto.joinApproval: quem entra pelo link precisa ser aprovado.memberAddMode:adminpara só admins adicionarem,allpara liberar.
A aprovação de entrada é o que torna o link de convite seguro. O link pode vazar, mas quem não está na sua base não passa. E se vazar demais, revogue o link e gere outro.
Eventos de grupo no webhook
Os movimentos do grupo chegam ao seu webhook em eventos próprios:
groups_participants.join,.leave,.promotee.demote, com o grupo, os participantes afetados e quem fez a ação.group_participants.join-requestquando alguém pede para entrar, além das variantes.approvede.revoked.
Use esses eventos como fonte da verdade. Se um admin humano remover alguém pelo celular, o leave chega e o seu sistema atualiza a matrícula, sem planilha paralela.
Como reforço, rode de tempos em tempos uma reconciliação: consulte o grupo com getInfo, compare os participantes com quem deveria estar lá e corrija as diferenças. Isso cobre eventos que o seu receptor não conseguiu processar e mudanças feitas enquanto a integração estava desligada. Para turmas temporárias, vale também criar o grupo com disappearing_messages ligado, de modo que o histórico não fique guardado além do necessário.
Cuidados para não virar spam
Grupo é o recurso do WhatsApp com maior potencial de denúncia. Adicionar alguém que não esperava, num grupo que manda promoção o dia todo, é o caminho mais curto para bloquear o número. Algumas regras:
- Prefira link de convite com aprovação a adicionar pessoas diretamente.
- Espaçe criação de grupos e adições em lote; não faça tudo no mesmo minuto.
- Deixe claro na descrição por que o grupo existe e como sair.
- Separe números: o que administra grupos não deveria ser o mesmo do atendimento principal.
Mais detalhes em como evitar banimento. Os grupos são um recurso da API de WhatsApp não oficial, conectada por QR Code; veja o que mais ela oferece na página da API não oficial de WhatsApp.
Perguntas frequentes
Dá para criar grupo de WhatsApp pela API?
Sim. Você informa o nome e a lista de participantes, e pode já definir descrição, foto, se só admins enviam mensagens, se a entrada exige aprovação e mensagens temporárias. O número conectado vira o criador e admin do grupo.
Consigo adicionar qualquer número a um grupo?
A API envia o pedido de adição, mas o WhatsApp respeita as configurações de privacidade de cada pessoa. Quem restringiu quem pode adicioná-la em grupos não entra direto. Para esses casos, mande o link de convite.
Como saber quando alguém entra ou sai do grupo?
Pelos eventos de webhook de grupo: entrada, saída, promoção e rebaixamento de admin. Cada evento traz o identificador do grupo, os participantes afetados e quem executou a ação.
Posso aprovar pedidos de entrada automaticamente?
Sim. Com a aprovação de entrada ligada, cada pedido gera um evento no webhook. Seu sistema confere se a pessoa tem direito, por exemplo se a matrícula está ativa, e aprova ou rejeita pela API.
Criar muitos grupos pode bloquear o número?
Pode. Criar grupos em sequência e adicionar pessoas que não esperavam são comportamentos que geram denúncia. Espaçe as operações, prefira convite a adição forçada e use números separados para operações diferentes.
Continue lendo
Teste a API de WhatsApp da D-API
Trial de 3 dias com acesso completo. Sem cartão, sem fidelidade.