bZapper
API de WhatsApp · feita no Brasil

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

POST /messages/text 202 Accepted
# 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"
}
publicados npm i @bzapper/client pip install bzapper composer require bzapper/bzapper
99,9%
uptime alvo
5
SDKs oficiais
< 10 min
pra integrar
LGPD
opt-out automático
Como funciona

Do primeiro número ao webhook em três passos

Conecte um número, chame a API, receba os eventos. Integração em minutos.

01

Conecte um número

Conecte pelo painel. A redundância entre números liga sozinha.

02

Chame a API

Um POST e a mensagem entra na fila, com controle de ritmo por número.

03

Receba webhooks

Entregue, lido, respondido, número caiu — tudo assinado e em tempo real.

Recursos

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.

Tudo que o bZapper faz

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.

13 tipos de mensagem
TextoImagemVídeoDocumentoÁudio / vozStickerLocalizaçãoContato / vCardEnqueteReaçãoBotõesListaOTP

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.

Feito para desenvolvedores

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.

Já publicados no npm, PyPI, Packagist e Go
$ 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

message.sentmessage.deliveredmessage.readmessage.receivedinstance.connectedinstance.disconnectedinstance.bannedgroup.participant_addedgroup.mentioned_me
# 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");
Widget embutível · o nosso diferencial

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:

index.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.

Confiabilidade · o nosso diferencial

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
Números do projeto 3 números · saúde média 68
+55 51 99919-8087
Conectado
+55 11 98888-2210
Em ramp-up
+55 21 99745-3308
Em descanso
Gestão de contatos · CRM

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.

Maria Oliveira ativo
+55 51 99919-8087
CPF 123.456.789-09 · Porto Alegre · RS
clienteplano-prosul
Histórico
  • 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 sem WhatsApp entram como “unreachable” — você vê o problema de recebimento antes de gastar envio.

Contatos, tags, grupos e supressões vivem isolados por projeto — uma chave só enxerga o próprio projeto.

Ver na documentação →
Novo · Envio agendado

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.

Exemplo
// agenda para daqui a 2 horas
POST /messages/text
{
  "to": "+5511999990000",
  "body": "Bom dia! ☀️",
  "scheduled_at": "2026-07-01T09:00:00Z"
}
Segurança & LGPD · o nosso compromisso

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.

Opt-out ao vivo
PARAR

Contato suprimido no projeto na hora e registrado na trilha de consentimento. Emite o webhook contact.opted_out.

PARAR SAIR STOP unsubscribe

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 →
Preços

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.

🛡️ Redundância entre números inclusa em todo plano — quando um sai do ar, outro assume. É o nosso maior diferencial.

Free

Teste a redundância, sem cartão.

R$ 0
  • 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
Começar grátis
Recomendado

Pro

Tudo ilimitado. Para produção.

R$ 79,90/mês
  • 2 números (redundância)
  • Mensagens ILIMITADAS
  • 1 projeto
  • 1 GB de mídia
  • 30 dias de retenção
  • Uptime + alertas · prioridade
Assinar o Pro

Cresceu? Adicione na hora — cobrança proporcional

Número extra (mais redundância) R$ 39,95/mês
Projeto extra (isolado) R$ 63,92/mês
+1 GB de mídia R$ 7,99/mês
+30 dias de retenção R$ 7,99/mês
Agendamento estendido (até 1 ano) R$ 11,98/mês

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.

Plano Pro R$ 79,90/mês
Números
2 inclusos no Pro
2
incluso
Projetos
1 incluso no Pro
1
incluso
GB de mídia extra
1 GB incluso no Pro
0
incluso
Retenção extra
blocos de +30 dias
0
incluso
Agendamento estendido
agende com até 1 ano
incluso
Total mensal R$ 79,90/mês

💳 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.

Casos de uso

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.

Perguntas frequentes

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.