0

Criei uma API que unifica várias consultas (CPF, CNPJ, CEP, FIPE, câmbio...) num único padrão de resposta

Faz um tempo que venho esbarrando no mesmo problema em quase todo projeto: preciso
consultar CPF numa API, CNPJ em outra, CEP em mais uma, FIPE em outra... e cada uma
retorna num formato diferente, com autenticação diferente, com comportamento diferente
quando cai ou fica lenta.

Então resolvi centralizar isso. Criei o Orchestrator APP: uma API onde você faz a consulta
de um jeito só e recebe sempre o mesmo padrão de resposta, não importa qual fonte
respondeu por baixo.

A ideia

Por baixo do capô, cada tipo de consulta tem vários drivers (fontes diferentes).
Quando você pede um CNPJ, por exemplo, o sistema tenta uma fonte; se ela estiver fora
do ar ou lenta, ele cai automaticamente pra próxima. Pra você, isso é invisível: a
resposta chega no mesmo formato de sempre.

Hoje já dá pra consultar:

  • CPF e CNPJ
  • CEP / endereços
  • Tabela FIPE
  • Câmbio (cotações)
  • Ações
  • Bancos
  • Cidades, estados e países
  • Domínio / WHOIS
  • NCM
  • Feriados
  • Clima

O que tem por trás

Algumas decisões que achei importantes:

  • Padrão único de resposta — mesmo contrato pra qualquer consulta.
  • Múltiplos drivers com fallback — se uma fonte falha, tenta a próxima.
  • Circuit breaker — fonte que está falhando muito é "desligada" temporariamente
    pra não segurar sua requisição.
  • Cache — consultas repetidas voltam rápido, sem bater na fonte de novo.

Como fica na prática

Autenticação por header (X-API-KEY) e resposta sempre no mesmo envelope
(success, code, message, data), pra qualquer consulta.

Requisição:

GET https://orchestrator.risetech.dev.br/api/v1/services/cpf/00000000000
X-API-KEY: sua-chave-aqui
Accept: application/json

Resposta:

json { "success": true, "code": 200, "message": "Operation completed successfully.", "data": { "cpf": "00000000000", "name": "FULANO DE TAL", "status": true, "birth_date": "1990-01-01" } }

Um CNPJ, um CEP ou uma cotação da FIPE seguem exatamente a mesma estrutura — muda só
o conteúdo de data. É esse o ponto: você aprende o padrão uma vez e usa pra tudo.

Exemplo de outras rotas, mesmo formato:

GET /api/v1/services/zip_code/01001000
GET /api/v1/services/cnpj/00000000000000
GET /api/v1/services/fipe/cars/{marca}/{modelo}/{ano}
Estado atual (sendo honesto)

O projeto está no ar e funcionando, mas muitos dados ainda estão sendo carregados e
atualizados pra alimentar a base própria — então algumas consultas vão ficar mais
completas e rápidas ao longo das próximas semanas. Preferi lançar e evoluir na frente
do que segurar tudo esperando 100%.

Acesso grátis pros primeiros 30

Como quero feedback de verdade de quem constrói coisa, liberei 1 mês de acesso
gratuito pros primeiros 30 que se cadastrarem usando o cupom:

startertest no plano starter até dia 18/07/2026

Cadastro aqui: https://orchestrator.app.br/register

Se você testar, me diz o que achou — principalmente o que faltou, o que quebrou, ou
qual consulta você gostaria de ver. É exatamente esse tipo de retorno que vai guiar o
que eu priorizo agora.

Você pode entrar em contato comigo atraves do contato@orchestrator.app.br

Valeu!

Carregando publicação patrocinada...