For the complete documentation index, see llms.txt. This page is also available as Markdown.

Captura de documentos

Este componente precisa de uma versão mínima do iOS9

Introdução

Este componente é responsável pela captura e análise de documentos de identidade, permitindo extrair informações estruturadas e obter imagens processadas do documento.

Suas principais funcionalidades são:

  • Gerenciamento interno da câmera e das permissões.

  • Assistência guiada para a captura do anverso e verso do documento.

  • Extração automática de dados por meio de OCR.

  • Obtenção de imagens processadas do documento e de elementos associados (rosto, assinatura etc.).

  • Alto nível de configuração: países, idiomas, tipos e modelos de documentos.


Dependências

Para evitar conflitos e problemas de compatibilidade, se o projeto contiver versões antigas de bibliotecas da Facephi (Widgets), elas devem ser removidas por completo antes de instalar os componentes de SDK Mobile.

CocoaPods

  • As bibliotecas da Facephi são distribuídas remotamente por meio de gerenciadores de dependências. As dependências obrigatórias que deverão ter sido instaladas previamente (adicionando-as no arquivo Podfile do projeto) são:

pod 'FPHISDKMainComponent', '~> $VERSION'
  • Para instalar o componente SelphID, adicione a dependência correspondente no Podfile do projeto.

Swift Package Manager (SPM)

Se você usa SPM, certifique-se de que as dependências obrigatórias do SDK estejam previamente instaladas.

Para instalar o componente SelphID, inclua-o nos módulos do projeto.


Permissões

No aplicativo cliente onde os componentes serão integrados, é necessário incorporar o seguinte elemento no arquivo Info.plist:

Controladores disponíveis

Controlador

Descrição

SelphIDController

Controlador principal de reconhecimento de documentos


Recepção de erros

finishStatus: Indicará se a operação foi concluída corretamente. Valores possíveis:

errorType: Erros próprios do widget.

Em iOS, se for interpolado diretamente, mostrará SELPHID_TIMEOUT. Em iOS não existe um caso TIMEOUT sem prefixo.

Para serializar o erro, deve-se usar:

Isso retorna SPD_TIMEOUT tanto se o enum for SDK_TIMEOUT quanto SELPHID_TIMEOUT.

Comportamento em Timeout

Em um Timeout, o resultado tem:

  • finishStatus: STATUS_ERROR

  • data: nil (não é retornado um SelphIDResult)

  • errorType: .SELPHID_TIMEOUT(UIImage?, UIImage?)

O caso SELPHID_TIMEOUT preserva, quando disponíveis, as imagens brutas do documento capturadas antes do Timeout (rawFrontDocument e rawBackDocument do widget). Essas informações não faz parte de data nem é retornada como rawFrontDocument / rawBackDocument do resultado de sucesso; só pode ser lida em iOS por meio de pattern matching sobre errorType:

Se chegar como SELPHID_TIMEOUT, as imagens associadas podem ser nil quando o Timeout ocorre pela via de erro do widget (FWMETimeout) em vez do delegate captureTimeout().

Em iOS, propriedades como timeoutDiagnostic ou captureProgress não são incluídas no SdkResult de erro. O componente usa captureProgress internamente para exibir a mensagem da tela de diagnóstico quando showDiagnostic está ativo.

Se showDiagnostic estiver ativo, o callback output não é invocado no instante do Timeout: primeiro é exibida a tela de diagnóstico e o resultado é entregue ao clicar em fechar. Com showDiagnostic desativado, o callback é executado imediatamente.

A lista a seguir inclui erros do contrato multiplataforma; alguns não ocorrem em iOS (por exemplo, SPD_MOVE_FAIL).

  • SPD_APPLICATION_CONTEXT_ERROR: O contexto de aplicação necessário é nulo.

  • SPD_BAD_EXTRACTOR_CONFIGURATION_ERROR: Widget: Configuração do extrator incorreta

  • SPD_CAMERA_PERMISSION_DENIED: O usuário recusou as permissões.

  • SPD_CANCEL_BY_USER: O usuário cancelou o processo.

  • SPD_CANCEL_LAUNCH: Foi feita uma cancelamento geral do SDK.

  • SPD_COMPONENT_LICENSE_ERROR: A licença do componente não está correta.

  • SPD_CONTROL_NOT_INITIALIZATED_ERROR: Widget: Erro de inicialização

  • SPD_EMPTY_LICENSE: O String de licença está vazio.

  • SPD_EXTRACTION_LICENSE_ERROR: Widget: Erro de licença

  • SPD_HARDWARE_ERROR: Widget: Erro de hardware

  • SPD_INITIALIZATION_ERROR: Erro de inicialização.

  • SPD_MOVE_FAIL: O usuário não se moveu conforme foi especificado no processo.

  • SPD_NO_DATA_ERROR: Os dados de entrada são nulos.

  • SPD_OPERATION_NOT_CREATED: Não há nenhuma operação em andamento.

  • SPD_RESOURCES_NOT_FOUND: O zip de recursos não foi encontrado

  • SPD_SETTINGS_PERMISSION_ERROR: Widget: Erro de permissões

  • SPD_TIMEOUT: Timeout no processo SELPHID_TIMEOUT do enum).

  • SPD_UNEXPECTED_CAPTURE_ERROR: Widget: Erro na captura

  • SPD_UNKNOWN_ERROR: Erro desconhecido

  • SPD_WIDGET_RESULT_DATA_ERROR: Erro nos dados de saída do widget

Atualizado