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, no plano Free — sem cartão.
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, .NET (C#), Java, Go e Ruby — alinhados ao OpenAPI e testados pela mesma suíte de conformidade. 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.
O que ninguém mais entrega
Isto não é lista de recursos — é o que você não acha em nenhum outro gateway de WhatsApp. Cada item abaixo é um endpoint real, em produção, coberto pelos 7 SDKs.
Números que se revezam sozinhos
Vários números por projeto com failover automático, monitoramento de saúde e afinidade de conversa: o seu cliente continua falando com o mesmo remetente mesmo quando o tráfego muda de número por baixo.
Piloto anti-ban nas campanhas
Ritmo com variação humana, teto por número, janela de horário, rotação, aquecimento gradual e pausa automática ao primeiro sinal de bloqueio. Um especialista anti-ban embutido no produto.
Widget embutível no SEU produto
Uma linha de HTML e os seus clientes conectam, desconectam e acompanham os próprios números dentro do seu sistema. Você não constrói tela nenhuma.
Connect para softwares parceiros
O seu cliente cria a conta, assina o Pro e conecta o WhatsApp sem sair da sua tela — e o seu backend recebe a API key dele. Você não mexe em cobrança.
Idempotency-Key de verdade
Repetiu o POST por timeout ou retry? A mensagem sai uma vez só e você recebe a mesma resposta. O padrão que o Stripe consagrou, inexistente nos outros gateways de WhatsApp.
Editar e revogar depois de enviar
Errou o texto? PATCH corrige a mensagem já entregue. Mandou para quem não devia? DELETE apaga para todos — tudo por API, sem abrir o celular.
Checar a base antes de gastar envio
Um POST diz quais números da sua lista realmente têm WhatsApp. Você limpa a base antes da campanha em vez de descobrir queimando reputação do seu chip.
Presença e chamadas por API
“Digitando…” e “gravando áudio…” de verdade, inclusive em grupo — o seu bot deixa de parecer robô. E chamada recebida no número? Rejeitada automaticamente por API.
Erro com código estável em 6 idiomas
Todo erro traz um código neutro que nunca muda (você trata por ele) e uma mensagem já traduzida para mostrar ao usuário final. Nunca mais faça parsing de string de erro.
A API avisa a sua integração
Quando algo muda, o bZapper dispara um aviso segmentado pelo SDK, pela versão e pelos recursos que você realmente usa — no painel e na própria API. Você não descobre quebrando.
IP próprio por número
Cada número pode sair por um proxy dedicado. Isolamento de rede real entre os seus clientes ou ambientes — não é uma caixa compartilhada com todo mundo.
Uma identidade em todos os números
Defina o recado e a identidade do projeto uma vez e aplique em TODOS os números conectados num único POST. Sua marca igual em cada chip, sem trabalho manual.
7 SDKs oficiais, gerados da mesma spec
Node, Python, PHP, .NET (C#), Java, Go e Ruby — todos alinhados ao mesmo OpenAPI e aprovados pela mesma suíte de conformidade a cada release. Nenhum concorrente chega perto.
Um REST só. O WhatsApp inteiro.
Do OTP ao webhook assinado, do grupo à inbox unificada — cada capacidade abaixo é um endpoint real, coberto pelos 7 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 7 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 alinhados ao OpenAPI e testados pela mesma suíte de conformidade em Node, Python, PHP, .NET (C#), Java, Go e Ruby. 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) $ dotnet add package Bzapper $ gem install bzapper 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"); // dotnet add package Bzapper
using Bzapper;
using var bz = new BzapperClient("bz_live_…");
var msg = await bz.SendTextAsync(new SendText { To = "+5511999999999", Body = "Olá do bZapper!" }); # gem install bzapper
require "bzapper"
client = Bzapper::Client.new("bz_live_…")
client.messages.send_text(to: "+5511999999999", body: "Olá do bZapper!") 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.
Ofereça WhatsApp dentro do seu software
Seu cliente contrata o bZapper Pro e conecta o número sem sair do seu sistema. Você recebe a API key autorizada por ele e passa a enviar e receber mensagens na hora.
- 1
Conta em um clique
O componente abre com os dados que o seu sistema já tem. Sem senha, sem captcha, sem confirmar e-mail.
- 2
Assinatura do Pro
Cartão ou Pix, ali mesmo. O cliente paga direto ao bZapper — você não mexe em cobrança.
- 3
WhatsApp conectado
QR code ou código de pareamento, com status ao vivo. No fim, o seu backend recebe a API key.
Uma linha no front
Modal ou inline, em Shadow DOM: não briga com o CSS do seu produto.
Um webhook para todos
Mensagens e status de todos os seus clientes num só endpoint, com o id do cliente no seu sistema.
Suspensão automática
Se o Pro do cliente não for pago, a key responde 402 e volta sozinha quando ele pagar.
Nos 7 SDKs
Node, Python, PHP, .NET (C#), Java, Go e Ruby já têm o cliente de parceiro.
O que o seu produto precisa escrever:
// 1. seu backend abre a sessão com o secret de parceiro
const { session_token } = await api.post('/bzapper/session')
// 2. o cliente contrata e conecta sem sair da sua tela
BzapperConnect.open({
session: session_token,
onComplete: ({ code }) => api.post('/bzapper/exchange', { code }),
})
// 3. seu backend troca o code pela API key do cliente
// → { api_key: "bz_live_…", status: "active" } O secret de parceiro e a API key ficam só no seu backend. O navegador recebe um ingresso de 30 minutos, válido apenas nos seus domínios. A key do parceiro opera o WhatsApp, mas não toca em plano, usuários nem cobrança do cliente.
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. O opt-out por palavra-chave ainda 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?
Não. O bZapper envia pelo <strong>protocolo multi-dispositivo</strong>, com o número conectado pelo painel — é assim que todo envio funciona hoje, e é isso que você integra. Um trilho pela Cloud API oficial da Meta está em desenvolvimento, sem data.
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, .NET, Java, Go, Ruby) ou um POST puro. Há playground e documentação completa.
Vocês têm SDK e webhooks?
Sim — SDKs em 7 linguagens, alinhados ao OpenAPI e testados pela mesma suíte de conformidade, 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.