## DETRAN / ES / Veículo
Consulta cadastro do veículo no Departamento Estadual de Trânsito (DETRAN) do Espírito Santo (ES).Se você deseja utilizar uma única API para consultar restrições de veículos em DETRANs de todos os estados do Brasil, recomendamos utilizar a API Detran / Restrições (Unificada).


### URL do site
- https://publicodetran.es.gov.br/ConsultaVeiculo/NovoConsultaVeiculoES.asp

### Requisição
URL para POST: `https://api.infosimples.com/api/v2/consultas/detran/es/veiculo`



| Parâmetro     | Descrição                                                                                                                                                                                                                                                                  |
| ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| token*        | Chave de autenticação da API. É com o token que a API reconhece e autoriza quem está fazendo a consulta.                                                                                                                                                                   |
| login_cpf**   | Este parâmetro é necessário caso o login no GOV.BR seja feito com CPF e senha. Deve ser informado o CPF para fazer login no GOV.BR.                                                                                                                                        |
| login_senha** | Este parâmetro é necessário caso o login no GOV.BR seja feito com CPF e senha. Deve ser informada a senha para fazer login no GOV.BR.                                                                                                                                      |
| pkcs12_cert** | Este parâmetro é necessário caso o login no GOV.BR seja feito com certificado digital. Conteúdo do arquivo do certificado digital A1 encriptado seguindo <a href="https://api.infosimples.com/consultas/docs/certificados#criptografia">as instruções de criptografia</a>. |
| pkcs12_pass** | Este parâmetro é necessário caso o login no GOV.BR seja feito com certificado digital. Senha do certificado digital A1 encriptada seguindo <a href="https://api.infosimples.com/consultas/docs/certificados#criptografia">as instruções de criptografia</a>.               |
| placa*        | Placa do veículo a ser consultado.                                                                                                                                                                                                                                         |
| renavam*      | RENAVAM do veículo a ser consultado.                                                                                                                                                                                                                                       |

> * Parâmetro obrigatório.

> ** Parâmetro opcional. Pode ser necessário informar algum dos parâmetros opcionais para que a consulta funcione adequadamente.


### Exemplos de respostas (OK)
```json
{
  "code": 200,
  "code_message": "A requisição foi processada com sucesso.",
  "errors": [],
  "header": {
    "api_version": "v2",
    "api_version_full": "2.2.34-20260219170552",
    "product": "Consultas",
    "service": "detran/es/veiculo",
    "parameters": {
      "login_cpf_md5": "e379c59a3573be16480533ae3f53ea1b",
      "login_senha_md5": "e379c59a3573be16480533ae3f53ea1b",
      "placa": "AAA1111",
      "renavam": "1111111111"
    },
    "client_name": "Minha Empresa",
    "token_name": "Token de Produção",
    "billable": true,
    "price": "0.2",
    "requested_at": "2026-02-23T16:41:46.000-03:00",
    "elapsed_time_in_milliseconds": 515,
    "remote_ip": "111.111.111.111",
    "signature": "bjTjCFc4cl5RhGBWkUhWYvJWeVwTjJrcTzP5NFSwwzoVJegX3zJK5bEQDWo3mP/pnwLNHVQvf2h9DfUxhqVj8Prpiy13QNOfkOiF3w=="
  },
  "data_count": 1,
  "data": [
    {
      "ano_fabricacao": "2015 ",
      "ano_modelo": " 2016",
      "ano_ultimo_licenciamento": "Último Exercício Licenciado",
      "averbacao_judicial": "Exemplo de Averbação",
      "carroceria": "JIPE",
      "categoria": "1 - Particular",
      "combustivel": "16 - Alcool-Gasol",
      "cor": "10 - PRATA",
      "data_aquisicao": "12/12/2019",
      "debitos": [
        {
          "descricao": "Exemplo de descrição",
          "vencimento": "01/04/2026",
          "nominal": "R$ 1.563,72",
          "corrigido": "R$ 1.563,72",
          "desconto": "R$ 234,56",
          "juros": "R$ 0,00",
          "multa": "R$ 0,00",
          "atual": "R$ 1.329,16",
          "normalizado_nominal": 1563.72,
          "normalizado_corrigido": 1563.72,
          "normalizado_desconto": 234.56,
          "normalizado_juros": 0.0,
          "normalizado_multa": 0.0,
          "normalizado_atual": 1329.16
        }
      ],
      "especie": "Exemplo de espécie",
      "gravame": "Exemplo de Gravame",
      "impedimentos": "Transferido",
      "indicativo_clonagem": "Exemplo de Indicativo",
      "informacoes_contrato_aditivo": "Exemplo de Informações",
      "infracoes": [
        {
          "numero_auto": "Exemplo de Texto",
          "descricao": "Exemplo de descrição",
          "local": "Avenida Paulista, 1636"
        }
      ],
      "lugares": "5",
      "marca_modelo": "114826 - TOYOTA/COROLLA XEI20FLEX (Nacional)",
      "multas": [
        {
          "numero_auto": "Exemplo de Texto",
          "status": "Em Aberto",
          "descricao": "Exemplo de descrição",
          "codigo_renainf": "",
          "local": "Avenida Paulista, 1636",
          "data_hora": "11/11/1111 11:11",
          "municipio": "SAO PAULO / SP"
        }
      ],
      "municipio": "SAO PAULO / SP",
      "origem": "CADASTRO",
      "placa": "AAA1111",
      "placa_anterior": "V.NOVO /SP",
      "potencia": "154",
      "processos": [
        {
          "numero": "1111111111",
          "passos": [
            {
              "situacao": "Abertura",
              "data": "11/11/2011",
              "ciretran": "Exemplo de Ciretran",
              "motivo": "-"
            }
          ]
        }
      ],
      "proprietario": "Nome de Exemplo",
      "proprietario_anterior": "Exemplo de Proprietário",
      "recadastrado_detran": "Exemplo de Recadastrado",
      "recursos": [
        {
          "processo": "1111111-11.1111.1.11.1111",
          "numero_protocolo": "UF-1234567-0123456789ABCDEF0123456789ABCDEF",
          "numero_auto": "Exemplo de Texto",
          "detalhes": "Exemplo de Texto",
          "resultado": "500.00"
        }
      ],
      "renavam": "1111111111",
      "restricoes": "Sem gravame",
      "situacao": "Em Circulação",
      "tipo": "AUTOMOVEL",
      "ultimo_crlv": "Exemplo de Último CRLV",
      "site_receipt": "https://www.exemplo.com/exemplo-de-url"
    }
  ],
  "site_receipts": [
    "https://www.exemplo.com/exemplo-de-url"
  ]
}
```


