Carteira Nacional de Habilitação (Novo)
Modelo na Plataforma
Sigla: CNH
Descrição: Carteira Nacional de Habilitação (Novo)
Modelo Via API
Type: 54
Este modelo extrai informações-chave de um Carteira Nacional de Habilitação (Novo) (CNH), como dados do funcionário, da empresa, tipo de exame e aptidão para o trabalho.
O processo de extração é assíncrono e consiste em dois passos principais:
- Enviar o documento para a fila de processamento.
- Consultar o resultado após a conclusão do processamento.
Passo 1: Enviar o Documento para Processamento
Para iniciar a extração, envie uma requisição POST para o endpoint abaixo.
POST URL Ambiente/documents/upload
Headers
| Identificador | Valor |
|---|---|
Content-Type | multipart/form-data |
IDEXA-API-KEY | sua_api_key |
Payload (Corpo da Requisição)
A requisição deve conter os seguintes parâmetros obrigatórios:
| Parâmetro | Descriçao | Tipo |
|---|---|---|
files | O arquivo do documento a ser processado. | File |
type | Código interno do modelo. Use 54 para DRIVER_LICENSE. | Integer |
Os parâmetros a seguir são opcionais:
| Parâmetro | Descriçao | Tipo |
|---|---|---|
pages | Define páginas específicas para análise (ex: "1,2,5-10"). | String |
externalId | Id externo para seu controle (não pode repetir). | String |
Exemplos de Requisição
- cURL
- JavaScript
- Python
- PHP
curl -X POST "URL_BASE/documents/upload" -H "IDEXA-API-KEY: sua_api_key" -H "Content-Type: multipart/form-data" -F "files=@/path/to/seu/atestado.pdf" -F "type=54" -F "externalId=pedido-cliente-123"
const myHeaders = new Headers();
myHeaders.append("IDEXA-API-KEY", "sua_api_key");
const formdata = new FormData();
formdata.append("files", fileInput.files[0], "atestado.pdf");
formdata.append("type", "54");
formdata.append("externalId", "pedido-cliente-123");
const requestOptions = { method: 'POST', headers: myHeaders, body: formdata };
fetch("URL_BASE/documents/upload", requestOptions)
.then(response => response.json())
.then(result => console.log(result));
import requests
url = "URL_BASE/documents/upload"
payload = {'type': '54', 'externalId': 'pedido-123'}
files=[('files',('atestado.pdf',open('/path/to/atestado.pdf','rb'),'application/pdf'))]
headers = {'IDEXA-API-KEY': 'sua_api_key'}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.json())
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "URL_BASE/documents/upload",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => [
'files' => new CURLFile('/path/to/atestado.pdf'),
'type' => '54',
'externalId' => 'pedido-cliente-123'
],
CURLOPT_HTTPHEADER => [
"IDEXA-API-KEY: sua_api_key"
],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
Resposta Imediata (Status 200)
A resposta confirma o recebimento. Guarde o id para consultar o resultado no próximo passo.
{
"id": "95893394-337c-429c-a63e-1b8210de47d2",
"externalId": "pedido-cliente-123",
"type": 54,
"status": 0,
"statusDesc": "RECEIVED",
"createdAt": "2026-01-07T14:38:50.045Z",
"updatedAt": "2026-01-07T14:38:50.045Z"
}
A extração de dados pode levar alguns segundos. Por isso, a API funciona de forma assíncrona. Após enviar o documento, aguarde um momento e então use o id retornado para consultar o resultado final. Para ser notificado automaticamente, considere utilizar nossos Webhooks.
Passo 2: Consultar o Resultado
Use o id do documento para fazer uma requisição GET e buscar o resultado completo da extração.
GET URL Ambiente/documents/[id]
Resposta Final (Status 200)
Quando o status for 1 (FINISHED), o objeto data conterá os campos extraídos.
{
"id": "95893394-337c-429c-a63e-1b8210de47d2",
"externalId": "pedido-cliente-123",
"type": 54,
"data": {
"name": "FULANO DA SILVA",
"date_of_birth": "1969-08-04",
"issue_date": "2022-07-25",
"expiration_date": "2027-07-23",
"license_number": "00000000000",
"license_class": "AE",
"filiation": "['FULANO DA SILVA', 'FULANA DA SILVA']",
"personal_number": "00000000000",
"place_of_birth": "PORTO ALEGRE/RS",
"place_of_issue": "RS",
"card_issuer": "DETRAN",
"comments": "null",
"has_cetpp": "false",
"document_validation": "True"
},
"processTime": 8.123,
"status": 1,
"statusDesc": "FINISHED",
"createdAt": "2026-01-07T14:38:50.045Z",
"updatedAt": "2026-01-07T14:38:58.168Z"
}
Dicionário de Dados: Carteira Nacional de Habilitação (Novo)
Estes são os campos retornados dentro do objeto data.
| Campo | Tipo | Descrição |
|---|---|---|
| name | String | Nome |
| dateOfBirth | String | Data de Nascimento |
| issueDate | String | Data de Emissão |
| expirationDate | String | Data de Expiração |
| licenseNumber | String | Número da Licença |
| licenseClass | String | Classe da Licença |
| filiation | Object | Filição |
| personalNumber | String | Número Pessoal |
| placeOfBirth | String | Local de Nascimento |
| placeOfIssue | String | Local de Emissão |
| cardIssuer | String | Emissor do Cartão |
| filiation | Array | Filição |
| comments | String | Comentários |
| hasCetpp | Boolean | Possui CETPP |
| documentValidation | Boolean | Validação do Documento |