Veículos

Vistoria veicular por foto

Analisa a foto de cada parte do veículo e devolve parecer, score e descrição.

Visão computacionaltempo real
POST/api/v1/oracle/vehicle/inspect

Sobre esta API

Analisa a foto de cada parte do veículo — frente, traseira, laterais, para-brisa, faróis, lanternas, retrovisores, chassi ou painel — e devolve a descrição do que foi visto, um score de 0 a 100 e o parecer approval ou rejected.

Envie a foto em image, a parte em image_type, o tipo do veículo e a placa. Na foto do chassi, só o número gravado na estrutura aprova — etiqueta, plaqueta, vidro e número do motor são rejeitados —, chassi_lido traz o número lido e, com chassi_esperado, chassi_confere diz se a foto mostra o chassi do documento — null quando a gravação não permite afirmar.

É um parecer sobre a foto: não substitui laudo de vistoriador credenciado.

Tecnologia

Visão computacional · Atualização: tempo real

Requisição

POST /api/v1/oracle/vehicle/inspect

Autenticação HTTP Basic: public_key:secret_key em Base64. Guarde a chave secreta no servidor.

CabeçalhoDescrição
Authorization
Obrigatório
Chave de API em Basic: public_key:secret_key em Base64.
X-Project-Id
Opcional
Projeto que recebe a chamada. Sem ele, vale o projeto padrão da conta.
Idempotency-Key
Opcional
Repetir a mesma chave em até 24 horas devolve a resposta anterior, sem executar nem cobrar de novo.

Parâmetros

CampoTipo e localDescrição
image
Obrigatório
filefileFoto da parte do veículo.
image_type
Obrigatório
stringqueryQue parte do veículo a foto mostra.

Exemplo: vehicle_front_evidence

vehicle_type
Obrigatório
stringqueryTipo do veículo.

Exemplo: car

plate
Obrigatório
stringqueryPlaca do veículo.

Exemplo: ABC1D23

vehicle_model
Opcional
stringqueryModelo do veículo.

Exemplo: HB20

vehicle_color
Opcional
stringqueryCor do veículo.

Exemplo: prata

chassi_esperado
Opcional
stringquerySó para a foto do chassi: o chassi do documento, com 17 caracteres. A resposta diz em chassi_confere se a foto mostra esse número.

Exemplo: 9BD118181B1124442

curl --request POST 'https://api.apifordevs.com/api/v1/oracle/vehicle/inspect?image_type=vehicle_front_evidence&vehicle_type=car&plate=ABC1D23&vehicle_model=HB20&vehicle_color=prata&chassi_esperado=9BD118181B1124442' \
  --user "afd_live_pk_...:$AFD_SECRET_KEY" \
  --header "X-Project-Id: $AFD_PROJECT_ID" \
  --form 'image=@./image.jpg'

Campos de resposta

Campos e tipos publicados no catálogo desta API.

Descriçãodescricaostring
Scorescoreinteger
Parecerstatusstring
Origem do número do chassichassi_origemstring
Só em vehicle_chassi_evidence: onde está o número. Só gravado_na_estrutura aprova; etiqueta, plaqueta, vidro e número do motor são rejeitados.
Chassi lidochassi_lidostring
Só em vehicle_chassi_evidence: o número lido sem conhecer o esperado, em maiúsculas e sem espaços (o VIN tem 17 caracteres). Em gravação difícil sai incompleto; quem confere é chassi_confere. Com chassi_esperado, sai sem o delimitador gravado nas pontas (asterisco, estrela, losango, triângulo, X) quando ele foi lido como caractere.
Confere com o chassi esperadochassi_confereboolean
Só com chassi_esperado: true se a foto mostra esse número e não outro da mesma série, false se mostra outro número (e a foto é rejeitada), null se não dá para afirmar — número ilegível, ou sem número esperado.

Exemplo de resposta

{
  "success": true,
  "code": 200,
  "code_message": "A requisição foi processada com sucesso.",
  "errors": [],
  "header": null,
  "data_count": 1,
  "data": [
    {
      "descricao": "Número do chassi gravado no assoalho, sob o carpete, em duas linhas entre estrelas; caracteres legíveis, com espaçamento e profundidade uniformes, sem sinais de regravação.",
      "score": 90,
      "status": "approval",
      "chassi_origem": "gravado_na_estrutura",
      "chassi_lido": "9BD358A1NLY123456",
      "chassi_confere": null
    }
  ]
}

Respostas e cobrança

HTTPDescriçãoCobrança
200Sucesso.Sujeita à cobrança
400

bad_request

live_key_cannot_use_dev_mode

Arquivo ou parâmetro que a rota não consegue processar, projeto inválido, ou dev_mode=true com chave de produção.Sem cobrança
401

unauthorized

Credencial ausente, inválida ou revogada.Sem cobrança
402

payment_required

Saldo insuficiente ou limite de gasto diário atingido.Sem cobrança
403

forbidden

ip_not_allowed

test_key_cannot_run_live

E-mail da conta não verificado, chave sem escopo para o serviço, IP fora da allowlist do projeto ou chave de teste sem dev_mode=true.Sem cobrança
409

conflict

Requisição com a mesma Idempotency-Key ainda em andamento.Sem cobrança
413

payload_too_large

Arquivo acima de 20 MB.Sem cobrança
422

validation_error

Parâmetro obrigatório ausente ou fora do formato, ou Idempotency-Key repetida com outro conteúdo.Sem cobrança
429

rate_limit_exceeded

Limite de requisições por minuto da chave atingido.Sem cobrança
500

internal_error

Falha interna.Sem cobrança
503

service_unavailable

Serviço desativado ou temporariamente indisponível.Sem cobrança

Casos de uso

Vistoria de seguro sem visita

O segurado fotografa o carro pelo celular e a análise das partes sai na hora, sem agendar vistoriador.

Locação — check-in e check-out

Registrar o estado do veículo na entrega e na devolução, com score comparável entre os dois momentos.

SUA PRÓXIMA ENTREGA

Qual é a sua próxima integração?

Encontre a API que resolve o próximo passo do seu produto.