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

- [/es/](/es/)
- [SDKs y Herramientas](/es/developers/sdks-and-tools/overview)
- [Android SDK](/es/developers/sdks-and-tools/android/requirements)
- Flujo de captura
- Recorridos de usuario

# Recorridos de usuario

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.

ProductosLos recorridos disponibles dependen del flujo configurado para tu integración. Consulta [Productos](/es/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 1** — Implementar `AcessoBioListener``AcessoBioListener` gestiona los callbacks del ciclo de vida del SDK. Implemente los cuatro métodos obligatorios:

| Método | Cuándo se llama |
| --- | --- |
| `onErrorAcessoBio(errorBio)` | Ocurrió un error durante la operación del SDK |
| `onUserClosedCameraManually()` | El usuario cerró la cámara manualmente |
| `onSystemClosedCameraTimeoutSession()` | Se alcanzó el límite de tiempo de sesión — ver [Límites de sesión](/es/developers/sdks-and-tools/android/requirements#session-limits) |
| `onSystemChangedTypeCameraTimeoutFaceInference()` | Se alcanzó el límite de tiempo de inferencia facial — cambia a captura manual — ver [Límites de sesión](/es/developers/sdks-and-tools/android/requirements#session-limits) |

- Kotlin
- Java

```
val callback = object : AcessoBioListener {**  override fun onErrorAcessoBio(errorBio: ErrorBio?) { }  override fun onUserClosedCameraManually() { }  override fun onSystemClosedCameraTimeoutSession() { }  override fun onSystemChangedTypeCameraTimeoutFaceInference() { }}
```

```
AcessoBioListener callback = new AcessoBioListener() {  @Override  public void onErrorAcessoBio(ErrorBio errorBio) { }  @Override  public void onUserClosedCameraManually() { }  @Override  public void onSystemClosedCameraTimeoutSession() { }  @Override  public void onSystemChangedTypeCameraTimeoutFaceInference() { }};
```

**Paso 2** — Implementar `iAcessoBioSelfie``iAcessoBioSelfie` gestiona los callbacks del resultado de captura del recorrido:MétodoDescripció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 errorKotlinJava```
val cameraListener: iAcessoBioSelfie = object : iAcessoBioSelfie {  override fun onSuccessSelfie(result: ResultCamera?) { }  override fun onSuccess(result: SuccessResult) { }  override fun onErrorSelfie(errorBio: ErrorBio?) { }}
```

```
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`:webAppTokenEl `webAppToken` es el campo `process.webAppToken` devuelto por `POST /client/v1/process` al crear el proceso en tu backend. Ver Crear Proceso.
`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.
KotlinJava```
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)  }})
```

```
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](/es/developers/sdks-and-tools/android/capture-flow/receiving-the-result).Última actualización el 8 oct 2026**