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

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.

:::secondary[Produtos]
As jornadas disponíveis dependem do fluxo configurado para a sua integração. Consulte [Produtos](/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 2** — Implemente `AcessoBioSelfieDelegate`**

Sobrescreva os métodos para tratar os callbacks de resultado da captura da jornada:

  | Método | Descriçã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 erro |

  ### Swift

    ```swift
    class ViewController: UIViewController, AcessoBioManagerDelegate,
      SelfieCameraDelegate, AcessoBioSelfieDelegate {

      func onSuccessSelfie(_ result: SelfieResult!) { }
      func onSuccess(_ result: SuccessResult!) { }
      func onErrorSelfie(_ errorBio: ErrorBio!) { }
    }
    ```

### Objective-C

    ```objectivec
    @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`:

  :::info[webAppToken]
  O `webAppToken` é o campo `process.webAppToken` retornado por `POST /client/v1/process` ao criar o processo no seu backend. Consulte [Criar Processo](/dual-api/developers/api-reference/web-sdk/post-process).
  :::

  - `onCameraReady(cameraOpener)` — câmera pronta; chame `open(self, webAppToken:)`.
  - `onCameraFailed(message)` — falha na preparação da câmera (`ErrorPrepare` é uma extensão de `ErrorBio`).

  ### Swift

    ```swift
    @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!) { }
    ```

### Objective-C

    ```objectivec
    - (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](/developers/sdks-and-tools/ios/capture-flow/receiving-the-result).