Pular para o conteúdo principal

Captura de documento (IdentificationDocumentCapture) - Rest PKI Core

  • Realiza a captura da imagem de um documento de identificação, incluindo frente, verso e recorte da imagem do rosto.
dica

Um documento também pode ser capturado na mesma sessão de prova de vida ou cadastro biométrico, utilizando o parâmetro CaptureIdentificationDocument. Nesses casos, também é feita uma comparação da foto da pessoa do documento com a biometria facial capturada.

Criação da sessão

Para criar uma sessão de liveness, pode-se utilizar o método StartIdentificationDocumentCaptureSessionAsync das ClientLibs, passando como parâmetro StartIdentificationDocumentCaptureSessionRequest.

Esse método realiza uma requisição POST para a rota /api/bio/sessions/id-capture (Swagger).

Parâmetros (StartIdentificationDocumentCaptureSessionRequest)

ParâmetroObrigatório?TipoDescrição
ReturnUrlCondicional*StringURL para redirecionar o usuário após a biometria. (veja mais detalhes)
TrustedOriginCondicional*StringURL do seu site onde o Widget está incorporado. (veja mais detalhes)
PlatformPreferenceNãoEnumDefine a preferência de plataforma e configuração do QRCode. (veja mais detalhes)
SubjectIdentifierNãoStringIdentificador externo do usuário. (veja mais detalhes)
dica

*Você deve informar pelo menos um dos dois parâmetros: Veja a diferença entre ReturnUrl e TrustedOrigin

  • ReturnUrl (para redirecionamento)
  • TrustedOrigin (para widget)

Os parâmetros não obrigatórios podem ser deixados em branco (null) e serão automaticamente preenchidos pelos padrões do sistema.

Exemplo de resposta da requisição:

{
"sessionType": "IdentificationDocumentCapture",
"sessionId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"sessionUrl": "string"
}

Integração do Frontend

Uma vez que o seu backend obteve a sessionUrl da API, você deve encaminhá-la para o seu frontend. A partir daí, o fluxo segue de acordo com a sua escolha de interface:

  • Fluxo Incorporado (Widget): Sua aplicação passa a URL para o componente Javascript inicializar a captura dentro da sua página.

  • Fluxo de Redirecionamento: Sua aplicação direciona o usuário para o link recebido, onde a captura ocorrerá.

dica

Em caso de dúvidas sobre a implementação de cada modelo, consulte nossa documentação de Fluxos de FrontEnd.


Completando a sessão

Para concluir uma sessão de liveness, pode-se utilizar o método CompleteIdentificationDocumentCaptureSessionAsync das ClientLibs, passando como parâmetro CompleteBioSessionRequest.

Este método é o ponto final. O ticket pode ser usado apenas uma vez.

dica

Utilize o Complete apenas ao final do processo, enviando o Ticket recebido para validar o resultado e encerrar a sessão.

Exemplo de resposta da requisição:

{
"subjectIdentifier": "string",
"idCaptureStatus": {
"success": true,
"matchedFace": true,
"matchedFaceLevel": 0
},
"sessionId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"success": true,
"resultDataAvailable": true
}

Detalhes dos campos:

  • subjectIdentifier: Identificador externo do usuário. (veja mais detalhes)
  • idCaptureStatus:
    • success: Informa se a captura do documento foi bem-sucedida.
    • matchedFace: Indica se houve correspondência entre o rosto da pessoa e a foto no documento.
    • matchedFaceLevel: Nível de similaridade entre o rosto e o documento (MatchLevel).
  • sessionId: Identificador único da sessão.
  • success: Resultado geral da sessão.
  • resultDataAvailable: Se true, indica que você pode buscar as fotos coletadas na sessão.

Consultando o status da sessão

Você pode consultar o estado atual de uma sessão a qualquer momento utilizando o seu sessionId. Isso é útil para monitorar se o usuário já iniciou ou expirou a sessão antes mesmo de ela ser concluída.

dica

Utilize o GetIdentificationDocumentCaptureSessionStatusAsync para acompanhar o progresso de uma sessão ativa através do seu SessionId

O resultado da requisição para esse endpoint é exatamente igual ao exemplo de retorno da requisição CompleteIdentificationDocumentCaptureSessionAsync.