A API de WhatsApp
que não cai.
Envie OTP, notificações e automações por HTTP. Redundância entre números com failover, webhooks assinados, SDKs em várias linguagens e playground. Comece em minutos, pague só pelo que usar.
Sem cartão · plano Free para sempre · 2 números com redundância
# envie uma mensagem em 1 request
curl https://api.bzapper.com.br/messages/text \
-H "Authorization: Bearer bz_live_…" \
-d '{
"to": "+5551999998888",
"text": "Seu código é 318204"
}'
# resposta
{
"message_id": "9d41…bbbd",
"status": "queued",
"number": "+5551999198087"
} Do primeiro número ao webhook em três passos
Conecte um número, chame a API, receba os eventos. Integração em minutos.
Conecte um número
Conecte pelo painel. A redundância entre números liga sozinha.
Chame a API
Um POST e a mensagem entra na fila, com controle de ritmo por número.
Receba webhooks
Entregue, lido, respondido, número caiu — tudo assinado e em tempo real.
Tudo que um produto sério precisa
Da redundância entre números ao OTP seguro, dos webhooks aos SDKs — pensado para produção.
Redundância multi-número
Vários números por projeto, com failover automático e monitoramento de saúde. Um sai do ar, o tráfego segue.
OTP seguro
Código em mensagem separada, nunca persistido nem exibido — nem no histórico, nem na inbox.
Webhooks assinados
Eventos em tempo real com HMAC-SHA256, retry e dedup. Relay local estilo `stripe listen`.
SDKs multi-linguagem
Node, Python, PHP, Java e Go — gerados do OpenAPI. Copie, cole e rode.
Inbox unificada
Conversas unificadas por contato mesmo quando o número de saída muda. Eco próprio e contexto de grupo.
Mídia privada
Arquivos no bucket privado, baixados por URL pré-assinada — o cliente baixa direto, sem passar pela sua API.
Projetos & multiusuário
Isole ambientes por projeto, convide o time, controle por chave e escopo.
Playground de API
Teste qualquer endpoint e inspecione webhooks ao vivo, direto do painel.
Um REST só. O WhatsApp inteiro.
Do OTP ao webhook assinado, do grupo à inbox unificada — cada capacidade abaixo é um endpoint real, coberto pelos 5 SDKs.
Envio de mensagens
- 13 tipos num REST só
- Encaminhar, responder (citar) e mencionar
- Envio agendado com scheduled_at
- OTP em mensagem separada, nunca persistido
Consentimento & conformidade
- Opt-out automático por palavra-chave
- Trilha de consentimento por contato
- Bloqueio e supressão por API
- Mídia privada com URL pré-assinada
Contatos (CRM)
- Perfil rico: documento e endereço
- Tags, grupos e correlação automática
- Filtros avançados + histórico e notas
- Opt-out, bloqueio e opt-in
Conversas & inbox
- Histórico unificado por contato
- Arquivar, fixar, silenciar e marcar lido
- Etiquetas de conversa
- Contexto de grupo e eco próprio
Grupos de WhatsApp
- Criar e administrar grupos
- Participantes: adicionar, promover, remover
- Link de convite e entrar por código
- Aprovar pedidos de entrada
Números & instâncias
- Conectar por QR ou código
- Perfil white-label por número
- Privacidade por número
- Failover com monitoramento de saúde
Webhooks & tempo real
- Webhooks assinados com HMAC-SHA256
- Retry, dedup e entregas auditáveis
- Stream SSE ao vivo (/stream)
- Relay local estilo stripe listen
Widget embutível
- Modo flutuante ou embedded
- Seus clientes conectam números
- Mini-dashboard de uso
- Chave pública travada por origem
Plataforma & dev
- SDKs em 5 linguagens + OpenAPI
- Playground de API no painel
- Planos Free/Pro + add-ons
- Uso, métricas e 6 idiomas
Cada item acima corresponde a um endpoint real da API — nada de vaporware. Explore todos no Playground.
Copie, cole, rode.
SDKs oficiais gerados do OpenAPI em Node, Python, PHP, Java e Go. Webhooks assinados com HMAC, retry e dedup. Relay local estilo stripe listen pra testar no seu localhost.
$ npm install @bzapper/client $ pip install bzapper $ composer require bzapper/bzapper $ go get github.com/bernisoftware/bzapper-go $ br.com.bernisoftware:bzapper (Maven) Eventos de webhook
# enviar um OTP
curl https://api.bzapper.com.br/messages/otp \
-H "Authorization: Bearer bz_live_…" \
-d '{"to":"+5551999998888","code":"318204"}' // npm install @bzapper/client
import { Bzapper } from '@bzapper/client';
const bz = new Bzapper({ apiKey: 'bz_live_…' });
await bz.sendOTP({ to: '+5551999998888', code: '318204' }); # pip install bzapper
from bzapper import Client
bz = Client("bz_live_…")
bz.send_otp("+5551999998888", code="318204") // composer require bzapper/bzapper
$bz = new Client('bz_live_…');
$bz->sendOtp('+5551999998888', '318204'); // go get github.com/bernisoftware/bzapper-go
import bzapper "github.com/bernisoftware/bzapper-go"
bz := bzapper.NewClient("bz_live_…")
bz.SendOTP("+5551999998888", "318204") // br.com.bernisoftware:bzapper
var bz = new BzapperClient("bz_live_…");
bz.sendOtp("+5551999998888", "318204"); Coloque a gestão de números dentro do seu produto
Um widget standalone que você embute no seu sistema. Seus clientes conectam, desconectam e acompanham os números do projeto — sem você construir tela nenhuma. Uma linha de código.
Números do projeto
Carrega automaticamente os números conectados do projeto atrelado à chave. Cada um com status ao vivo.
Conectar via QR
O cliente lê o QR e conecta um número novo ali mesmo — adicionar número (se o plano permitir) ou desconectar, tudo no widget.
Mini-dashboard
Uso e consumo do projeto à vista: mensagens, números e storage no período. O financeiro fica no painel.
Seguro por origem
A chave wgt_ é pública, mas travada por allowlist de origens (CORS). Não expõe a sua API key real.
Flutuante (plug-and-play)
Uma bolha no canto da tela. Só cole o <script> com a sua chave e pronto — abre num clique.
Embedded (inline)
Renderize <bzapper-widget> onde quiser na sua página, como um bloco nativo do seu painel.
Modo flutuante — uma linha no seu HTML:
<!-- cole antes do </body> -->
<script src="https://widget.bzapper.com.br/v1/widget.js"
data-key="wgt_sua_chave" async></script> A chave wgt_ é pública (vai no HTML) e fica travada por uma allowlist de origens que você configura no painel. A sua API key real nunca aparece. O financeiro (planos e faturas) fica no painel — o widget só gerencia conexões.
WhatsApp via API, sem interrupção
Entrega é engenharia. Cada número do projeto tem limites próprios de volume, controle de ritmo no envio, monitoramento contínuo de saúde e alertas em tempo real. Quando um número sai do ar, o tráfego segue pelos outros — sem intervenção sua.
- Distribuição de carga entre os números do projeto
- Aumento gradual de volume em números recém-conectados
- Conversas unificadas por contato, mesmo trocando de número
- Alertas em tempo real quando um número sai do ar
Uma base de contatos que trabalha por você
Cada número que você toca vira um contato rico — com documento, endereço, tags e histórico. Correlacionado sozinho por projeto e número, filtrável em segundos e sempre sob a sua trilha de consentimento.
- Perfil rico
Nome, telefone, e-mail, documento (CPF/CNPJ) e endereço completo — cidade, estado, CEP e país.
- Tags & grupos
Organize por tags e grupos com dicionários próprios. Um contato pode estar em vários — tudo versionado.
- Correlação automática
Todo contato é ligado sozinho ao projeto e ao número por onde falou. Sem cadastro manual, sem duplicata.
- Filtros avançados
Busque por status, tags (todas ou qualquer), cidade, documento, atividade e datas — direto na API ou no painel.
- Histórico & notas
Timeline append-only de cada evento do contato, mais notas internas do time. Nada se perde.
- Opt-out & bloqueio
Suprima ou bloqueie com um POST. O status vira opted_out ou blocked e barra o envio antes de enfileirar.
- OTP entregue e lido · há 2 min
- Ligado ao número +55 51 99919-8087
- Tag “plano-pro” adicionada por você
- Opt-in registrado na trilha de consentimento
Contatos, tags, grupos e supressões vivem isolados por projeto — uma chave só enxerga o próprio projeto.
Ver na documentação →Programe o envio para a hora certa
Mande qualquer mensagem com data e hora marcadas. O bZapper guarda e dispara no momento exato — sem cron no seu servidor, sem manter processo no ar.
- Um campo só
Adicione scheduled_at em qualquer envio — texto, mídia, o que for. O resto é igual ao envio normal.
- Número escolhido na hora
O número saudável é selecionado no envio, não no agendamento — nunca cai num número que ficou offline.
- Cancele quando quiser
Liste e cancele agendamentos pendentes a qualquer momento, via API ou painel.
// agenda para daqui a 2 horas
POST /messages/text
{
"to": "+5511999990000",
"body": "Bom dia! ☀️",
"scheduled_at": "2026-07-01T09:00:00Z"
} Seus contatos são o seu ativo mais precioso
Uma base mal cuidada custa caro. Por isso a proteção da sua base não é um extra — é como o bZapper foi construído, do isolamento por projeto à trilha de consentimento.
Nós os tratamos como se fossem nossos: protegidos, isolados e sob o seu controle.
- Isolamento por projeto
Números, inbox, chaves e supressão vivem em projetos isolados. Uma chave só enxerga o próprio projeto — nada vaza entre clientes ou ambientes.
- Mídia privada com presign
Arquivos de conversa ficam em bucket privado e só abrem por URL pré-assinada de validade curta (24h por padrão). Nada indexável, nada solto.
- Opt-out & supressão nativos
Quem responde PARAR/SAIR/STOP é suprimido automaticamente e nunca mais recebe mensagem. A block list barra o envio antes de enfileirar.
- Trilha de consentimento
Cada opt-in e opt-out entra numa trilha append-only, datada e auditável — a prova da base legal que a LGPD exige.
- Webhooks assinados
Cada evento vai com assinatura HMAC-SHA256 e verificação timing-safe. O segredo do webhook fica criptografado em repouso.
- Segredos criptografados
Sessões do WhatsApp criptografadas em repouso e o código do OTP nunca persistido nem exibido. Telefone e e-mail normalizados no banco.
Contato suprimido no projeto na hora e registrado na trilha de consentimento. Emite o webhook contact.opted_out.
bZapper é o operador dos dados e cuida do trabalho pesado de privacidade; a base legal do consentimento é responsabilidade sua. Trabalhamos juntos.
Ler o guia de Privacidade & LGPD →Você paga pelos números. Mensagens, ilimitadas.
O que importa é não parar de entregar — e isso é redundância entre números. Escolha o plano, ative a recorrência e esqueça a fatura.
Free
Teste a redundância, sem cartão.
- 2 números (redundância ativa)
- 250 mensagens/mês
- 1 projeto
- 100 MB de mídia
- 15 dias de retenção
- Failover · SDKs · webhooks
Pro
Tudo ilimitado. Para produção.
- 2 números (redundância)
- Mensagens ILIMITADAS
- 1 projeto
- 1 GB de mídia
- 30 dias de retenção
- Uptime + alertas · prioridade
Cresceu? Adicione na hora — cobrança proporcional
Add-ons são uma fração da mensalidade do Pro. Adicionou no meio do mês? Paga só o proporcional até a próxima fatura.
Monte seu plano
Ajuste os recursos e veja o total — igualzinho à hora de contratar.
💳 Salve o cartão e ative a renovação automática — acesso sem interrupção, zero preocupação.
Preços em BRL (Brasil). Américas em USD · demais regiões em EUR — definidos pela sua região.
Pra que as pessoas usam o bZapper
OTP / 2FA
Códigos de verificação com texto variado e entrega rastreada.
Notificações transacionais
Pedidos, cobranças, lembretes — direto do seu backend.
Atendimento centralizado
Vários números, uma inbox, N atendentes.
Bots em grupo
Monitore menções e anexos, responda no contexto certo.
Automações & no-code
Integre com n8n, Make, Zapier via webhooks e HTTP.
Avisos e lembretes
Confirmações, lembretes de agenda e avisos operacionais do seu sistema.
Tudo que você quer saber
É a API oficial do WhatsApp?
Hoje o bZapper opera pelo protocolo multi-dispositivo, com o número conectado pelo painel. Estamos adotando a <strong>Cloud API oficial da Meta</strong> como nosso trilho principal — quando estiver disponível, você escolhe por qual trilho cada projeto envia, sem trocar de integração.
Como vocês garantem a entrega?
Cada número tem limites próprios de volume, controle de ritmo no envio e monitoramento contínuo de saúde. Quando um sai do ar, os outros assumem e você recebe alerta em tempo real — e a conversa segue unificada por contato.
Quanto custa?
Dois planos simples. <strong>Free</strong> (grátis): 2 números com redundância, 250 mensagens/mês, 1 projeto, 100 MB e 15 dias de retenção — pra você testar a redundância sem cartão. <strong>Pro</strong> (R$ 79,90/mês): 2 números, <strong>mensagens ilimitadas</strong>, 1 projeto, 1 GB e 30 dias de retenção. Precisou de mais? Add-ons são uma fração da mensalidade — número extra, projeto extra, +GB de mídia, +retenção — e ao adicionar no meio do mês você paga só o proporcional até a próxima fatura. Em BRL no Brasil; Américas em USD, demais regiões em EUR. Recomendamos salvar o cartão e ativar a renovação automática: acesso sem interrupção.
Em quanto tempo eu integro?
Minutos. Crie a conta, gere uma API key e use um dos SDKs (Node, Python, PHP, Java, Go) ou um POST puro. Há playground e documentação completa.
Vocês têm SDK e webhooks?
Sim — SDKs gerados do OpenAPI em 5 linguagens, webhooks assinados com HMAC, retry/dedup e um relay local estilo `stripe listen` para testar no localhost.
E a privacidade dos dados?
Mídia de conversa vai para bucket privado com URL pré-assinada; o código do OTP nunca é persistido; segredos são criptografados. Retenção configurável por conta.
Comece a enviar pelo WhatsApp em minutos
Crie sua conta grátis, gere uma API key e faça o primeiro envio hoje. Sem cartão, sem burocracia.