Vamos ser diretos: API não oficial de WhatsApp corre risco de banimento — e quem te promete “zero ban garantido” está mentindo. A conexão via QR Code não passa pela aprovação da Meta, então quem decide se o número fica ou cai é o algoritmo antispam do WhatsApp, não o seu provedor de API.
A boa notícia é que a esmagadora maioria dos banimentos não vem do “uso de API” em si — vem de comportamento que parece spam. Número novo disparando centenas de mensagens para desconhecidos é o retrato exato do que o WhatsApp caça. Este guia é sobre reduzir esse risco ao mínimo com hábitos concretos. Se o seu caso de uso é envio em massa para lista fria, nenhuma técnica aqui salva você — e a gente prefere avisar antes de você perder o número.
1. Aqueça o número antes de automatizar
Chip novo comprado hoje, API plugada amanhã, mil disparos na sexta: receita clássica de ban. Um número precisa parecer humano antes de virar robô.
- Semana 1: use o número no celular normalmente. Converse com contatos reais, entre em 2–3 grupos, mande e receba áudios e fotos.
- Semana 2: comece a automação com volume baixo (algumas dezenas de mensagens/dia), sempre para quem já te conhece.
- Depois: suba o volume de forma gradual, nunca dobrando de um dia para o outro.
Números que já são usados há meses no atendimento têm reputação e aguentam muito mais. Chip recém-ativado é o mais frágil de todos.
2. Respeite o ritmo — 1 mensagem por segundo já é rápido
Disparar rápido demais é o sinal número um de bot. Na WPPAPI o próprio gateway aplica um limite de ~1 mensagem por segundo por instância (uso justo): se você tentar estourar isso, a API responde 429 Too Many Requests em vez de deixar você queimar o número.
Mas não delegue tudo ao limite técnico. Adote um espaçamento variável entre envios — algo entre 3 e 15 segundos, aleatório — para não criar um padrão robótico perfeito:
// espera aleatória entre mensagens (3s a 15s)
const sleep = (ms) => new Promise((r) => setTimeout(r, ms));
for (const contato of lista) {
await fetch(
`https://api.wpp-api.com/instances/${ID}/token/${TOKEN}/send-text`,
{
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ phone: contato.telefone, message: contato.texto }),
}
);
await sleep(3000 + Math.random() * 12000); // 3–15s
}
Para campanhas maiores, quebre o envio em janelas ao longo do dia em vez de despejar tudo de uma vez.
3. Só mande para quem pediu (opt-in de verdade)
Este é o ponto que mais protege o número — e o que a LGPD também exige. A denúncia de um usuário (“Bloquear e denunciar”) pesa muito mais no algoritmo do que o volume. Alguns bloqueios em sequência derrubam a conta.
- Colete opt-in explícito: a pessoa marcou uma caixa, respondeu “quero receber” ou iniciou a conversa.
- Ofereça descadastro fácil (“responda SAIR para parar”) e honre na hora.
- Nunca compre lista. Lista fria = denúncia = ban. Sem exceção.
Vale a mesma lógica da confiabilidade de webhooks: processo previsível e rastreável evita dor de cabeça depois. Falamos disso no guia de webhooks com Node.js.
4. Valide o número antes de enviar
Mandar mensagem para número que não tem WhatsApp gera erro e piora sua reputação de envio. Cheque antes com o endpoint check-number:
curl "https://api.wpp-api.com/instances/{id}/token/{token}/check-number?phone=5511999998888"
Se o número não existir no WhatsApp, pule — não insista.
5. Comporte-se como gente, não como script
O WhatsApp observa padrões de interação, não só volume. Alguns hábitos que aproximam seu bot de um humano:
- Simule digitação antes de responder, com o endpoint
typing/start(etyping/stopao terminar). Respostas instantâneas de madrugada denunciam automação. - Marque mensagens como lidas (
send-seen) em vez de ignorar o “visto”. - Varie o conteúdo. Mil mensagens idênticas, palavra por palavra, é assinatura de spam. Use variáveis (nome, pedido, data) e monte 2–3 versões do mesmo texto.
- Prefira responder a iniciar. Fluxos em que o cliente puxa a conversa (ele manda “oi”, você responde) são muito mais seguros do que disparos frios.
6. Reduza atrito operacional
Dois ajustes simples de instância ajudam a manter o número saudável:
- Rejeitar chamadas automaticamente (
rejectCalls): bots que recebem ligação e ninguém atende acumulam sinais ruins. - Distribua o risco. Se você tem volume alto, divida entre várias instâncias em vez de sobrecarregar um número só. No plano Pro são 3 instâncias, e cada adicional sai por R$ 45/mês — veja a grade em preços. Para quem precisa de isolamento total, o add-on de IP dedicado roda a instância em worker exclusivo.
O que nenhuma técnica resolve
Sendo honesto até o fim: se o seu modelo depende de disparo em massa para lista fria, marketing agressivo ou mensagens não solicitadas, o risco de ban é alto e permanente — e aí o caminho certo é a API oficial (Cloud API), que autoriza esse uso mediante pagamento por conversa e templates aprovados. A API não oficial brilha em atendimento, notificações transacionais e conversas 1:1 com quem já é seu cliente. Use para isso e o número dura anos.
Quer testar as boas práticas na prática, sem cartão? O trial de 3 dias já vem com todos os recursos — rate limit, check-number, presença e webhooks — para você aquecer e validar seu fluxo antes de escalar.