Cobrança — pré-pago, pay-as-you-go
O bZapper não tem planos fixos nem assinatura. Você abastece uma carteira (pré-pago) e o uso é debitado dela conforme acontece — pague só o que usar. Cada conta tem uma carteira e uma moeda.
Toda conta começa com uma franquia grátis para sempre, sem cartão:
- 200 mensagens / mês
- 2 números
- 100 MB de storage
- 1 projeto
Cada pilar tem a sua franquia — só o excedente é cobrado. Você só precisa recarregar quando passar de alguma dessas franquias.
Carteira (saldo)
O saldo da carteira é a soma de:
- Pago — dinheiro real que você recarregou (top-up ou auto-recarga);
- Bônus — cortesia concedida pela plataforma (pode ter validade).
Ao cobrar, debitamos o bônus primeiro. Consulte o saldo e o extrato:
GET /billing/wallet
# { "balance_cents": 12345, "ledger": [ … ] } ← centavos (pago + bônus)
GET /me/entitlements
# limites efetivos + rate card + carteira (paid_cents, bonus_cents) + tetos + consumo
Todos os valores monetários são em centavos (menor unidade inteira da moeda). Preço sub-centavo da mensagem é representado em millicents (1/1000 de centavo).
Moeda por região
A moeda é definida no cadastro, pela região, e trava na primeira recarga. São 3 moedas (sem câmbio entre elas — o preço é definido de forma independente em cada uma):
| Região | Moeda |
|---|---|
| Brasil | BRL |
| Demais Américas | USD |
| Resto do mundo | EUR |
Rate card (tabela de preços)
Os preços vêm de um rate card por moeda, configurável pela plataforma — os valores abaixo são os defaults em BRL e variam por moeda:
| Pilar | Preço (BRL, default) | Franquia grátis |
|---|---|---|
| Mensagem | R$ 0,01 cada | 200 / mês |
| Número | R$ 9,90 / mês | 2 números |
| Storage | R$ 9,90 / GB·mês | 100 MB |
| Projeto | R$ 9,90 / mês | 1º projeto grátis |
Apenas o que passa da franquia é cobrado. Números e storage são recorrentes: cobramos a fração diária do preço mensal, debitando da carteira.
O que conta como "mensagem"
Mensagem = envios + recebimentos. Mas o recebimento só é cobrado quando é monitorado — ou seja, quando há um webhook ativo que o recebe. Se você não escuta os recebidos, eles não entram na conta.
- OTP (
POST /messages/otp) é 1 envio (mesmo indo em 2 mensagens no WhatsApp — texto + balão do código).
Recarga (top-up)
Você adiciona saldo criando um pagamento (Stripe Elements no front):
POST /billing/checkout
{ "amount_cents": 2000 } # mín. 500 centavos
# → { "client_secret": "...", "charge_id": "...", "amount_cents": 2000 }
O valor mínimo de recarga é 500 centavos (ex.: R$ 5,00). O saldo é creditado quando o webhook do Stripe confirma o pagamento.
Auto-recarga
Para nunca ficar sem saldo, configure a auto-recarga: quando o saldo pago cai abaixo de um limiar, a API cobra um valor fixo no cartão salvo e credita a carteira.
GET /me/autorecharge
PATCH /me/autorecharge
{ "enabled": true, "threshold_cents": 1000, "amount_cents": 5000, "pm_id": "pm_..." }
Para ativar, informe valor (amount_cents > 0) e cartão (pm_id). Há um
limite de recargas automáticas por dia (max_per_day) e pausa após falhas
seguidas.
Tetos de gasto (auto-proteção)
Você define tetos de gasto por período — diário, semanal e mensal — para se
proteger de surpresas. Ao atingir um teto, novos envios cobráveis respondem
402 spend_cap_reached até o período virar (ou você aumentar o teto).
PATCH /me/spend-caps
{ "daily_cap_cents": 5000, "weekly_cap_cents": 20000, "monthly_cap_cents": 50000 }
# 0 = sem teto naquele período
Bônus de boas-vindas
A plataforma pode conceder um bônus de boas-vindas ao abrir a conta. O valor é configurável por moeda (e pode ter validade) — não há um valor fixo garantido; por padrão vem desligado até a plataforma configurá-lo.
Códigos de cobrança que você pode ver
| Código | HTTP | Significa |
|---|---|---|
payment_required | 402 | Saldo insuficiente (fora da franquia e sem saldo) — recarregue. |
spend_cap_reached | 402 | Teto de gasto do período atingido. |
quota_exceeded | 402 | Limite de um recurso (ex.: projetos/números) atingido. |
invalid_amount | 400 | Recarga abaixo do mínimo (500 centavos). |
billing_disabled | 501 | Cobrança não configurada (sem Stripe). |
Eventos de webhook relacionados: usage.threshold, wallet.low,
billing.past_due, billing.recovered — ver Webhooks.
Preços, franquias e bônus mostrados aqui são defaults e configuráveis pela
plataforma — e variam por moeda. Consulte sempre GET /me/entitlements para os
valores efetivos da sua conta.