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

- [/es/](/es/)
- [SDKs y Herramientas](/es/developers/sdks-and-tools/overview)
- [iOS SDK](/es/developers/sdks-and-tools/ios/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 completamente por el SDK — no es necesario implementar la secuencia de pasos en tu aplicación.

Inicio de un recorrido de usuario
**Paso 1** — Implementar `AcessoBioManagerDelegate``AcessoBioManagerDelegate` gestiona los callbacks del ciclo de vida del SDK. Implementa los cuatro métodos obligatorios:

| Método | Cuándo se llama |
| --- | --- |
| `onErrorAcessoBioManager(error)` | Ocurrió un error durante la operación del SDK |
| `onUserClosedCameraManually()` | El usuario cerró la cámara manualmente |
| `onSystemClosedCameraTimeoutSession()` | Se alcanzó el límite de sesión de 40 segundos |
| `onSystemChangedTypeCameraTimeoutFaceInference()` | No se detectó ningún rostro durante 13 segundos — cambia a 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 obligatoriosLos cuatro métodos de delegate mencionados anteriormente deben crearse en tu proyecto (aunque no tengan ninguna lógica). De lo contrario, el proyecto no compilará correctamente.
**Paso 2** — Implementar `AcessoBioSelfieDelegate`Sobrescribe los métodos para gestionar los callbacks del resultado de captura del recorrido:MétodoDescripción`onSuccessSelfie(result)`Imagen capturada correctamente — devuelve `SelfieResult` para llamadas posteriores a la API REST`onSuccess(result)`Journey completado exitosamente — devuelve un `processId` utilizado para consultar los resultados de validación`onErrorSelfie(errorBio)`Captura fallida — devuelve un `ErrorBio` con detalles del errorSwiftObjective-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
```

**Paso 3** — Llamar a `prepareSelfieCamera` y `open`Llama a `prepareSelfieCamera` pasando la configuración del SDK. Cuando la cámara esté lista, el evento `onCameraReady` se dispara — abre la cámara mediante el método `open()`, pasando el `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(cameraOpener)` — la cámara está lista; llama a `open(self, webAppToken:)`.
`onCameraFailed(message)` — la preparación de la cámara falló (`ErrorPrepare` es una extensión 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 el manejo completo del resultado, consulta [Recibir el resultado](/es/developers/sdks-and-tools/ios/capture-flow/receiving-the-result).Última actualización el 8 oct 2026**