---
title: Jornadas do Usuário
canonical: https://developer.unico.io/pt-BR/developers/sdks-and-tools/ios/capture-flow/user-journeys
locale: pt-BR
generated_by: markdown-export
---

- [/pt-BR/](/pt-BR/)
- [SDKs e Ferramentas](/pt-BR/developers/sdks-and-tools/overview)
- [iOS SDK](/pt-BR/developers/sdks-and-tools/ios/requirements)
- Fluxo de captura
- Jornadas do Usuário

# Jornadas do Usuário

As Jornadas do Usuário são sessões de captura em múltiplas etapas orquestradas pelo SDK em conjunto com o fluxo configurado. Por exemplo, um fluxo com Prova de Vida + Score de Risco + Captura de Documentos + Assinatura Eletrônica executa selfie, captura de documento e assinatura em uma única sessão.

ProdutosAs jornadas disponíveis dependem do fluxo configurado para a sua integração. Consulte [Produtos](/pt-BR/products) para o mapeamento completo de produto → fluxo → capacidade.

Como funciona
O SDK:

1. Lê a configuração de fluxo fornecida durante a inicialização.
2. Orquestra a sequência de capturas necessárias para o fluxo (selfie, documento, assinatura).
3. Retorna um `processId` via `onSuccess` quando o journey é concluído. Para a etapa de selfie, os dados de imagem (`base64` / `encrypted`) também são retornados via `onSuccessSelfie`. As capturas de documento e assinatura são processadas internamente pelo SDK — nenhum artefato por etapa é exposto ao cliente.

A orquestração é tratada inteiramente pelo SDK — você não precisa implementar a sequência de etapas no seu app.

Iniciando uma Jornada do Usuário
**Passo 1** — Implementar `AcessoBioManagerDelegate``AcessoBioManagerDelegate` trata os callbacks de ciclo de vida do SDK. Implemente os quatro métodos obrigatórios:

| Método | Quando é chamado |
| --- | --- |
| `onErrorAcessoBioManager(error)` | Ocorreu um erro durante a operação do SDK |
| `onUserClosedCameraManually()` | O usuário fechou a câmera manualmente |
| `onSystemClosedCameraTimeoutSession()` | O limite de 40 segundos da sessão foi atingido |
| `onSystemChangedTypeCameraTimeoutFaceInference()` | Nenhum rosto detectado por 13 segundos — muda para captura manual |

- Swift
- Objective-C

```
class ViewController: UIViewController, AcessoBioManagerDelegate {**  var unicoCheck: AcessoBioManager!  override func viewDidLoad() {    super.viewDidLoad()    unicoCheck = AcessoBioManager(viewController: self)  }  func onErrorAcessoBioManager(_ error: ErrorBio!) { }  func onUserClosedCameraManually() { }  func onSystemClosedCameraTimeoutSession() { }  func onSystemChangedTypeCameraTimeoutFaceInference() { }}
```

```
@implementation ViewController: UIViewController- (void)viewDidLoad {    [super viewDidLoad];    unicoCheck = [[AcessoBioManager alloc]initWithViewController:self];}- (void)onErrorAcessoBioManager:(ErrorBio *)error { }- (void)onSystemChangedTypeCameraTimeoutFaceInference { }- (void)onSystemClosedCameraTimeoutSession { }- (void)onUserClosedCameraManually { }@end
```

Métodos de delegate obrigatóriosTodos os quatro métodos de delegate acima devem ser criados no seu projeto (mesmo sem lógica alguma). Caso contrário, o projeto não compilará com sucesso.
**Passo 2** — Implemente `AcessoBioSelfieDelegate`Sobrescreva os métodos para tratar os callbacks de resultado da captura da jornada:MétodoDescrição`onSuccessSelfie(result)`Imagem capturada com sucesso — retorna `SelfieResult` para chamadas subsequentes à API REST`onSuccess(result)`Journey concluído com sucesso — retorna um `processId` utilizado para consultar os resultados de validação`onErrorSelfie(errorBio)`Captura falhou — retorna um `ErrorBio` com detalhes do erroSwiftObjective-C```
class ViewController: UIViewController, AcessoBioManagerDelegate,  SelfieCameraDelegate, AcessoBioSelfieDelegate {  func onSuccessSelfie(_ result: SelfieResult!) { }  func onSuccess(_ result: SuccessResult!) { }  func onErrorSelfie(_ errorBio: ErrorBio!) { }}
```

```
@interface ViewController: UIViewController <AcessoBioManagerDelegate,  SelfieCameraDelegate, AcessoBioSelfieDelegate>@end@implementation ViewController- (void)onSuccessSelfie:(SelfieResult *)result { }- (void)onSuccess:(SuccessResult *)result { }- (void)onErrorSelfie:(ErrorBio *)errorBio { }@end
```

**Passo 3** — Chame `prepareSelfieCamera` e `open`Chame `prepareSelfieCamera` passando a configuração do SDK. Quando a câmera estiver pronta, o evento `onCameraReady` é disparado — abra a câmera pelo método `open()`, passando o `webAppToken`:webAppTokenO `webAppToken` é o campo `process.webAppToken` retornado por `POST /client/v1/process` ao criar o processo no seu backend. Consulte Criar Processo.
`onCameraReady(cameraOpener)` — câmera pronta; chame `open(self, webAppToken:)`.
`onCameraFailed(message)` — falha na preparação da câmera (`ErrorPrepare` é uma extensão de `ErrorBio`).
SwiftObjective-C```
@IBAction func openCamera(_ sender: Any) {  unicoCheck.build().prepareSelfieCamera(self, config: YourUnicoConfigClass())}func onCameraReady(_ cameraOpener: AcessoBioCameraOpenerDelegate!) {  cameraOpener.open(self, webAppToken: "your_web_app_token")}func onCameraFailed(_ message: ErrorPrepare!) { }
```

```
- (IBAction)openCamera:(UIButton *)sender {    [[unicoCheck build] prepareSelfieCamera:self config:[YourUnicoConfigClass new]];}- (void)onCameraReady:(id)cameraOpener {    [cameraOpener open:self webAppToken:@"your_web_app_token"];}- (void)onCameraFailed:(ErrorPrepare *)message { }
```

Para o tratamento completo do resultado, consulte [Recebendo o resultado](/pt-BR/developers/sdks-and-tools/ios/capture-flow/receiving-the-result).Última atualização em 8 de out. de 2026**