Gerenciar grupos WhatsApp via API permite automatizar a criação, configuração e administração de grupos em escala. Com a ZAP API, você tem 13 endpoints dedicados para criar grupos, adicionar participantes, promover admins, gerar links de convite e muito mais — tudo via requisições HTTP simples.
Endpoints disponíveis
POST /instances/{id}/groups/create— criar grupoGET /instances/{id}/groups— listar todos os gruposGET /instances/{id}/groups/{groupId}— metadados do grupoPUT /instances/{id}/groups/{groupId}— atualizar nome/descriçãoDELETE /instances/{id}/groups/{groupId}/leave— sair do grupoGET /instances/{id}/groups/{groupId}/participants— listar participantesPOST .../participants/add— adicionar participantesPOST .../participants/remove— remover participantesPOST .../participants/promote— promover a adminPOST .../participants/demote— remover de adminGET .../invite-link— obter link de convitePOST .../revoke-invite-link— revogar linkPUT .../settings— atualizar configurações
Criar grupo e adicionar participantes
const axios = require('axios');
const api = axios.create({
baseURL: 'https://zap-api.tech/v1',
headers: { Authorization: 'Bearer tk_seu_token_aqui' }
});
const INST = 'inst_seu_id_aqui';
// Criar grupo
async function criarGrupo(nome, participantes) {
const { data } = await api.post(`/instances/${INST}/groups/create`, {
name: nome,
participants: participantes
});
console.log('Grupo criado:', data.groupId);
return data;
}
// Adicionar participantes depois
async function adicionarParticipantes(groupId, phones) {
return api.post(`/instances/${INST}/groups/${groupId}/participants/add`, {
participants: phones
});
}
// Promover a admin
async function promoverAdmin(groupId, phone) {
return api.post(`/instances/${INST}/groups/${groupId}/participants/promote`, {
participants: [phone]
});
}
// Exemplo
async function main() {
const grupo = await criarGrupo('Equipe Vendas - Março', [
'5511999998888', '5511888887777', '5511777776666'
]);
await promoverAdmin(grupo.groupId, '5511999998888');
// Enviar mensagem no grupo
await api.post(`/instances/${INST}/send`, {
phone: grupo.groupId,
type: 'text',
body: 'Bem-vindos ao grupo! Regras fixadas acima.'
});
}
main();
Listar grupos e gerenciar convites
// Listar todos os grupos
async function listarGrupos() {
const { data } = await api.get(`/instances/${INST}/groups`);
data.forEach(g => console.log(`${g.name} - ${g.participants.length} membros`));
return data;
}
// Obter link de convite
async function getLinkConvite(groupId) {
const { data } = await api.get(`/instances/${INST}/groups/${groupId}/invite-link`);
console.log('Link:', data.inviteLink);
return data.inviteLink;
}
// Revogar link e gerar novo
async function revogarLink(groupId) {
const { data } = await api.post(`/instances/${INST}/groups/${groupId}/revoke-invite-link`);
console.log('Novo link:', data.inviteLink);
return data.inviteLink;
}
Atualizar configurações do grupo
// Atualizar nome e descrição
await api.put(`/instances/${INST}/groups/${groupId}`, {
name: 'Equipe Vendas - Abril 2026',
description: 'Grupo oficial da equipe de vendas. Regras: sem spam, foco em resultados.'
});
// Alterar configurações (só admins enviam, etc)
await api.put(`/instances/${INST}/groups/${groupId}/settings`, {
announce: true, // só admins enviam
restrict: true // só admins editam info
});
Casos de uso
- Empresas: criar grupo por projeto/equipe automaticamente ao iniciar projeto no ERP
- Cursos: grupo por turma, adicionar alunos automaticamente na matrícula
- Imobiliárias: grupo por empreendimento/condomínio
- Eventos: grupo temporário para participantes, encerrar após evento
FAQ
- Quantos participantes por grupo?
O WhatsApp permite até 1024 participantes por grupo. - Preciso ser admin para gerenciar via API?
Sim. A conta conectada à instância precisa ser admin do grupo. - Posso enviar mensagens em grupos?
Sim. Use o groupId como destino no endpoint /send. Veja a documentação. - Existe webhook para eventos de grupo?
Sim:group.join,group.leave,group.update. Veja nosso guia de webhooks.