Formulário de Desvio
Modelo na Plataforma
Sigla: DESVIO
Descrição: Formulário de Desvio
Modelo Via API
Type: 27
Este modelo extrai informações-chave de um Formulário de Desvio (DESVIO), 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 27 para CACADORES. | 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=27" -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", "27");
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': '27', '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' => '27',
'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": 27,
"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": 27,
"data": {
"bt": "false",
"ct": "false",
"vt": "false",
"ccm": "false",
"epi": "false",
"psv": "false",
"vru": "false",
"name": "59a-6320-8dfb-9e817d78fdbb_2023_09_25_17_58_45.pdf_00001",
"pier": "false",
"sfci": "false",
"patio": "false",
"bombas": "false",
"autobasi": "false",
"mangotes": "false",
"name_pdf": "",
"overfill": "false",
"escritorio": "false",
"frota_leve": "false",
"transporte": "false",
"sinalizacao": "false",
"equipamentos": "false",
"procedimento": "false",
"alarmes_na_vru": "false",
"desvio_tratado": "false",
"estacionamento": "false",
"infraestrutura": "false",
"ausencia_outros": "false",
"danload_medidor": "false",
"praca_de_bombas": "false",
"sala_de_analise": "false",
"aterramento_medi": "false",
"ausencia_de_bota": "false",
"ausencia_de_luva": "false",
"bacia_de_tanques": "false",
"ausencia_de_cinto": "false",
"sfci_local_desvio": "false",
"ausencia_de_oculos": "false",
"desvio_ferroviario": "false",
"desvio_nao_tratado": "false",
"outros_especificar": "false",
"obras_ou_manutencao": "false",
"ausencia_de_capacete": "false",
"mas_condicoes_outros": "false",
"problem_in_detection": "false",
"uso_incorreto_outros": "false",
"braco_de_carregamento": "false",
"instalacoes_eletricas": "false",
"mas_condicoes_da_luva": "false",
"mas_condicoes_de_bota": "false",
"uso_incorreto_da_bota": "false",
"uso_incorreto_da_luva": "false",
"mas_condicoes_do_cinto": "false",
"outra_area_especificar": "false",
"plataforma_de_descarga": "false",
"uso_incorreto_do_cinto": "false",
"mas_condicoes_dos_oculos": "false",
"uso_incorreto_dos_oculos": "false",
"mas_condicoes_do_capacete": "false",
"uso_incorreto_do_capacete": "false",
"plataforma_de_carregamento": "false",
"alarme_de_nivel_ou_telemetria": "false",
"valvulas_juntas_flanges_drenos": "false"
},
"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: Formulário de Desvio
Estes são os campos retornados dentro do objeto data.
| Campo | Tipo | Descrição |
|---|---|---|
| bt | Boolean | Bt |
| ct | Boolean | Ct |
| vt | Boolean | Vt |
| ccm | Boolean | Ccm |
| epi | Boolean | Epi |
| psv | Boolean | Psv |
| vru | Boolean | Vru |
| name | String | Name |
| pier | Boolean | Pier |
| sfci | Boolean | Sfci |
| patio | Boolean | Patio |
| bombas | Boolean | Bombas |
| autobasi | Boolean | Autobasi |
| mangotes | Boolean | Mangotes |
| namePdf | String | Name Pdf |
| overfill | Boolean | Overfill |
| escritorio | Boolean | Escritorio |
| frotaLeve | Boolean | Frota Leve |
| transporte | Boolean | Transporte |
| sinalizacao | Boolean | Sinalizacao |
| equipamentos | Boolean | Equipamentos |
| procedimento | Boolean | Procedimento |
| alarmesNaVru | Boolean | Alarmes Na Vru |
| desvioTratado | Boolean | Desvio Tratado |
| estacionamento | Boolean | Estacionamento |
| infraestrutura | Boolean | Infraestrutura |
| ausenciaOutros | Boolean | Ausencia Outros |
| danloadMedidor | Boolean | Danload Medidor |
| pracaDeBombas | Boolean | Praca De Bombas |
| salaDeAnalise | Boolean | Sala De Analise |
| aterramentoMedi | Boolean | Aterramento Medi |
| ausenciaDeBota | Boolean | Ausencia De Bota |
| ausenciaDeLuva | Boolean | Ausencia De Luva |
| baciaDeTanques | Boolean | Bacia De Tanques |
| ausenciaDeCinto | Boolean | Ausencia De Cinto |
| sfciLocalDesvio | Boolean | Sfci Local Desvio |
| ausenciaDeOculos | Boolean | Ausencia De Oculos |
| desvioFerroviario | Boolean | Desvio Ferroviario |
| desvioNaoTratado | Boolean | Desvio Nao Tratado |
| outrosEspecificar | Boolean | Outros Especificar |
| obrasOuManutencao | Boolean | Obras Ou Manutencao |
| ausenciaDeCapacete | Boolean | Ausencia De Capacete |
| masCondicoesOutros | Boolean | Mas Condicoes Outros |
| problemInDetection | Boolean | Problem In Detection |
| usoIncorretoOutros | Boolean | Uso Incorreto Outros |
| bracoDeCarregamento | Boolean | Braco De Carregamento |
| instalacoesEletricas | Boolean | Instalacoes Eletricas |
| masCondicoesDaLuva | Boolean | Mas Condicoes Da Luva |
| masCondicoesDeBota | Boolean | Mas Condicoes De Bota |
| usoIncorretoDaBota | Boolean | Uso Incorreto Da Bota |
| usoIncorretoDaLuva | Boolean | Uso Incorreto Da Luva |
| masCondicoesDoCinto | Boolean | Mas Condicoes Do Cinto |
| outraAreaEspecificar | Boolean | Outra Area Especificar |
| plataformaDeDescarga | Boolean | Plataforma De Descarga |
| usoIncorretoDoCinto | Boolean | Uso Incorreto Do Cinto |
| masCondicoesDosOculos | Boolean | Mas Condicoes Dos Oculos |
| usoIncorretoDosOculos | Boolean | Uso Incorreto Dos Oculos |
| masCondicoesDoCapacete | Boolean | Mas Condicoes Do Capacete |
| usoIncorretoDoCapacete | Boolean | Uso Incorreto Do Capacete |
| plataformaDeCarregamento | Boolean | Plataforma De Carregamento |
| alarmeDeNivelOuTelemetria | Boolean | Alarme De Nivel Ou Telemetria |
| valvulasJuntasFlangesDrenos | Boolean | Valvulas Juntas Flanges Drenos |