Documentos

Leitura de documentos

Extrai os dados de CNH, RG, passaporte, cartão CNPJ e contrato social.

OCRtempo real
POST/api/v1/oracle/document/read

Sobre esta API

Extrai os dados de CNH, RG, passaporte, cartão CNPJ e contrato social a partir da foto ou do PDF, prontos para preencher um cadastro.

Informe o tipo em document_type e envie o arquivo em file — imagem, HEIC ou PDF, até 20 MB. Os campos de analysis_result variam conforme o tipo, e is_valid indica se o arquivo é mesmo o documento informado.

Lê o que está impresso: não confere os dados em base oficial nem atesta a autenticidade do documento.

Tecnologia

OCR com visão computacional · Atualização: tempo real

Requisição

POST /api/v1/oracle/document/read

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
file
Obrigatório
filefileImagem, HEIC ou PDF do documento.
document_type
Obrigatório
stringqueryTipo do documento enviado.

Exemplo: CNH

curl --request POST 'https://api.apifordevs.com/api/v1/oracle/document/read?document_type=CNH' \
  --user "afd_live_pk_...:$AFD_SECRET_KEY" \
  --header "X-Project-Id: $AFD_PROJECT_ID" \
  --form 'file=@./file.jpg'

Campos de resposta

Campos e tipos publicados no catálogo desta API.

Tipo de documentodocument_typestring
Tipo de documento lido.
Arquivo enviadofilenamestring
Nome do arquivo enviado.
Campos extraídosanalysis_resultobject
Campos extraídos. As chaves variam por tipo de documento.
Documento reconhecidoanalysis_result.is_validboolean
Nomeanalysis_result.nomestring
Em CNH, RG-FRONT, PASSAPORTE.
Nº de registroanalysis_result.numero_registrostring
Em CNH.
CPFanalysis_result.cpfstring
Em CNH, RG-FRONT, RG-BACK, PASSAPORTE.
Nacionalidadeanalysis_result.nacionalidadestring
Em CNH, PASSAPORTE.
Documento de identidadeanalysis_result.doc_identidadestring
Em CNH.
Órgão emissoranalysis_result.org_emissorstring
Em CNH.
Data de emissãoanalysis_result.data_emissaostring
Em CNH.
Validadeanalysis_result.validadestring
Em CNH.

Exemplo de resposta

{
  "success": true,
  "code": 200,
  "code_message": "A requisição foi processada com sucesso.",
  "errors": [],
  "header": null,
  "data_count": 1,
  "data": [
    {
      "document_type": "CNH",
      "filename": "cnh.jpg",
      "analysis_result": {
        "is_valid": true,
        "nome": "FULANO DE TAL DA SILVA",
        "numero_registro": "01234567890",
        "cpf": "123.456.789-09",
        "nacionalidade": "BRASILEIRO",
        "doc_identidade": "12345678",
        "org_emissor": "SSP SP",
        "data_emissao": "14/03/2024",
        "validade": "14/03/2034",
        "filiacao1": "JOSE DE TAL DA SILVA",
        "filiacao2": "MARIA DE TAL DA SILVA"
      }
    }
  ]
}

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

Onboarding sem digitação

O cliente fotografa a CNH e o formulário já vem preenchido: nome, CPF, filiação e validade, sem digitar nada.

Conferência de cadastro

Comparar o que o documento diz com o que o cliente declarou e levantar a divergência antes da aprovação.

Leitura de contrato social

Extrair capital social e sócios do contrato para instruir análise de crédito ou KYC de pessoa jurídica.

Notas de integração

  • Cobrada por requisição e por token: documento de muitas páginas consome mais. O custo típico ao lado do preço é a média real dos últimos 30 dias.
SUA PRÓXIMA ENTREGA

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

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