API VatBR
API REST com JSON. Gere sua chave no Painel e autentique com ela no header Authorization: Bearer. Chaves sk_test_ nunca geram obrigações fiscais.
Importe no Postman, Insomnia ou em geradores de SDK. Sem ?download, as URLs servem o arquivo diretamente.
POST /v1/calculations
Criar cálculo
Retorna CBS e IBS (estadual e municipal) separados por jurisdição, prontos para o split payment.
- amount number
- Valor da operação em reais.
- currency string
- Sempre BRL.
- customer.cep string
- CEP do destinatário (8 dígitos). Alternativa: customer.ibge.
- nbs string
- Código NBS ou categoria (ex.: CBN.01 Cesta Básica, MED.01 Medicamentos). Define o regime padrão.
- regime string?
- standard | reduced_60 | zero_rate. Opcional; deve ser permitido para o item, senão retorna regime_not_eligible.
Sandbox interativo: chamadas com sua chave contam no seu uso e aparecem nos logs do Painel.
curl https://vatbr.com.br/api/public/v1/calculations \
-H "Authorization: Bearer sk_test_SUA_CHAVE" \
-H "Content-Type: application/json" \
-d '{"amount":1000,"currency":"BRL","customer":{"cep":"01310-100"},"nbs":"1.1502.10.00"}'// Clique em Executar para ver a resposta
POST /v1/calculations/batch
Cálculo em lote
Calcule um carrinho ou fatura inteira em uma chamada: até 100 itens. customer e nbs no topo valem para todos os itens, e cada item pode sobrescrevê-los. Cada item calculado com sucesso conta como 1 cálculo; itens com erro não são cobrados e não derrubam os demais. A resposta traz o resultado por item (com seu id) e os totais de CBS, IBS estadual e IBS municipal.
curl https://vatbr.com.br/api/public/v1/calculations/batch \
-H "Authorization: Bearer sk_test_SUA_CHAVE" \
-H "Content-Type: application/json" \
-d '{
"customer": { "cep": "01310-100" },
"nbs": "1.1502.10.00",
"items": [
{ "id": "plano-anual", "amount": 1000 },
{ "id": "addon-filial", "amount": 500, "customer": { "cep": "89801-000" } }
]
}'
// 200 → { "object": "calculation_batch", "succeeded": 2, "failed": 0,
// "items": [{ "id": "plano-anual", "status": "succeeded", "lines": [...], "total_tax": 265 }, ...],
// "totals": { "amount": 1500, "cbs": 132, "ibs_uf": 149, "ibs_mun": 115.5, "total_tax": 396.5 } }