Documentos

Leitura de documentos de identidade

Lê frente e verso do RG (ou a CNH) numa chamada e devolve nome, filiação e naturalidade.

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

Sobre esta API

Lê os dois lados do RG — ou a CNH — numa chamada só e devolve o nome do titular, a filiação e a naturalidade.

Informe document_type e envie a CNH em document_front; o RG vai em document_front e document_back, e a ordem das imagens não importa.

Para CPF, número do documento, datas e órgão expedidor, use a Leitura de documentos.

Tecnologia

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

Requisição

POST /api/v1/oracle/document/identify

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
document_front
Obrigatório
filefileCNH, ou a frente do RG.
document_back
Opcional
filefileVerso do RG. Obrigatório quando o tipo é RG.
document_type
Obrigatório
stringqueryTipo do documento enviado.

Exemplo: CNH

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

Campos de resposta

Campos e tipos publicados no catálogo desta API.

Tipo solicitadorequested_document_typestring
Tipo identificadodocument_typestring
Arquivo (frente)filenamestring
Arquivo (verso)filename_2string
Campos extraídosanalysis_resultobject
Documento reconhecidoanalysis_result.is_validboolean
Nomeanalysis_result.nomestring
Filiação 1analysis_result.filiacao1string
Filiação 2analysis_result.filiacao2string
Cidade de nascimentoanalysis_result.birth_citystring
UFanalysis_result.ufstring

Exemplo de resposta

{
  "success": true,
  "code": 200,
  "code_message": "A requisição foi processada com sucesso.",
  "errors": [],
  "header": null,
  "data_count": 1,
  "data": [
    {
      "requested_document_type": "RG-FRONT",
      "document_type": "RG-TOTAL",
      "filename": "rg-frente.jpg",
      "filename_2": "rg-verso.jpg",
      "analysis_result": {
        "is_valid": true,
        "nome": "FULANO DE TAL DA SILVA",
        "filiacao1": "JOSE DE TAL DA SILVA",
        "filiacao2": "MARIA DE TAL DA SILVA",
        "birth_city": "SAO PAULO",
        "uf": "SP"
      }
    }
  ]
}

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

KYC com RG

Ler os dois lados do RG numa chamada só, com a orientação conferida — o usuário fotografa na ordem que quiser.

Identificação no onboarding

Confirmar nome e filiação do titular no primeiro passo do cadastro, antes da comparação facial.

SUA PRÓXIMA ENTREGA

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

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