APIs externas usadas pelo sistema
Cada serviço abaixo é usado em alguma parte do AURO. Pra quem vai assumir o projeto: aqui está onde criar conta, pegar key e colar no .env.
backend/.env no servidor.
Não vai pro git (já no .gitignore). Cada deploy mantém o próprio.
NVIDIA NIM (Llama 4 Vision)
Validação principal de fotos, OCR chassi, OCR documentos via Llama 4 Maverick
- Acesse build.nvidia.com e faça login
- Procure por
meta/llama-4-maverick-17b-128e-instruct - Clique em "Get API Key" (botão verde no topo direito)
.env:NVIDIA_API_KEY=nvapi-...
- Acesse aistudio.google.com com conta Google
- Menu lateral → Get API Key
- Create API Key → escolha projeto ou crie novo
- Copie a chave (formato
AQ.AbXXXX...) .env:GEMINI_API_KEY=AQ.Ab...
- Acesse app.roboflow.com e crie conta
- Crie um workspace (ex:
auro-vistoria) - Settings → API Key → Private API Key
.env:ROBOFLOW_API_KEY=...eROBOFLOW_WORKSPACE=<seu>
- Abra keplaca.com no Chrome e faça uma consulta qualquer
- DevTools (F12) → Network → procure request da consulta
- Copie cookie
cf_clearanceeUser-Agent .env:KEPLACA_CF_CLEARANCE=...eKEPLACA_USER_AGENT=...
AWS S3 (storage de fotos)
Armazena fotos das vistorias em produção. Fallback local em data/raw-uploads/
- AWS Console → S3 → criar bucket (ex:
auro-vistorias, regiãous-west-1) - IAM → Users → criar usuário (ex:
auro-s3-uploader) - Anexar policy com
s3:PutObject, GetObject, ListBucket, DeleteObjectsó nesse bucket - Security credentials → Create access key → Application running outside AWS
.env:STORAGE_DRIVER=s3+fs,S3_BUCKET=...,S3_REGION=us-west-1,S3_ACCESS_KEY=AKIA...,S3_SECRET_KEY=...
- Cloudflare Zero Trust → Access → Tunnels → Create tunnel
- Instale cloudflared no servidor (binário linux-amd64)
cloudflared tunnel login(abre browser)cloudflared tunnel create aurocloudflared tunnel route dns auro SEU_DOMINIO- Config em
cloudflared/config.ymlapontando prahttp://localhost:3000
cloudflared/PASSO_A_PASSO.md- console.anthropic.com → criar conta
- Settings → API Keys → Create Key
.env:ANTHROPIC_API_KEY=sk-ant-...+VISION_PROVIDER=anthropic
Resumo: .env mínimo pra rodar
JWT_SECRET=<openssl rand -hex 32> NVIDIA_API_KEY=nvapi-... GEMINI_API_KEY=AQ.Ab... ROBOFLOW_API_KEY=... ROBOFLOW_WORKSPACE=seu-workspace KEPLACA_CF_CLEARANCE=... KEPLACA_USER_AGENT=Mozilla/5.0... STORAGE_DRIVER=s3+fs S3_BUCKET=seu-bucket S3_REGION=us-west-1 S3_ACCESS_KEY=AKIA... S3_SECRET_KEY=...
Como usar o AURO Vistoria
Guia rápido das principais funções. Clique em qualquer card pra ir direto pra tela.
1. Cadastrar vistoriadores
Quem vai sair em campo pra fazer as vistorias.
- Entre em Usuários
- Clique Novo usuário → preencha email, senha e nome
- Role vistoriador (não admin)
- Pode bloquear/desbloquear depois sem perder dados
2. Gerar link pro vistoriador
Vistoriador abre o link no celular e faz a vistoria sem precisar instalar app nem fazer login.
- Entre em Links de vistoria
- Gerar link → escolhe vistoriador + placa (opcional) + tipo
- Copia a URL → manda no WhatsApp/email do vistoriador
- Ele abre o link → cai direto na captura de fotos
- Link expira em 72h (configurável) ou pode revogar
3. Configurar tipos de vistoria
Define quais fotos cada tipo exige (carro novo, usado, moto).
- Entre em Tipos de vistoria
- Crie um tipo novo ou edite os existentes
- Adicione fotos (frente_placa, lateral_total, chassi, etc.)
- Define a silhueta/guia que aparece pro vistoriador
4. Como a IA valida
Cada foto passa por um pipeline híbrido antes de aprovar.
- Roboflow Grounded-SAM — desenha polígonos coloridos em cada peça (banco, volante, painel...)
- Llama 4 Vision — decide se a foto é o que foi pedido
- OCR chassi — automaticamente lê os 17 chars do VIN e bate com CRLV/KePlaca
- Veja diagnóstico em Diagnóstico IA
5. Documentos (CRLV, CNH, RG)
Vistoriador pode tirar foto ou anexar PDF do documento.
- Foto → OCR Llama extrai campos automaticamente
- PDF → fica anexado pra conferência manual
- Configure em Documentos qual aceita arquivo
- CRLV bate placa + chassi com KePlaca pra detectar fraude
6. App Android (APK)
Vistoriador também pode usar o app nativo. Atualização é automática.
- Veja versão atual em Sistema
- Link público:
/download/app.apk - Quando você sobe APK novo → app detecta no login + baixa
- Use o "Modo web" (links) se não quiser instalar app
7. Integrar com outros sistemas
Mandar dados de vistoria pra outro sistema (CRM, planilha, ERP).
- Webhooks — recebe POST quando vistoria finaliza
- Tokens de API — pra outro sistema consultar dados
- Documentação API — exemplos prontos curl/Node/Python
8. Saúde do sistema
Saber se tudo tá funcionando bem em produção.
- Observabilidade — req/seg, latência, erros, saúde NVIDIA/Roboflow
- Logs ao vivo — vê cada request em tempo real
- Diagnóstico IA — quais fotos a IA mais reprova e por quê
- Atividade — timeline de tudo que aconteceu
Fluxo típico do dia a dia
Dicas rápidas
Dashboard
Visão geral + saúde do sistema
Vistorias por dia (últimos 14)
Tempo real
Top endpoints
| Rota | Hits | Erros |
|---|---|---|
| Sem amostras ainda | ||
Saúde dos serviços
Em andamento
| Placa | Tipo | Usuário | Fonte | Enviadas | Aprovadas | Iniciada | Última atividade |
|---|---|---|---|---|---|---|---|
|
Nenhuma sessão aberta
As vistorias em andamento aparecem aqui assim que o app mobile inicia uma captura.
| |||||||
Vistorias
| Placa | Tipo | Usuário | Status | Enviadas | Aprovadas | Atualizada |
|---|---|---|---|---|---|---|
|
Nenhuma vistoria encontrada
Ajuste os filtros ou aguarde novos uploads.
| ||||||
Divergências CRLV vs keplaca
Identificação do veículo
Modo observação
Fotos
Linha do tempo
Documentos
Modo observação (auditoria do app)
Por placa
Todas as fotos enviadas para uma placa, em ordem cronológica
Usuários
Gerenciar vistoriadores e administradores
Criar usuário
| Nome | Papel | Status | Ações | |
|---|---|---|---|---|
Tipos de vistoria
Configure os tipos disponíveis no app e o que cada foto exige
Defina o tipo e adicione as fotos que serão exigidas no app
Fotos exigidas
Configurações da IA
Rigor da análise, YOLO, presets e exigências
Preset
Rigor geral
Tolerâncias (0 = estrito, 100 = permissivo)
Exigências
YOLO (sidecar Python)
Roboflow Hosted
Antifraude
Provider IA
UI do app mobile
Atualização do APK
Atividade recente
Eventos enviados pelos apps
| Quando | Usuário | Evento | Dados |
|---|---|---|---|
|
| |||
Modo observação
Treinamento de IA
Dados coletados das vistorias pra retreinar os modelos
Como funciona
O sistema usa 2 modelos YOLO + 1 modelo Llama Vision:
- YOLO Carros (33 classes): farol, lanterna, retrovisor, rodas, portas, placa, capô, etc. Treinado com nosso dataset próprio. Usado pra validar fotos externas de carro.
- YOLO Motos (Roboflow externo, motorbike-parts/1): tank, wheel, exhaust, seat, etc. 9 classes. Usado pra extrair marcadores das fotos de moto.
- Llama Vision: usado pra fotos internas, documentos (CNH, CRLV, RG), chassi/motor e qualquer cenário onde YOLO não cobre.
Toda foto enviada pelo app que passa pelo YOLO gera pontos anotados. Eles são armazenados em data/raw-uploads/*.json com o resultado IA. Quando você exporta o dataset, o sistema gera um ZIP no formato YOLOv8-seg pra retreinar.
Amostras coletadas por classe
Quanto mais amostras por classe, melhor o modelo retreinado. Recomenda-se 100+ por classe.
Documentação da API
Endpoints disponíveis pra integração e para outros devs continuarem o projeto
Authorization: Bearer SEU_TOKEN.
Eventos em tempo real ficam em Webhooks.
Observabilidade
Req/seg (últimos 60s)
Saúde dos serviços externos
Status codes
Latência (ms)
Por método
Top 10 endpoints
| Path | Count | % do total | Distribuição |
|---|---|---|---|
|
Sem dados ainda
| |||
APIs de Placa
Providers de consulta com fallback automático + credenciais de cada um.
Atualizar credenciais
Provider tem 2 modos: automático via TLS impersonation (sem cookie) e manual via cf_clearance quando o IP do servidor for blacklisted pelo Cloudflare.
Atualizar credenciais (opcional)
Consulta os providers ativos em ordem. Primeiro com sucesso vence. Mostra qual provider respondeu e quanto cada um demorou.
Resultado por provider
Ver JSON
Teste de detecção de danos em lote
Envie até 100 fotos de uma vez. Roda os 3 modelos Roboflow em paralelo (concorrência 5). Pra imprimir o relatório, use Ctrl+P.
Datasets & Modelos de IA
Tudo que o sistema usa pra analisar foto, identificar peças e detectar danos. Datasets externos têm link pra fonte.
Detecção de danos & peças (Roboflow Serverless)
Validação de foto (Vision LLM)
Llama 4 Maverick Vision
primárioModelo Vision principal pra validar foto contra o código pedido (frente_placa, lateral, etc).
Gemini 2.5 Flash
modo 360Classifica frames do modo 360° em tempo real — qual slot externo cada foto preenche.
Segmentação e peças (Roboflow Workflow)
Grounded-SAM — peças do carro
ativoWorkflow Roboflow que segmenta peças por nome (farol, retrovisor, porta, etc) usando Grounded-SAM. Resultado vira polígonos no painel.
YOLO sidecar (interior)
treinamentoModelo YOLO local pra códigos internos (volante, banco, painel, estepe) — substituindo Vision LLM nesses códigos. Container Python separado.
Pré-processamento de imagem
Upscale Lanczos3 + sharpen
opcionalAumenta a resolução de fotos pequenas pra 1920px antes de mandar pros detectores. Revela arranhões e mossas em fotos tiradas de longe. Não é Real-ESRGAN, mas suficiente pra elevar percepção de detalhes.
Consulta de placa
KePlaca
primárioScraping de keplaca.com com cf_clearance + curl-impersonate. Retorna marca, modelo, ano, FIPE.
PlacaFipe
fallbackBackup automático quando KePlaca falha. Mesma estratégia, fonte diferente.
Diagnóstico de IA
Quais códigos de foto mais reprovam e por quê. Use pra ajustar prompts ou treinar vistoriadores.
Códigos ordenados por pior taxa de aprovação
| Código | Total | Aprovadas | Reprovadas | Taxa | Top motivos de reprovação |
|---|---|---|---|---|---|
|
|
×
—
|
||||
|
Sem dados ainda
Finalize algumas vistorias pra ver as estatísticas.
| |||||
Links de vistoria
Gere um link único pro vistoriador mandar ao cliente — abre a versão web sem login.
Como funciona
- Você gera o link associado a um vistoriador + opcional placa/tipo
- Manda o link pro vistoriador (WhatsApp, email)
- Ele abre no celular pelo navegador, sem precisar instalar app nem fazer login
- O sistema sabe que ele é o vistoriador X e registra tudo no nome dele
- Link expira automaticamente (padrão 72h) ou pode ser revogado a qualquer momento
| Status | Vistoriador | Placa | Tipo | Criado | Expira | Aberto | Ações |
|---|---|---|---|---|---|---|---|
|
Nenhum link gerado ainda
Clique em "Gerar link" pra começar.
|
|||||||
Logs ao vivo
Sistema
APK, armazenamento e cache
APK
Armazenamento
| Pasta | Arquivos | Tamanho |
|---|---|---|
Parametrização
Configure como o app mobile se comporta — listas, instruções, frases TTS, limites e mais
Documentos exigidos
Schemas de CNH, RG, Comprovante, CRLV e qualquer documento custom
| ID | Nome | Categoria | Proporção | Lados | Captura no celular | Campos | Ações |
|---|---|---|---|---|---|---|---|
|
|
|
|||||
|
Nenhum documento cadastrado
Cadastre schemas de CNH, RG, CRLV ou documentos customizados.
|
|||||||
Defina ID, nome, proporção, lados e campos extraídos pelo OCR
Como o usuário envia
Define se o vistoriador pode escolher entre tirar foto ou anexar arquivo (PDF/imagem) do celular.
Campos extraídos
| ID | Label | |
|---|---|---|
| Nenhum campo. Adicione ao menos um. | ||
Seletores globais
Listas usadas em SmartField do mobile (cores, categorias, UFs, etc.)
Instruções por foto
Texto exibido no app antes de cada captura: título, dica e itens visíveis
Foto guia
Imagem de referência mostrada ao vistoriador antes da captura.
Fotos guia
Foto de referência para cada código. Aparece pro vistoriador antes da captura. Armazenadas no S3 (foto-guia/<codigo>.jpg).
Mensagens TTS
Frases faladas pelo app em cada momento do fluxo. Variáveis em {nome} são substituídas em runtime.
Provider
Roles & permissões
Defina as roles disponíveis e suas permissões. Cada usuário tem uma role.
admin:* ou * libera todos os endpoints admin. Remover essa entrada de uma role tira o acesso na hora.
Limites de upload
Configura tamanho máximo, retenção e qualidade das fotos enviadas pelo app
Requisitos YOLO por foto
Matriz de quantidades mínimas que o YOLO precisa detectar pra aprovar cada foto. 0 = não exigido.
| Código da foto | Reset | |
|---|---|---|
|
Tokens de API
Gere tokens pra autenticar integrações externas com a API pública v1
| Nome | Prefixo | Escopos | Criado em | Último uso | Status | Ações |
|---|---|---|---|---|---|---|
|
Expira:
|
|
|
Novo token de API
Defina nome, escopos e validade opcional
Token criado
Copie agora — não será mostrado novamente
Webhooks
Receba eventos da plataforma em URLs externas
Como receber
A cada evento, fazemos POST JSON pra sua URL com os headers:
X-Auro-Event: nome do evento (ex:vistoria.finalizada)X-Auro-Webhook-Id: id do webhookX-Auro-Signature: HMAC SHA-256 do corpo usando osecret
Valide a assinatura: hmac_sha256(secret, body_raw) === header
Defina URL, eventos e estado
Log de entregas
| Quando | Evento | Tent. | Status | Erro |
|---|---|---|---|---|