Documentação da API

REST sobre HTTPS, JSON in/out, autenticação por API key. Compatível com qualquer cliente HTTP.

Introdução

Base URL: https://frete.center/v1/

Toda requisição precisa do header X-Frete-Key (ou Authorization: Bearer ...) com uma chave gerada na sua conta. Sandbox: chaves fc_test_* não cobram saldo.

Autenticação

curl -H "X-Frete-Key: fc_live_xxxxx..." \
     https://frete.center/v1/usage

Erros

HTTPSignificado
400Parâmetros inválidos (corpo da resposta tem error).
401Chave ausente, inválida ou revogada.
402Saldo insuficiente. Aporte na carteira.
403Chave sem o escopo necessário.
404Recurso não encontrado.
422Validação falhou (campo errors).
429Rate limit diário excedido.

Rate limit

Cada chave tem limite diário (campo rate_limit_per_day herdado do plano). Headers de resposta:

RateLimit-Limit: 1000
RateLimit-Remaining: 875
RateLimit-Policy: 1000;w=86400

POST/v1/cte/parse

Recebe um XML CT-e e devolve a estrutura completa parseada (chave, ide, emit, rem, dest, exped, receb, tomador, vPrest com componentes, infCarga, NFes vinculadas, modal, status SEFAZ).

Body: aceita 3 formas — multipart com campo xml, JSON com {"xml": "..."}, ou JSON com {"xml_base64": "..."}.

curl -X POST https://frete.center/v1/cte/parse \
  -H "X-Frete-Key: fc_live_..." \
  -F "xml=@cte.xml"

Resposta: { ok: true, data: { chaveCte, nCT, dhEmi, vTPrest, vPedagio, tomCnpj, tomNome, ... } }

GET/v1/pedagio/*

/v1/pedagio/pracas?rodovia=BR-116 — lista praças filtradas.

/v1/pedagio/pracas/{id} — detalhe de uma praça.

/v1/pedagio/tarifa?praca={id}&categoria={1..9}&data=YYYY-MM-DD — tarifa vigente em centavos.

POST/v1/rota/estimate

curl -X POST https://frete.center/v1/rota/estimate \
  -H "X-Frete-Key: fc_live_..." \
  -H "Content-Type: application/json" \
  -d '{"pracas":["praca_001","praca_002"],"categoria":6,"data":"2026-05-03"}'

Resposta inclui sequência de praças com valor por uma + total agregado.

GET/v1/usage

Resumo da chave atual: scope, limite, consumo do dia, último uso, saldo da carteira do tenant.

Webhooks

Para receber notificações de pagamento, configure a URL https://seu-dominio/.../webhooks/abacate no painel da AbacatePay e armazene o segredo HMAC (ABACATE_WEBHOOK_SECRET) na sua hospedagem. Verificamos a assinatura no header X-Webhook-Signature: t=...,v1=... contra HMAC_SHA256(t.body, secret), com janela de 5 minutos.

Política de Privacidade

A frete.center coleta apenas os dados necessários para operar o serviço (e-mail, senha hash, dados fiscais que você envia explicitamente como CT-e e CSVs). Não vendemos, não compartilhamos com terceiros e não usamos para publicidade. Dados em repouso: hash bcrypt para senhas, AES-256-GCM para segredos. Em trânsito: TLS 1.2+ obrigatório (HSTS). Você pode exportar ou excluir seus dados a qualquer momento — ver seção LGPD.

Termos de Uso

Ao criar conta, você concorda em: (a) usar a plataforma somente para fins lícitos e fiscais; (b) ser responsável pela confidencialidade da sua senha e API keys; (c) reconhecer que a plataforma é fornecida "como está" sem garantias além do SLA contratado no plano; (d) ressarcir por uso abusivo (spam, scraping, ataque). Podemos suspender contas que violem estes termos. Versão vigente: 2026-05-04.

LGPD — Direitos do titular

Conforme Lei 13.709/2018 (LGPD), você tem direito a:

  • Confirmação e acesso — pedir relatório completo dos seus dados.
  • Correção — atualizar dados incorretos no painel.
  • Anonimização / eliminação — solicitar remoção; processamos em até 15 dias.
  • Portabilidade — exportar tudo em JSON.
  • Revogação de consentimento — encerrar a conta a qualquer momento.

Solicitações: lgpd@andrehocsis.com.br. Encarregado de Proteção de Dados (DPO): a definir conforme art. 41 da LGPD.

ISO 27001 / ISO 9001 — controles implementados

O código da plataforma já implementa os principais controles técnicos esperados na auditoria. A certificação propriamente dita exige auditoria externa de 6–12 meses + Sistema de Gestão (SGSI/SGQ) documentado.

Detalhamento completo: v2/docs/ISO-27001-controls.md no repositório.

Resumo dos controles ISO 27001 cobertos

ControleImplementação
A.9 Controle de AcessoBcrypt cost 12, lockout, sessão regenerada, CSRF, API key escopada.
A.10 CriptografiaHTTPS forçado, HSTS, AES-256-GCM, HMAC-SHA256, hash_equals.
A.12.4 LogsAudit log JSONL append-only com flock, redaction automática.
A.13.2 CabeçalhosCSP, X-Frame-Options, Referrer-Policy, Permissions-Policy.
A.14.2.5 Princípios segurosRepository Pattern, container IoC, validação de input, escapes.
A.16.1 IncidentesEventos críticos marcados como level:security, retenção 5 anos.