Pular para o conteúdo

OCR - Leitura de Documentos

O serviço de OCR (Optical Character Recognition) da TechTrue® permite a extração automatizada de informações de documentos através do processamento inteligente de imagens. O sistema analisa a imagem do documento, identifica e extrai os campos relevantes, retornando os dados estruturados em formato JSON.

Documentos Suportados

Atualmente, o serviço suporta:

  • CNH (Carteira Nacional de Habilitação) ✅

Formatos de Imagem Aceitos

O serviço aceita os seguintes formatos:

  • JPEG (.jpg, .jpeg)
  • PNG (.png)
  • PDF (.pdf)

As imagens podem ser enviadas:

  • Como base64 (no corpo JSON)
  • Como arquivo binário (multipart/form-data)

Endpoint da API

Extrair Dados de CNH

Para extrair informações de uma CNH, use o código abaixo:

Terminal window
curl -X POST "https://api.techtrue.com.br/api/v1/services/ocr/cnh" \
-H "Authorization: Bearer {{token}}" \
-H "Content-Type: application/json" \
-d '{
"imagem": "{{base64_string}}"
}'

Endpoint que extrai automaticamente os dados de uma Carteira Nacional de Habilitação (CNH) através de processamento OCR.

Requisição HTTP

POST /api/v1/services/ocr/cnh

Headers

NomeDescriçãoObrigatórioTipo
AuthorizationToken Bearer obtido através da autenticaçãoSimstring
Content-Typeapplication/json (para base64) ou multipart/form-data (para arquivo)Simstring

Corpo da Requisição

Opção 1: Imagem em Base64

{
"imagem": "{{base64_string}}"
}
CampoDescriçãoObrigatórioTipo
imagemImagem do documento codificada em base64 (sem o prefixo data:image/...;base64,)Simstring

Opção 2: Upload de Arquivo

Envie o arquivo usando multipart/form-data:

CampoDescriçãoObrigatórioTipo
arquivoArquivo da imagem (JPEG, PNG ou PDF)Simfile

Resposta - Sucesso

Estrutura da resposta quando a extração é bem-sucedida:

{
"success": true,
"documento_tipo": "CNH",
"campos": {
"nome_completo": {
"valor": "João Da Silva Santos",
"confianca": 0.95
},
"cpf": {
"valor": "123.456.789-00",
"valido": true,
"confianca": 0.98
},
"rg": {
"valor": "12.345.678-9",
"confianca": 0.92
},
"data_nascimento": {
"valor": "15/03/1990",
"valida": true,
"confianca": 0.97
},
"numero_cnh": {
"valor": "12345678900",
"confianca": 0.96
},
"categoria": {
"valor": "AB",
"confianca": 0.99
},
"data_validade": {
"valor": "15/03/2030",
"valida": true,
"confianca": 0.94
},
"data_emissao": {
"valor": "15/03/2020",
"valida": true,
"confianca": 0.91
},
"data_primeira_habilitacao": {
"valor": "10/05/2008",
"valida": true,
"confianca": 0.89
},
"local_nascimento": {
"valor": "São Paulo-SP",
"confianca": 0.85
},
"nome_pai": {
"valor": "José Da Silva",
"confianca": 0.82
},
"nome_mae": {
"valor": "Maria Da Silva Santos",
"confianca": 0.84
},
"uf": {
"valor": "SP",
"confianca": 0.92
},
"observacoes": {
"valor": "DOADOR DE ÓRGÃOS E TECIDOS",
"confianca": 0.78
},
"orgao_expedidor": {
"valor": "DETRAN/SP",
"confianca": 0.86
}
},
"metadados": {
"total_campos_extraidos": 15,
"qualidade_imagem": "boa",
"confianca_media_ocr": 0.912,
"tempo_processamento": 2.34,
"campos_com_baixa_confianca": [
"observacoes"
],
"tamanho_arquivo_bytes": 1048576,
"tipo_arquivo": "image/jpeg"
},
"texto_completo_ocr": "REPÚBLICA FEDERATIVA DO BRASIL\nCARTEIRA NACIONAL DE HABILITAÇÃO\n\nNOME: JOÃO DA SILVA SANTOS\nCPF: 123.456.789-00\nRG: 12.345.678-9\nDATA DE NASCIMENTO: 15/03/1990\nFILIAÇÃO: JOSÉ DA SILVA\nMARIA DA SILVA SANTOS\n\nNATURALIDADE: SÃO PAULO-SP\nREGISTRO: 12345678900\nCATEGORIA: AB\nDATA DE EMISSÃO: 15/03/2020\nDATA DE VALIDADE: 15/03/2030\nPRIMEIRA HABILITAÇÃO: 10/05/2008\n\nOBSERVAÇÕES: DOADOR DE ÓRGÃOS E TECIDOS\n\nDETRAN/SP"
}

