Boas práticas de envio
O WhatsApp bane comportamento robótico de forma proativa. O bZapper faz muito por você — redundância, ramp-up de volume, controle de ritmo, pausa automática — mas o resultado final depende de como você usa. Este guia reúne as práticas que mais protegem os seus números.
Volume alto num único número é o que mais derruba. Distribua entre vários números (redundância) e dê tempo a cada um. Um pool saudável é o que sustenta a entrega.
1. Só envie para quem consentiu
A causa raiz da maioria dos bans é mensagem não solicitada. Quem não reconhece o remetente denuncia — e denúncia é o sinal mais forte para o WhatsApp bloquear.
- Colete opt-in livre, informado e inequívoco (veja Privacidade & LGPD).
- Nunca compre listas nem importe contatos que não pediram para receber.
- Deixe o opt-out funcionar: quem responde PARAR/SAIR/STOP é suprimido automaticamente e não deve voltar para a base.
2. Dê ramp-up ao número novo
Número recém-conectado não sai disparando. O bZapper coloca todo número novo numa rampa de ramp-up: um limite diário que cresce aos poucos. Respeite isso.
- Comece com poucas mensagens por dia e vá subindo.
- Prefira conversas reais (idas e vindas) no começo — não só broadcast.
- Só dê volume a um número depois que ele amadurecer (recomendamos 7+ dias).
3. Mantenha um ritmo saudável
Enviar tudo de uma vez incomoda quem recebe. O bZapper aplica controle de ritmo entre as mensagens e respeita uma janela de horário (08–21h) no envio para listas. Ajude:
- Não force envios para listas fora de horário comercial.
- Varie o conteúdo — use variáveis (
{nome},{valor}) para que a mensagem seja relevante para cada contato, e não um texto genérico igual para todos. Veja Campanhas. - Prefira o
pacing_profileconservativequando a base for fria ou nova.
4. Rotacione entre vários números
Um pool com rotação distribui a carga e tira de circulação quem está sob risco — automaticamente. Por isso campanhas exigem 2+ números conectados e aquecidos.
- Estratégias disponíveis:
round_robin,least_used,health_weighted. - Cada número tem um health score vivo; a rotação favorece os saudáveis.
- Afinidade de conversa (sticky): uma vez que um número fala com um cliente, ele continua — a conversa não "pula" de número.
5. Leia os sinais de bloqueio
O bZapper vigia os sinais e age antes do ban:
- Pausa inteligente — se mensagens ficam em "enviado" e nunca chegam a "entregue", a
campanha pausa sozinha e você é avisado (webhook
campaign.paused). - Bloqueio inferido — números nessa situação entram na supressão como
blocked_inferred(barram no modo estrito da conta). - Alertas de queda — quando um número sai do ar, você recebe alerta em tempo real.
- Alerta de "conectado, mas não envia" — quando o WhatsApp recusa os envios de um número em sequência, os admins da conta recebem e-mail. É um estado que o status sozinho esconde.
Ban temporário × permanente
O WhatsApp aplica dois tipos de bloqueio, e o bZapper trata cada um:
- Ban temporário — tem prazo. O alerta informa quando expira e o campo
banned_until(naInstance, formato ISO-8601) traz o horário exato. Você não precisa fazer nada: o bZapper reconecta o número sozinho quando o prazo passa e avisa que ele voltou. No painel, o número aparece como Banido com um "reconecta em ~Xh". - Ban permanente — não tem prazo (
banned_untilfica nulo). Aqui a solução não é técnica: peça a revisão do número dentro do app do WhatsApp e, se aprovado, re-pareie (novo QR). Reconectar por conta própria não adianta.
Um
banned_untilno futuro = temporário (volta sozinho). Nulo com statusbanned= permanente (precisa de revisão + novo pareamento).
Se um número começar a falhar, não insista nele: deixe descansar e deixe a rotação assumir.
O número está online e mesmo assim não envia
Existe um estado que confunde: status: connected, sessão saudável, e nenhuma mensagem
chega. Quase sempre é o reach-out time-lock — um bloqueio anti-spam do WhatsApp, por
conta, sinalizado pelo código 463.
O que ele faz:
- Impede iniciar conversa com contatos frios (sem histórico com aquele número).
- Não impede responder a quem falou com você primeiro — contato quente continua recebendo normalmente.
- Não é problema de infraestrutura nem de pareamento. Re-parear piora: o churn de reconexão é um dos gatilhos.
Cada número expõe o estado em GET /instances:
| Campo | Significado |
|---|---|
consecutive_send_failures | Envios recusados em sequência. Zera no primeiro envio aceito. |
last_send_error_code | Código do WhatsApp na última recusa. 463 = reach-out lock. |
last_send_failure_at | Quando foi a última recusa. |
{
"id": "…", "phone": "+5511999999999", "status": "connected",
"consecutive_send_failures": 7,
"last_send_error_code": 463
}
O que fazer: pare de disparar para contatos novos por esse número, não re-pareie, priorize respostas a quem iniciou a conversa e respeite o ramp-up. O bloqueio é temporal e costuma liberar em algumas horas.
6. Respeite a supressão sempre
- Quem pediu para sair fica fora — a block list barra o envio antes de enfileirar.
- Bloqueio por opt-out ou manual é uma parede: não fura nem com
force. - Sincronize o webhook
contact.opted_outcom o seu CRM para não tentar reimportar.
Antipadrões que derrubam a entrega
| ❌ Evite | ✅ Faça |
|---|---|
| Comprar/raspar listas | Coletar opt-in com prova |
| Todo o volume num número só | Rotacionar entre 2+ números |
| Dar volume alto a um número novo | Respeitar o ramp-up antes |
| Texto idêntico para todos | Variáveis e conteúdo relevante por contato |
| Ignorar quem pediu PARAR | Deixar o opt-out suprimir |
| Insistir num número que falha | Deixar descansar e rotacionar |
| Envio contínuo 24h | Ritmo controlado, janela de horário |
Muitas dessas práticas já vêm embutidas: o envio para listas aplica ritmo, distribuição, ramp-up, pausa inteligente e supressão sozinhas. Veja Campanhas e os Conceitos de entrega.