### Arquivo de visualização de consulta

O arquivo de visualização de consulta (`site_receipts`) disponibilizado no retorno da API é **emitido pela fonte original**.

### Exemplos de códigos para integração com a API


#### Python
```python
# Testado com: Python 3.10.19, Python 3.14.0
import requests
import base64
# pip install aes-bridge
import aes_bridge

url = 'https://api.infosimples.com/api/v2/consultas/detran/es/veiculo'
args = {
  "login_cpf":   "VALOR_DO_PARAMETRO_LOGIN_CPF",
  "login_senha": "VALOR_DO_PARAMETRO_LOGIN_SENHA",
  "pkcs12_cert": aes_bridge.encrypt(base64.b64encode(open("certificado.pfx", "rb").read()).decode(), "INFORME_A_CHAVE_DE_CRIPTOGRAFIA").decode("ascii").replace("+", "-").replace("/", "_").rstrip("="),
  "pkcs12_pass": aes_bridge.encrypt("SENHA_DO_CERTIFICADO", "INFORME_A_CHAVE_DE_CRIPTOGRAFIA").decode("ascii").replace("+", "-").replace("/", "_").rstrip("="),
  "placa":       "VALOR_DO_PARAMETRO_PLACA",
  "renavam":     "VALOR_DO_PARAMETRO_RENAVAM",
  "token":       "INFORME_AQUI_O_TOKEN_DA_CHAVE_DE_ACESSO",
  "timeout":     "300"
}

response = requests.post(url, args)
response_json = response.json()
response.close()

if response_json['code'] == 200:
  print("Retorno com sucesso: ", response_json['data'])
elif response_json['code'] in range(600, 799):
  mensagem = "Resultado sem sucesso. Leia para saber mais: \n"
  mensagem += "Código: {} ({})\n".format(response_json['code'], response_json['code_message'])
  mensagem += "; ".join(response_json['errors'])
  print(mensagem)

print("Cabeçalho da consulta: ", response_json['header'])
print("URLs com arquivos de visualização (HTML/PDF): ", response_json['site_receipts'])
```


## Estamos prontos para ajudar
Ainda tem alguma dúvida ou precisa de ajuda na sua integração? Entre em contato em [suporte@infosimples.com.br](mailto:suporte@infosimples.com.br) e receba ajuda da nossa equipe técnica altamente qualificada.