Campos da Resposta

Estrutura de Cada Campo

Cada campo extraído contém:

PropriedadeTipoDescrição
valorstringValor extraído do documento
confiancanumberNível de confiança da extração (0.0 a 1.0)
validoboolean(Apenas para CPF e datas) Indica se o valor passou na validação
Campos Extraídos da CNH
CampoDescrição
nome_completoNome completo do condutor
cpfCPF do condutor (com validação)
rgRG do condutor
data_nascimentoData de nascimento (com validação de formato)
numero_cnhNúmero do registro da CNH
categoriaCategoria da habilitação (A, B, AB, etc.)
data_validadeData de validade da CNH (com validação)
data_emissaoData de emissão da CNH (com validação)
data_primeira_habilitacaoData da primeira habilitação (com validação)
local_nascimentoCidade e UF de nascimento
nome_paiNome do pai
nome_maeNome da mãe
ufUnidade Federativa emissora
observacoesObservações (ex: doador de órgãos)
orgao_expedidorÓrgão expedidor (DETRAN/UF)
Metadados
CampoTipoDescrição
total_campos_extraidosnumberQuantidade de campos extraídos com sucesso
qualidade_imagemstringAvaliação da qualidade: excelente, boa, regular, ruim
confianca_media_ocrnumberMédia de confiança de todos os campos (0.0 a 1.0)
tempo_processamentonumberTempo de processamento em segundos
campos_com_baixa_confiancastring[]Lista de campos com confiança inferior a 0.8
tamanho_arquivo_bytesnumberTamanho do arquivo processado em bytes
tipo_arquivostringTipo MIME do arquivo processado
Texto Completo OCR

O campo texto_completo_ocr contém todo o texto extraído da imagem, preservando quebras de linha e formatação original.

Interpretando os Níveis de Confiança

  • 0.9 - 1.0: Confiança muito alta (excelente)
  • 0.8 - 0.89: Confiança alta (bom)
  • 0.7 - 0.79: Confiança média (requer atenção)
  • < 0.7: Confiança baixa (recomenda-se validação manual)

Resposta - Erro

Estrutura de resposta de erro:

{
"success": false,
"error": {
"code": "IMAGE_QUALITY_LOW",
"message": "Qualidade da imagem muito baixa para processamento",
"details": "A imagem está desfocada ou com resolução insuficiente"
}
}

Códigos de Erro

Código HTTPCódigo de ErroDescrição
400INVALID_IMAGE_FORMATFormato de imagem não suportado
400IMAGE_TOO_LARGEImagem excede o tamanho máximo permitido (10MB)
400IMAGE_QUALITY_LOWQualidade da imagem muito baixa para processamento
400DOCUMENT_NOT_DETECTEDNão foi possível detectar um documento na imagem
400DOCUMENT_TYPE_MISMATCHDocumento detectado não é uma CNH
400MISSING_IMAGENenhuma imagem foi enviada na requisição
400INVALID_BASE64String base64 inválida ou corrompida
401UNAUTHORIZEDToken de autenticação inválido ou ausente
500OCR_PROCESSING_FAILEDErro interno ao processar a imagem
503SERVICE_UNAVAILABLEServiço temporariamente indisponível

Códigos de Resposta HTTP

CódigoDescrição
200OK - Documento processado com sucesso
400Bad Request - Erro na requisição ou na imagem enviada
401Unauthorized - Token de autenticação inválido ou ausente
500Internal Server Error - Erro no processamento OCR
503Service Unavailable - Serviço temporariamente indisponível

Melhores Práticas

Qualidade da Imagem

Para obter os melhores resultados, certifique-se de que:

  1. Iluminação adequada: Evite sombras e reflexos na imagem
  2. Foco nítido: A imagem não deve estar desfocada ou tremida
  3. Enquadramento completo: Todo o documento deve estar visível dentro do quadro
  4. Orientação correta: O documento deve estar na posição correta (não invertido ou de lado)
  5. Resolução mínima: Recomendamos resolução de pelo menos 1200x800 pixels
  6. Contraste adequado: Certifique-se de que há bom contraste entre o documento e o fundo
  7. Documento limpo: Evite documentos danificados, amassados ou com manchas que possam dificultar a leitura

Suporte

Para dúvidas, problemas ou sugestões sobre o serviço de OCR, entre em contato com o suporte da TechTrue®.