---
title: Recorridos de usuario
canonical: https://developer.unico.io/es/dual-api/developers/sdks-and-tools/android/capture-flow/capture-types/user-journeys
locale: es
generated_by: markdown-export
---

Los recorridos de usuario son sesiones de captura de múltiples pasos orquestadas por el SDK en conjunto con el flujo configurado. Por ejemplo, un flujo con Detección de Vida + Score de Riesgo + Captura de Documentos + Firma Electrónica ejecuta selfie, captura de documento y firma en una sola sesión.

:::secondary[Productos]
Los recorridos disponibles dependen del flujo configurado para tu integración. Consulta [Productos](/products) para ver el mapeo completo de producto → flujo → capacidad.
:::

## Cómo funciona

El SDK:

1. Lee la configuración del flujo proporcionada durante la inicialización.
2. Orquesta la secuencia de capturas requeridas para el flujo (selfie, documento, firma).
3. Devuelve un `processId` mediante `onSuccess` cuando el journey finaliza. Para el paso de selfie, los datos de imagen (`base64` / `encrypted`) también se devuelven mediante `onSuccessSelfie`. Las capturas de documentos y firma son procesadas internamente por el SDK — no se expone ningún artefacto por paso al cliente.

La orquestación es gestionada en su totalidad por el SDK — no es necesario implementar la secuencia de pasos en tu aplicación.

## Inicio de un recorrido de usuario

****Paso 2** — Implementar `iAcessoBioSelfie`**

`iAcessoBioSelfie` gestiona los callbacks del resultado de captura del recorrido:

  | Método | Descripción |
  |---|---|
  | `onSuccessSelfie(result)` | Imagen capturada correctamente — devuelve `ResultCamera` para las llamadas posteriores a la REST API |
  | `onSuccess(result)` | Journey completado exitosamente — devuelve `SuccessResult` con un `processId` utilizado para consultar los resultados de la validación |
  | `onErrorSelfie(errorBio)` | Captura fallida — devuelve un `ErrorBio` con los detalles del error |

  ### Kotlin

    ```kotlin
    val cameraListener: iAcessoBioSelfie = object : iAcessoBioSelfie {
      override fun onSuccessSelfie(result: ResultCamera?) { }
      override fun onSuccess(result: SuccessResult) { }
      override fun onErrorSelfie(errorBio: ErrorBio?) { }
    }
    ```

### Java

    ```java
    iAcessoBioSelfie cameraListener = new iAcessoBioSelfie() {
      @Override
      public void onSuccessSelfie(ResultCamera result) { }

      @Override
      public void onSuccess(SuccessResult result) { }

      @Override
      public void onErrorSelfie(ErrorBio errorBio) { }
    };
    ```

****Paso 3** — Llamar a `prepareCamera`**

Con `unicoCheckCamera` inicializado y ambos listeners implementados, llama a `prepareCamera` pasando la configuración del SDK, un `CameraListener` y tu `webAppToken`:

  :::note[webAppToken]
  El `webAppToken` es el campo `process.webAppToken` devuelto por `POST /client/v1/process` al crear el proceso en tu backend. Ver [Crear Proceso](/dual-api/developers/api-reference/web-sdk/post-process).
  :::

  - `onCameraReady` — la cámara está lista; llama a `open` pasando el `cameraListener` y tu `webAppToken`.
  - `onCameraFailed` — la preparación de la cámara falló; gestiona el mensaje de error.

  ### Kotlin

    ```kotlin
    unicoCheckCamera.prepareCamera(unicoConfig, object : CameraListener {
      override fun onCameraReady(cameraOpener: UnicoCheckCameraOpener.Camera?) {
        cameraOpener?.open(cameraListener, "your_web_app_token")
      }

      override fun onCameraFailed(message: String?) {
        Log.e(TAG, message)
      }
    })
    ```

### Java

    ```java
    unicoCheckCamera.prepareCamera(unicoConfig, new CameraListener() {
      @Override
      public void onCameraReady(UnicoCheckCameraOpener.Camera cameraOpener) {
        cameraOpener.open(cameraListener, "your_web_app_token");
      }

      @Override
      public void onCameraFailed(String message) {
        Log.e(TAG, message);
      }
    });
    ```

Para el manejo completo del resultado, consulta [Recibir el resultado](/developers/sdks-and-tools/android/capture-flow/receiving-the-result).