api rest · v1
integre CBS/IBS
no seu sistema.
REST simples, payload JSON, autenticação Bearer. Para escritórios que rodam Domínio, Alterdata, Contmatic ou fluxos internos próprios. Webhooks para eventos de apuração.
autenticação
API key por escritório, scoped por org.
Cada escritório gera sua key no painel. Toda requisição passa por Authorization: Bearer fsc_… e fica isolada por org_id (RLS no Postgres).
# Exemplo: criar apuração
curl -X POST https://api.dualisai.com.br/v1/apuracoes \
-H "Authorization: Bearer fsc_live_xxx" \
-H "Content-Type: application/json" \
-d '{ "cliente_id": "uuid", "competencia": "2026-08" }'
endpoints principais
seis chamadas cobrem 95% dos casos.
POST /v1/apuracoes · Cria apuração paralela CBS+IBS para um conjunto de XMLs.
GET /v1/apuracoes/{id} · Retorna apuração com comparativo regime atual × regime novo.
POST /v1/upload · Upload de XMLs em lote (até 500). Retorna job_id Inngest.
POST /v1/calculadora · Cálculo standalone CBS/IBS a partir de payload manual.
POST /v1/simulador · Simula transição 2026–2033 com alíquotas progressivas.
GET /v1/clientes · Lista clientes PJ do escritório. Filtros: regime, status.
webhooks
eventos chegam no seu endpoint, idempotentes.
Cada evento tem event_id e assinatura HMAC-SHA256. Retry automático em caso de 5xx (até 24h, com backoff exponencial).
apuracao.criada, Nova apuração foi enfileirada
apuracao.calculada, Cálculo finalizado, PDF disponível
apuracao.inconsistencia, Inconsistência crítica detectada
xml.parse_failed, XML falhou ao ser parseado
sdks
node, python, php.
Em construção. Por enquanto, qualquer cliente HTTP serve, a API é REST puro, sem SDK obrigatório. Avise no /contato qual linguagem você precisa primeiro.
API key em 30 segundos.
Entre no painel, vá em Configurações → API keys e gere uma chave. Restrito ao owner do escritório.