Pular para o conteúdo principal

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.

Plano mínimo grátis para sempre

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ãoMoeda
BrasilBRL
Demais AméricasUSD
Resto do mundoEUR

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:

PilarPreço (BRL, default)Franquia grátis
MensagemR$ 0,01 cada200 / mês
NúmeroR$ 9,90 / mês2 números
StorageR$ 9,90 / GB·mês100 MB
ProjetoR$ 9,90 / mês1º 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ódigoHTTPSignifica
payment_required402Saldo insuficiente (fora da franquia e sem saldo) — recarregue.
spend_cap_reached402Teto de gasto do período atingido.
quota_exceeded402Limite de um recurso (ex.: projetos/números) atingido.
invalid_amount400Recarga abaixo do mínimo (500 centavos).
billing_disabled501Cobrança não configurada (sem Stripe).

Eventos de webhook relacionados: usage.threshold, wallet.low, billing.past_due, billing.recovered — ver Webhooks.

Valores configuráveis

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.