Campanhas
Campanhas mandam uma mensagem (template) para muitos contatos com a cautela de um especialista anti-ban embutida. Você escolhe os destinatários direto da sua base de contatos, monta a mensagem e o bZapper cuida do ritmo, do aquecimento e da proteção dos seus números — sozinho.
Campanhas são um add-on do plano Pro e exigem pelo menos 2 números conectados e aquecidos (7+ dias). A rotação entre números é o que dilui o risco de bloqueio — por isso a exigência mínima de 2.
Escolha os destinatários da sua base (sem planilha, sem JSON)
Em vez de colar uma lista, você busca e seleciona contatos com filtros:
- Busca textual (nome, telefone, e-mail);
- Filtro por tags e grupos de contato;
- ou "selecionar todos" que casam o filtro.
Só entram contatos válidos: o servidor força status = active e nunca inclui
bloqueados, opt-out, inalcançáveis ou pendentes de validação — independente do que for
pedido. A supressão é rechecada no momento do disparo. É impossível, pela ferramenta,
mandar para quem pediu para sair.
Na API, POST /campaigns/{id}/recipients aceita:
{ "contact_ids": ["<uuid>", "..."] } // seleção explícita
{ "contact_filter": { "tags": ["vip"], "groups": ["sp"] } } // todos que casam
{ "contact_filter": { "search": "maria" }, "replace": true } // troca a lista (rascunho)
Os telefones são resolvidos no servidor, só entre contatos ativos. replace: true
substitui a lista inteira (só antes de iniciar).
Mensagem: imagem + texto, com variações
- Imagem-cabeçalho (opcional): suba um PNG/JPEG/WebP (até 5 MB) via
POST /campaigns/media— devolve uma URL pública que vai emvariations[].media. - Texto com variáveis (
{nome}) e spintax ({Oi|Olá|E aí}): use 3 variações para reduzir o padrão e o risco de bloqueio.
No painel de criação você vê uma prévia de como a mensagem chega no WhatsApp e um
resumo em tempo real: quantos contatos vão receber, quantos números estão elegíveis
e o tempo estimado de envio (GET /campaigns/estimate?recipients=&pacing=).
Acionamento: manual ou agendado
- Manual — a campanha fica salva como rascunho; você clica em Iniciar quando quiser disparar.
- Agendado — escolha data e hora; a campanha dispara sozinha no horário
(
start_atno futuro).
Enquanto está rascunho ou agendada, a campanha pode ser editada (nome, ritmo,
agendamento, mensagem e destinatários) via PATCH /campaigns/{id}. Depois de iniciada,
vira somente visualização (409 se tentar editar).
Acompanhamento
A lista de campanhas mostra, por campanha, os KPIs ao vivo (enviados, entregues, pendentes, falhas) com barra de progresso, e tem filtro por status e por título.
Abrindo uma campanha iniciada você vê o detalhamento por contato
(GET /campaigns/{id}/recipients): nome do contato e o status real de entrega —
enviado, entregue e lido (pelos recibos do WhatsApp), além de falhas (com motivo)
e suprimidos. Filtre por Enviados / Entregues / Lidos / Pendentes / Falhas.
O piloto de segurança (anti-ban)
Por baixo, todo disparo passa pelo trilho anti-ban:
- Ritmo controlado (perfil conservador ou normal) com jitter entre envios;
- Aquecimento obrigatório — número novo (< 7 dias) não entra;
- Rotação de números (exige 2+ aquecidos) para diluir o volume;
- Janela de horário comercial;
- Auto-pausa inteligente — se o bloqueio inferido subir, a campanha pausa sozinha e o número problemático é penalizado.
Você foca na mensagem e na lista; o bZapper protege seus chips.