Guia de tratamento de retornos

Apresenta as informações necessárias sobre os diferentes tipos de retornos que o SDK para iOS fornece.

Os retornos estão explicados em detalhes, incluindo: estrutura, significado e como utilizá-los para aprimorar a funcionalidade e a jornada do usuário em seu aplicativo.

Liveness 3D

Implemente o protocolo Liveness3DDelegate para ser notificado sobre a conclusão da prova de vida.

Exemplo de implementação

import OILiveness3D
import UIKit

class MyLiveness3DViewController: UIViewController { ... }

extension MyLiveness3DViewController: Liveness3DDelegate {
  
    func handleLiveness3DValidation(validateModel: Liveness3DSuccess) {
        // Seu código ...
    }
    
    func handleLiveness3DError(error: Liveness3DError) {
        // Seu código ...
    }
}

Sucesso

O método handleLiveness3DValidation(validateModel:) assegura que o desafio de prova de vida foi concluído sem erros e fornece um objeto do tipo Liveness3DSuccess que indica o resultado da validação biométrica.

O objeto recebido por este método possui as seguintes propriedades:

PropriedadeDescrição
validIndica a autenticidade das informações verificadas na prova de vida.
codIDCódigo identificador do tipo da transação.
causeIndica por qual motivo o processo finalizou sem sucesso (Biometria ou Prova de Vida).
protocoloProtocolo da transação de prova de vida.
scanResultBlobÉ um blob criptografado para uso do SDK no tratamento do retorno.

Tabela codID

CódigoDescrição
1.0Prova de Vida Aprovada
300.1Prova de Vida Reprovada (face não identificada; necessário retentativa)
300.2Prova de Vida Reprovada (usuário bloqueado; retentativa não disponível)

Exemplo dos valores de resposta

{
    "valid": false,
    "codID": 300.1,
    "cause": "PROVA DE VIDA",
    "protocol": "201900039067",
    "scanResultBlob": "AAAAAaaaaa123456zzzzzzz"
}

Erro

O método handleLiveness3DError(error:) é chamado em caso de alguma falha no desafio de prova de vida, recebendo um objeto do tipo Liveness3DError que indica o erro ocorrido.

As propriedades encontradas no objeto do tipo sdfa estão listadas na tabela abaixo:

AtributoDescrição
codeRepresentação do erro em valor numérico.
typeObjeto do tipo Liveness3DErrorCode que indica o erro capturado.
messageTexto que contém uma mensagem explicativa sobre o erro.

Os casos de erro encontrados no objeto recebido por este método estão listados na tabela abaixo:

CodeTypeMessage
0invalidAppKeyApp Key inválido.
1noCameraPermissionNão foi concedida permissão de acesso à câmera do aparelho.
2noInternetConnectionSem conexão à Internet.
3livenessNotCompletedProva de vida não foi completada.
4livenessNotInitializedLiveness não foi inicializado corretamente.
5transactionNotCompletedNão foi possível concluir a transação, tente novamente.
6genericExceptionErro inesperado, tente novamente.

Liveness 2D

Implemente o protocolo FaceCaptchaDelegate para ser notificado sobre a conclusão da prova de vida.

Exemplo de implementação

import OILiveness2D
import UIKit

class MyLiveness2DViewController: UIViewController { ... }

extension MyLiveness2DViewController: FaceCaptchaDelegate {
  
    func handleSuccess(model: FaceCaptchaSuccessModel) {
        // Seu código ...
    }
    
    func handleError(error: FaceCaptchaError) {
        // Seu código ...
    }
    
    func handleCanceled() {
        // Seu código ...
    }
}

Sucesso

O método handleSuccess(model:) assegura que o desafio de prova de vida foi concluído sem erros e recebe um objeto do tipo FaceCaptchaSuccessModel que indica o resultado da validação biométrica.

O objeto recebido por este método possui as seguintes propriedades:

PropriedadeDescrição
validIndica a autenticidade das informações verificadas na prova de vida.
codIDCódigo identificador do tipo da transação.
causeIndica por qual motivo o processo finalizou sem sucesso (Biometria ou Prova de Vida).
uidProtocolProtocolo da transação de prova de vida.

Tabela de codID

CódigoDescrição
1.0Prova de Vida Aprovada
300.1Prova de Vida Reprovada (face não identificada; necessário retentativa)
300.2Prova de Vida Reprovada (usuário bloqueado; retentativa não disponível)

Exemplo dos valores de resposta

{
    "valid": false,
    "codID": 300.1,
    "cause": "PROVA DE VIDA",
    "uidProtocol": "201900039067"
}

Erro

O método handleError(error:) é chamado em caso de alguma falha no desafio de prova de vida, recebendo um objeto do tipo FaceCaptchaError que indica o erro ocorrido.

Os casos de erro encontrados no objeto recebido por este método estão listados na tabela abaixo:

ErroDescrição
invalidAppKeyApp Key inválido.
certifaceOffCertiface offline.
noCameraPermissionNão foi concedida permissão de acesso à câmera do aparelho.
noInternetConnectionDispositivo sem conexão à Internet.
phoneCallInProgressChamada telefônica em andamento. Não é possível iniciar o desafio durante uma chamada telefônica.
validationErrorErro na requisição de validação dos desafios.
challengeInterruptedApp foi minimizado durante o uso do FaceCaptcha, isso faz com que o desafio seja encerrado.
requestErrorErro na comunicação com o servidor.
errorCameraSetupErro ao configurar câmera
errorCapturePictureErro ao capturar foto.

Cancelamento

O método handleCanceled() indica que em algum momento da jornada de captura de documentos o usuário optou por cancelar esse procedimento clicando no botão de fechar ou cancelar o fluxo.


Doc Core

Implemente o protocolo DocumentscopyDelegate para ser notificado sobre a conclusão da documentoscopia.

Exemplo de implementação

import OILiveness2D
import UIKit

class MyDocCoreViewController: UIViewController { ... }

extension MyDocCoreViewController: DocumentscopyDelegate {
  
    func handleDocumentscopyCompleted() {
        // Seu código ...
    }
    
    func handleDocumentscopyError(error: DocumentscopyError) {
        // Seu código ...
    }
    
    func handleDocumentscopyCanceled() {
        // Seu código ...
    }
}

Sucesso

O método handleDocumentscopyCompleted() assegura que o envio dos documentos foi concluído sem erros.

Erro

O método handleDocumentscopyError(error:) é chamado em caso de alguma falha no processo de captura de documento, recebendo um objeto do tipo DocumentscopyError que indica o erro ocorrido.

Os casos de erro encontrados no objeto recebido por este método estão listados na tabela abaixo:

ErroDescrição
invalidAppKeyApp Key inválido.
certifaceOffCertiface offline.
cameraSetupFailedErro ao configurar a câmera.
noCameraPermissionNão foi concedida permissão de acesso à câmera do aparelho.
errorCapturePictureErro ao capturar foto.
noInternetConnectionDispositivo sem conexão à Internet.
validationErrorErro na requisição de validação dos desafios.
faceCaptchaNotExecutedFaceCaptcha não foi realizada.

Cancelamento

O método handleDocumentscopyCanceled() indica que em algum momento da jornada de captura de documentos o usuário optou por cancelar esse procedimento clicando no botão de fechar ou cancelar o fluxo.