Endpoints
POST /public/v1/analyze · consome 1 do quota
Aceita multipart (campo file, até 100 XMLs) ou JSON { "xml": "..." }. Tamanho máximo 50MB por request.
curl -X POST https://revexia.com.br/api/public/v1/analyze \
-H "X-Api-Key: rxa_seu_token_aqui" \
-F [email protected]
Resposta 200
{
"notas_analisadas": 1,
"linhas_extraidas": 3,
"divergencias_count": 1,
"total_recuperavel": 36.50,
"divergencias": [{
"tipo": "PIS",
"valor_estimado": 36.50,
"scoring": 85,
"descricao": "Tese do Século (RE 574.706 STF)...",
"tese_aplicavel": "Tese do Século — exclusão do ICMS da base do PIS/COFINS"
}]
}
GET /public/v1/me · grátis (não consome quota)
Devolve plano, quota mensal, consumo atual, latência média.
curl https://revexia.com.br/api/public/v1/me \
-H "X-Api-Key: rxa_seu_token_aqui"
Resposta 200
{
"name": "Minha integração",
"plan": "comum",
"quota_month": 5000,
"requests_month": 42,
"avg_latency_ms": 310,
"paid_until": "2026-12-31T00:00:00.000Z"
}
Planos
Grátis
R$ 0
1.000 chamadas/mês
Sem cartão. Pra testar e integrar.
Comum
R$ 50
5.000 chamadas/mês
Mais volume que o grátis, com ativação assistida.
Iniciante
R$ 297 (pacote · 12m)
15.000 chamadas/mês
Contabilidades pequenas e rotinas semanais.
Pro
R$ 997 (pacote · 12m)
100.000 chamadas/mês
ERPs e contabilidades médias.
Business
WhatsApp
1.000.000 chamadas/mês
Operação recorrente com alto volume.
Enterprise
WhatsApp · Sob contrato
5.000.000 chamadas/mês
SLA dedicado, suporte por contrato.
Erros comuns
400 Payload inválido, XML ausente ou formato não aceito.
401 Header X-Api-Key ausente, malformado ou chave inválida.
402 Pagamento expirado para chave paga.
403 Chave inativa, revogada ou com pagamento pendente.
413 Payload acima de 50MB por request.
429 Quota mensal atingida.
SDKs
npm install @revex/sdk · em publicação (Q3/2026). Python e Go: planejados.
Funciona com qualquer cliente HTTP — Node nativo, axios, fetch, Postman.
Exemplos de código
Node.js (fetch nativo — sem dependências)
import { createReadStream } from 'fs'
import { FormData, fetch } from 'undici' // Node 22+: fetch já é global
const form = new FormData()
form.append('file', new Blob([await fs.promises.readFile('nfe.xml')]), 'nfe.xml')
const resp = await fetch('https://revexia.com.br/api/public/v1/analyze', {
method: 'POST',
headers: { 'X-Api-Key': 'rxa_sua_chave_aqui' },
body: form,
})
const data = await resp.json()
// data.total_recuperavel é Number (BRL) — ex: 36.50
// data.divergencias é array de divergências detectadas
console.log(data.total_recuperavel, data.divergencias_count)
Python 3 (requests)
import requests
with open('nfe.xml', 'rb') as f:
resp = requests.post(
'https://revexia.com.br/api/public/v1/analyze',
headers={'X-Api-Key': 'rxa_sua_chave_aqui'},
files={'file': ('nfe.xml', f, 'application/xml')},
)
resp.raise_for_status()
data = resp.json()
print(f"Recuperável: R$ {data['total_recuperavel']:.2f}")
print(f"Divergências: {data['divergencias_count']}")
for div in data['divergencias']:
print(f" [{div['tipo']}] {div['descricao']}")
JSON body (alternativa sem multipart)
Envie o XML como string no campo xml. Útil quando o XML já está em memória.
curl -X POST https://revexia.com.br/api/public/v1/analyze \
-H "X-Api-Key: rxa_sua_chave_aqui" \
-H "Content-Type: application/json" \
-d '{"xml": "<?xml version=\"1.0\"?>..."}'
FAQ
O que a API REVEX faz?
Recebe XMLs de NF-e/NFC-e/CT-e/SPED e devolve divergências fiscais com base legal (Tese do Século, Súmula 379, monofásico indevido, bitributação ICMS-ST). Cálculo é determinístico em C++/WASM — sem LLM nos números.
Como autentico?
Header HTTP X-Api-Key: rxa_... (gere uma chave em /app/api). Cada request consome 1 do quota mensal.
Quais planos?
Grátis 1.000 chamadas/mês. Comum R$ 50 com 5.000. Iniciante R$ 297 (pacote 12 meses) com 15.000. Pro R$ 997 (pacote 12 meses) com 100.000. Business e Enterprise via WhatsApp para atendimento dedicado (alto volume).
Vocês armazenam meus XMLs?
Não. A API faz o parse em memória, devolve o resultado e descarta o conteúdo. Só registramos metadata da chamada (latência, bytes, status).
SDK em quais linguagens?
TypeScript/Node (npm @revex/sdk — em publicação). Python e Go: planejados pra Q3/2026. Qualquer linguagem que faça HTTP funciona — é REST simples.