> For the complete documentation index, see [llms.txt](https://docs.facephi.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.facephi.com/sdks/sdk-mobile/ios-sdk/modulos/captura-de-documentos.md).

# Captura de documentos - SelphID

## Introducción

Este componente se encarga de la **captura y análisis de documentos de identidad**, permitiendo extraer información estructurada y obtener imágenes procesadas del documento.

Sus principales funcionalidades son:

* Gestión interna de cámara y permisos.
* Asistencia guiada para la captura del **anverso y reverso** del documento.
* Extracción automática de datos mediante OCR.
* Obtención de imágenes procesadas del documento y de elementos asociados (rostro, firma, etc.).
* Alto nivel de configuración: países, idiomas, tipos y modelos de documentos.

Para una integración básica del SDK, consulta el apartado [Lanzamiento simplificado](/sdks/sdk-mobile/ios-sdk/inicializacion/lanzamiento-simplificado.md). En esta página se detalla la información específica para el uso de este componente.

***

## Dependencias

Para evitar conflictos y problemas de compatibilidad, si el proyecto contiene versiones antiguas de librerías de Facephi (Widgets), estas deben eliminarse **por completo** antes de instalar los componentes de **SDK Mobile**.

### **Cocoapods**

* Las librerías de Facephi se distribuyen de forma remota mediante gestores de dependencias. Las dependencias **obligatorias** que deberán haberse instalado previamente (añadiéndolas en el fichero Podfile del proyecto) son:

```swift
pod 'FPHISDKMainComponent', '~> $VERSION'
```

* Para instalar el componente **SelphID**, añade la dependencia correspondiente en el `Podfile` del proyecto.

```swift
pod 'FPHISDKSelphIDComponent', '~> $VERSION'
```

### Swift Package Manager (SPM)

Si utilizas **SPM**, asegúrate de que las dependencias obligatorias del SDK estén previamente instaladas.

```swift
//HTTPS
https://github.com/facephi-clienters/SDK-SdkPackage-SPM.git
//SSH
git@github.com:facephi-clienters/SDK-SdkPackage-SPM.git
```

Para instalar el componente **SelphID**, inclúyelo en los módulos del proyecto.

<pre class="language-swift"><code class="lang-swift"><strong>//HTTPS
</strong>https://github.com/facephi-clienters/SDK-SelphidComponentLight.git
//SSH
git@github.com:facephi-clienters/SDK-SelphidComponentLight.git
</code></pre>

***

## Permisos

En la aplicación cliente donde se vayan a integrar los componentes es necesario incorporar el siguiente elemento en el fichero **Info.plist**:

```
Es necesario permitir el uso de la cámara (Privacy - Camera Usage Description)
```

## Controladores disponibles

| **Controlador**   | **Descripción**                                       |
| ----------------- | ----------------------------------------------------- |
| SelphIDController | Controlador principal de reconocimiento de documentos |

***

## Lanzamiento simplificado

Una vez iniciado el SDK y creada una nueva operación, el componente puede lanzarse utilizando cualquiera de sus controladores disponibles, según la funcionalidad requerida.

```swift
let controller = SelphIDController(data: selphIDConfigurationData, output: { sdkResult in
        // Do whatever with the result
        ...
    }, viewController: viewController)
SDKController.shared.launch(controller: controller)
```

***

## Recepción del resultado <a href="#recepcion-del-resultado" id="recepcion-del-resultado"></a>

El resultado del lanzamiento se devuelve en un objeto `SdkResult`, que contiene:

* `selphIDResult.finishStatus`
* `selphIDResult.errorType`
* `selphIDResult.data`

***

### Recepción de errores <a href="#recepcion-de-errores" id="recepcion-de-errores"></a>

*finishStatus*: Que nos indicará si la operación ha finalizado correctamente. Posibles valores:

```swift
FinishStatus.STATUS_OK
FinishStatus.STATUS_ERROR
```

*errorType*: Errores propios del widget.

En iOS, `errorType` es un `ErrorType` del SDK. En un timeout, el enum Swift puede ser `.SDK_TIMEOUT`, `.SELPHID_TIMEOUT(UIImage?, UIImage?)` o, si se interpola directamente, mostrar nombres como `SDK_TIMEOUT` o `SELPHID_TIMEOUT`. En iOS no existe un caso `TIMEOUT` sin prefijo.

Para serializar el error debe utilizarse:

```swift
sdkResult.errorType.toString(addComponentPrefix: "SPD_")
```

Esto devuelve `SPD_TIMEOUT` tanto si el enum es `SDK_TIMEOUT` como `SELPHID_TIMEOUT`.

#### Comportamiento en timeout

En un timeout, el resultado tiene:

* `finishStatus`: `STATUS_ERROR`
* `data`: `nil` (no se devuelve un `SelphIDResult`)
* `errorType`: `.SDK_TIMEOUT` o `.SELPHID_TIMEOUT(UIImage?, UIImage?)`

El caso `SELPHID_TIMEOUT` conserva, cuando están disponibles, las imágenes crudas del documento capturadas antes del timeout (`rawFrontDocument` y `rawBackDocument` del widget). Esa información **no** forma parte de `data` ni se devuelve como `rawFrontDocument` / `rawBackDocument` del resultado de éxito; solo puede leerse en iOS mediante pattern matching sobre `errorType`:

```swift
if case .SELPHID_TIMEOUT(let frontRaw, let backRaw) = sdkResult.errorType {
    // frontRaw, backRaw: UIImage? (pueden ser nil)
}
```

Si el timeout llega como `SDK_TIMEOUT`, no incluye imágenes crudas. Si llega como `SELPHID_TIMEOUT`, las imágenes asociadas pueden ser `nil` cuando el timeout se produce por la vía de error del widget (`FWMETimeout`) en lugar del delegate `captureTimeout()`.

Para integraciones iOS nativas, el valor serializado debe tratarse como `SPD_TIMEOUT` (incluye tanto `SDK_TIMEOUT` como `SELPHID_TIMEOUT` del enum).

En iOS, propiedades como `timeoutDiagnostic` o `captureProgress` **no** se incluyen en el `SdkResult` de error. El componente usa `captureProgress` internamente para mostrar el mensaje de la pantalla de diagnóstico cuando `showDiagnostic` está activo.

Si `showDiagnostic` está activo, el callback `output` no se invoca en el instante del timeout: se muestra primero la pantalla de diagnóstico y el resultado se entrega al pulsar cerrar. Con `showDiagnostic` desactivado, el callback se ejecuta de forma inmediata.

La lista siguiente incluye errores del contrato multiplataforma; algunos no se producen en iOS (por ejemplo, `SPD_MOVE_FAIL`).

* SPD\_APPLICATION\_CONTEXT\_ERROR: El contexto de aplicación necesario es nulo.
* SPD\_BAD\_EXTRACTOR\_CONFIGURATION\_ERROR: Widget: Configuración del extractor incorrecta
* SPD\_CAMERA\_PERMISSION\_DENIED: El usuario ha rechazado los permisos.
* SPD\_CANCEL\_BY\_USER: El usuario ha cancelado el proceso.
* SPD\_CANCEL\_LAUNCH: Se ha hecho una cancelación general del SDK.
* SPD\_COMPONENT\_LICENSE\_ERROR: La licencia del componente no es correcta.
* SPD\_CONTROL\_NOT\_INITIALIZATED\_ERROR: Widget: Error de inicialización
* SPD\_EMPTY\_LICENSE: El String de licencia está vacío.
* SPD\_EXTRACTION\_LICENSE\_ERROR: Widget: Error de licencia
* SPD\_HARDWARE\_ERROR: Widget: Error de hardware
* SPD\_INITIALIZATION\_ERROR: Error de inicialización.
* SPD\_MOVE\_FAIL: El usuario no se ha movido como se le ha especificado en el proceso.
* SPD\_NO\_DATA\_ERROR: Los datos de entrada son nulos.
* SPD\_OPERATION\_NOT\_CREATED: No hay ninguna operación en curso.
* SPD\_RESOURCES\_NOT\_FOUND: No se ha encontrado el zip de recursos
* SPD\_SETTINGS\_PERMISSION\_ERROR: Widget: Error de permisos
* SPD\_TIMEOUT: Timeout en el proceso (`SDK_TIMEOUT` o `SELPHID_TIMEOUT` del enum).
* SPD\_UNEXPECTED\_CAPTURE\_ERROR: Widget: Error en la captura
* SPD\_UNKNOWN\_ERROR: Error desconocido
* SPD\_WIDGET\_RESULT\_DATA\_ERROR: Error en los datos de salida del widget

### Recepción de ejecución correcta - data

El contenido del campo `data` depende del componente. En el caso de **SelphID**, se devuelven los siguientes campos:

**frontDocument / tokenFrontDocument**

La imagen frontal del documento procesada, limpiada y recortada por los bordes y su token correspondiente.

**backDocument / tokenBackDocument**

La imagen trasera del documento procesada, limpiada y recortada por los bordes y su token asociado.

**faceImage / tokenFaceImage**

La imagen del rostro que se ha encontrado en el documento, en caso de que exista y su token asociado.

**documentCaptured**

Esta propiedad indica el modelo de documento que se ha capturado cuando se realiza una busqueda en modo SMSearch. De esta forma la aplicación puede conocer qué modelo, de entre todos los permitidos, se ha detectado.

**matchingSidesScore**

Esta propiedad devuelve un cálculo de la similitud de los datos leídos entre el front y el back del documento. El cálculo se realiza comprobando la similitud entre los campos comunes leídos en ambas caras. El resultado del cálculo será un valor entre 0.0 y 1.0 para el caso de que existan campos comunes en el documento. Cuanto mayor es el valor, más similares son los datos comparados. Si el cálculo devuelve -1.0 es que el documento no contiene campos comunes o aún no se tiene información de las dos caras.

**Propiedad captureProgress**

Esta propiedad devuelve el estado en el que se encontraba el proceso de captura cuando el widget terminó con éxito (`STATUS_OK`). En un timeout, `data` es `nil` y este valor no se incluye en el `SdkResult` del callback de error. Estos son los posibles valores:

```
Front_Detection_None = 0
Front_Detection_Uncertain = 1
Front_Detection_Completed = 2
Front_Document_Analyzed = 3
Back_Detection_None = 4
Back_Detection_Uncertain = 5
Back_Detection_Completed = 6
Back_Document_Analyzed = 7
```

* **0**: En la lectura del Front, el widget termino sin poder haber detectado nada. Generalmente cuando no se pone ningún documento.
* **1**: En la lectura del Front, el widget termino habiendo detectado parcialmente un documento. En este caso algunos de los elementos esperados se han conseguido detectar, pero no todos los necesarios.
* **2**: En la lectura del Front, el widget termino habiendo completado la detección de todos los elementos del documento. Si el widget acaba en este estado es porque el análisis de OCR no se ha podido completar con éxito.
* **3**: En la lectura del Front, el widget termino habiendo analizado y extraído todo el OCR del documento. Este es el estado en el que acabaría una lectura correcta del Front de un documento.

Los estados **del 4 al 7** son exactamente iguales solo que se refieren al resultado del proceso cuando se analiza el back.

**ocrResults**

Este diccionario contiene todos los datos detectados en el documento. Las claves de cada campo están codificadas de tal forma que la propia clave contiene información de donde se ha obtenido el valor. Así, por ejemplo, la clave Front/MRZ/DocumentNumber indica el valor del DocumentNumber que se ha leído en el Front del documento y en la región del MRZ. Estas claves dependen del documento capturado y por tanto serán diferentes entre distintos países y modelos de documento. El diccionario también contiene claves con nombres más genéricos y que no llevan información relativa a la ubicación. Estas claves contienen el dato más completo de todos los leídos para dicho campo.

Estas claves son los siguientes:

* **FirstName**: El valor asociado a esta clave contiene el nombre del usuario.
* **LastName**: El valor asociado a esta clave contiene los apellidos del usuario.
* **DateOfBirth**: El valor asociado a esta clave contiene la fecha de nacimiento detectada en el documento.
* **Gender**: El valor asociado a esta clave contiene el sexo del usuario detectado en el documento.
* **Nationality**: El valor asociado a esta clave contiene la nacionalidad del usuario detectado en el documento.
* **DocumentNumber**: El valor asociado a esta clave contiene el número de documento.
* **DateOfExpiry**: El valor asociado a esta clave contiene la fecha de expiración del documento.
* **Issuer**: El valor asociado a esta clave contiene el editor del documento.
* **DateofIssue**: El valor asociado a esta clave contiene la fecha de expedición del documento.
* **PlaceOfBirth**: El valor asociado a esta clave contiene el lugar de nacimiento del usuario.
* **Address**: El valor asociado a esta clave contiene la dirección detectada en el documento.

Adicionalmente se añaden claves del propio objeto results para hacer más fácil su búsqueda:

* **DocumentCaptured**: Valor del modelo de documento que se ha capturado según el .xml de modelos. Corresponde a la propiedad documentCaptured.
* **MatchingSidesScore**: Valor que indica la correspondencia entre las caras leídas del documento. Corresponde a la propiedad matchingSidesScore.

**countryCaptured**

País del documento.

**documentTypeCaptured**

Tipo de documento. Se corresponde con los del apartado 5.1.10.

**personalData**

Conjunto reducido de datos obtenidos del usuario:

* issuer
* documentNumber
* issueDate
* expiryDate
* name
* surname
* fullName
* gender
* birthDate
* birthPlace
* nationality
* address
* nfcKey
* numSupport
* mrz

***

## Información avanzada

### Selector de documentos - OPCIONAL

**showDocumentSelector**

Activación de la vista de selector de documentos. Se presentará nada más lanzar el controlador.

**enabledCountries**

Listado de países en ISO2 que aparecerán en el selector. Si su valor es nulo o no contiene valores válidos, se mostrarán todos los disponibles por el SDK.

**enabledDocumentTypes**

Listado de tipos de documentos que aparecerán en el selector de tipos de documentos. Si su valor es nulo o no contiene valores, se mostrarán todos los disponibles por el SDK.

### Configuración avanzada

El componente se configura mediante un objeto `SelphIDConfigurationData`.

**debug**

Activación del modo depuración del componente.

**resourcesPath**

Establece la ruta donde se encuentra el archivo de recursos del widget. Este archivo contiene tanto los recursos gráficos como los recursos de localización. Esta ruta debe especificarse relativa a la carpeta ‘Resources’ de la aplicación principal.

**wizardMode**

Indica si el widget queda configurado para realizar la captura de ambas partes (frontal y trasera) del documento una a continuación de la otra. En este modo el widget solo se lanzaría una vez y al terminar de capturar el front, continuaría seguidamente con el back.

**showResultAfterCapture**

Indica si mostrar o no una pantalla con la imagen capturada del documento después del proceso de análisis. En esta pantalla se le da al usuario la posibilidad de repetir el proceso de captura si la imagen que se obtuvo del documento no fuera correcta.

**showTutorial**

Indica si el widget activa la pantalla de tutorial. En esta vista se explica de forma intuitiva cómo se realiza la captura.

**tutorialOnly**

Indica si el widget se quiere lanzar solo para mostrar el tutorial.

**scanMode**

Indica el modo de escaneo OCR de los documentos. Dependiendo de la elección, se escanearán y buscarán varios tipos de documentos o uno en concreto. Este modo puede ser de tres tipos:

* **SelphIDScanMode.MODE\_GENERIC**: El modo genérico que permite escanear cualquier tipo de documento independiente del país o el tipo de documento. El resultado de este modo no es tan preciso como los siguientes pero permite escanear varios documentos estándar.
* **SelphIDScanMode.MODE\_SEARCH**: El modo de búsqueda permitirá utilizar una whitelist y blacklist, y buscará en los documentos que cumplan dichas condiciones. Estas condiciones se indican en la variable "specificData". De este modo se permite realizar la búsqueda acotando el número de plantillas, y haciendo que la búsqueda sea mucho más afinada que en el caso genérico.
* **SelphIDScanMode.MODE\_SPECIFIC**: Búsqueda de un documento específico. Estas condiciones se indican en la propiedad "specificData" que se muestra en lo sucesivo.

**SpecificData**

Esta propiedad permite definir qué documentos se escanearán durante el proceso, en caso de declarar el modo de escaneo (scanMode) a SMSearch o SMSpecific.

Un ejemplo de configuración que permita escanear todos los documentos de nacionalidad española sería el siguiente:

```swift
// Search mode definition
conf.scanMode = SelphIDScanMode.MODE_SEARCH
conf.specificData = “ES|<ALL>” // Código ISO de España (ES)
```

**tokenImageQuality**

Indica la cantidad de calidad que se quiere recibir en las imágenes tokenizadas. Valor entre 0 y 1.

**DocumentType**

Los valores permitidos son los siguientes:

* **SelphIDDocumentType.ID\_CARD:** El widget queda configurado para realizar la captura de documentos de identidad.
* **SelphIDDocumentType.PASSPORT:** El widget queda configurado para realizar la captura de pasaportes.
* **SelphIDDocumentType.DRIVERS\_LICENSE:** El widget queda configurado para realizar la captura de licencias de conducción.
* **SelphIDDocumentType.FOREIGN\_CARD:** El widget queda configurado para realizar la captura de documentos extranjeros.
* **SelphIDDocumentType.CUSTOM:** El widget queda configurado para realizar la captura de otro tipo de documentos que no corresponden a ninguna de las categorias anteriores.

**DocumentSide**

Los valores permitidos son los siguientes:

* **SelphIDDocumentSide.FRONT:** El widget queda configurado para realizar la captura de la parte frontal del documento.
* **SelphIDDocumentSide.BACK:** El widget queda configurado para realizar la captura de la parte trasera del documento.
* **SelphIDDocumentSide.ALL:** El widget queda configurado para realizar la captura de ambas partes del documento.

**Timeout**

Es un enumerado que define el timeout de la captura de un lado del documento. Tiene 3 posibles valores:

* **SelphIDTimeout.SHORT:** 15 segundos.
* **SelphIDTimeout.MEDIUM:** 20 segundos.
* **SelphIDTimeout.LONG:** 25 segundos.
* **SelphIDTimeout.VERY\_LONG**: 60 segundos.

**videoFilename**

Establece la ruta absoluta del nombre del archivo en el que se grabará un video del proceso de captura. La aplicación es la responsable de solicitar los permisos necesarios al teléfono en caso de que esa ruta requiera de permisos adicionales. El widget, por defecto, no realizará ningún proceso de grabación a menos que se especifique una ruta de archivo mediante este método.

**DocumentModels**

Esta propiedad permite, mediante una cadena en formato xml, configurar modelado de los documentos que el widget va a tratar de capturar. La definición de este modelado se encentra, por defecto, en un .xml de modelos que se encuentra en el .zip de recursos. Con esta propiedad se permite a una aplicación actualizar, en caliente, los modelados de los documentos.

Nota: Esta propiedad no altera el contenido del archivo de recursos.

**generateRawImages**

Esta propiedad configura el widget para devolver la imagen completa de la cámara que se utilizó para capturar el documento. Estas imágenes se devuelven en las propiedades `rawFrontDocument` y `rawBackDocument` del objeto `results` respectivamente.

**tokenPreviousCaptureData**

Cuando la captura del documento se realiza en 2 llamadas, esta propiedad permite pasar un diccionario con la información de la captura previa. De esta manera el widget puede combinar los resultados de ambas lecturas de una manera inteligente y así devolver la información combinada de ambas capturas. También permite al widget calcular un grado de similitud de los datos de ambas caras.

En el caso que la captura de ambas caras del documento se realice en una única llamada esto no es necesario ya que el widget internamente hace este proceso.

**translationsContent**

Esta propiedad avanzada permite, mediante una cadena en formato xml, configurar la traducción de los literales que se muestran durante el proceso.

Nota: Esta propiedad no altera el contenido del archivo de recursos.

**viewsContent**

Esta propiedad avanzada permite, mediante una cadena en formato xml, configurar las vistas del widget.

Nota: Esta propiedad no altera el contenido del archivo de recursos.

**showDiagnostic**

Mostrar pantallas de diagnóstico al final del proceso

**showPreviousTip**

Muestra una pantalla previa al lanzamiento de la captura con información sobre el proceso a realizar y un botón para el lanzamiento.

**vibrationEnabled**

Indica si se desea un feedback de vibración al acabar el proceso.

**animateDismiss**

Indica si se anima el cierre del SDK al finalizar el proceso. Disponible desde **2.8.1**.

### Personalización del componente

Aparte de los cambios que se pueden realizar a nivel de SDK (los cuales se explican en el documento de Personalización del SDK), este componente en concreto permite la modificación de su interfaz.

#### Colores

El componente, además de los colores estándar existentes en el [apartado general de personalización](/sdks/sdk-mobile/ios-sdk/personalizacion.md), dispone de dos colores específicos para la vista del selector:

* *sdkSelectorBackgroundColor*: Es el color usado para el fondo de la vista de selección. No confundir con *sdkBackgroundColor*.
* *sdkCardBackgroundColor*: Es el color usado para el fondo de las "cards" de selección.

#### Imágenes

El componente, además de las imágenes estándar existentes en el [apartado general de personalización](/sdks/sdk-mobile/ios-sdk/personalizacion.md), dispone de imágenes específicas para la vista del selector. El listado puede verse accediendo al enumerado `R.Image`.

#### Textos

Los textos pueden personalizarse sobrescribiendo las claves correspondientes en `Localizable.strings`.

Las claves con sufijo `_alt` se utilizan para accesibilidad (VoiceOver).

Ejemplo de modificación del texto **COMENZAR** para `es`:

Hay que ir al archivo **Localizable.strings** de la carpeta **es.lproj** (si no existe esta carpeta, habrá que crearla).

`"selphid_component_tip_button_message"="EMPEZAR";`

Si una clave no está definida, se utilizará el valor por defecto.

| Name                                            | Value                                                                                                                                                                                                                                                                                                                  |
| ----------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `selphid_component_tutorial_message_1`          | Busca un fondo con buen contraste.                                                                                                                                                                                                                                                                                     |
| `selphid_component_tutorial_message_2`          | Coloca el documento dentro del recuadro.                                                                                                                                                                                                                                                                               |
| `selphid_component_tutorial_message_3`          | Evita brillos que dificulten la lectura del documento.                                                                                                                                                                                                                                                                 |
| `selphid_component_tip_message`                 | **Enfoca** tu documento **dentro del recuadro.** La foto se hará automáticamente.                                                                                                                                                                                                                                      |
| `selphid_component_tip_title`                   | Foto del documento                                                                                                                                                                                                                                                                                                     |
| `selphid_component_tip_button`                  | COMENZAR                                                                                                                                                                                                                                                                                                               |
| `selphid_component_tip_close_button_alt`        | VOLVER                                                                                                                                                                                                                                                                                                                 |
| `selphid_component_tip_button_alt`              | Comenzar captura de documento                                                                                                                                                                                                                                                                                          |
| `selphid_component_tip_anim_id_alt`             | Coloca tu documento de identidad en horizontal, y apunta con tu teléfono en posición vertical.                                                                                                                                                                                                                         |
| `selphid_component_tip_anim_passport_alt`       | Animación de un teléfono móvil haciendo una foto a un pasaporte. El documento aparece en horizontal, abierto por la página donde aparece la foto. El móvil en posición vertical. En la pantalla del móvil aparece un recuadro. Cuando la página del pasaporte encaja dentro del recuadro, la aplicación hace una foto. |
| `selphid_component_tip_anim_driving_alt`        | Animación de un teléfono móvil haciendo una foto a un carné de conducir. El documento aparece en horizontal, y el móvil en posición vertical. En la pantalla del móvil aparece un recuadro. Cuando el documento encaja dentro del recuadro, la aplicación hace una foto.                                               |
| `selphid_component_tutorial_1_anim_id_alt`      | Coloca tu documento de identidad en horizontal, y apunta con tu teléfono en posición vertical.                                                                                                                                                                                                                         |
| `selphid_component_tutorial_2_anim_id_alt`      | Coloca el documento en una superficie con un color distinto al documento.                                                                                                                                                                                                                                              |
| `selphid_component_tutorial_3_anim_id_alt`      | Hay reflejos en el documento.                                                                                                                                                                                                                                                                                          |
| `selphid_component_tutorial_1_anim_pass_alt`    | Se muestra un pasaporte de color blanco, sobre un fondo blanco. Los bordes del documento no se distinguen con claridad. Mediante una animación, el fondo cambia de color.                                                                                                                                              |
| `selphid_component_tutorial_2_anim_pass_alt`    | Un teléfono móvil hace una foto a un pasaporte. El documento aparece en horizontal, y el móvil en posición vertical. En la pantalla del móvil aparece un recuadro. Cuando el documento encaja dentro del recuadro, la aplicación hace una foto.                                                                        |
| `selphid_component_tutorial_3_anim_pass_alt`    | Un pasaporte, visto de frente. Al inclinarlo, aparecen reflejos sobre el documento.                                                                                                                                                                                                                                    |
| `selphid_component_tutorial_1_anim_driving_alt` | Se muestra un carné de conducir de color blanco, sobre un fondo blanco. Los bordes del documento no se distinguen con claridad. Mediante una animación, el fondo cambia de color.                                                                                                                                      |
| `selphid_component_tutorial_2_anim_driving_alt` | Un teléfono móvil hace una foto a un carné de conducir. El documento aparece en horizontal, y el móvil en posición vertical. En la pantalla del móvil aparece un recuadro. Cuando el documento encaja dentro del recuadro, la aplicación hace una foto.                                                                |
| `selphid_component_tutorial_3_anim_driving_alt` | Un carné de conducir, visto de frente. Al inclinarlo, aparecen reflejos sobre el documento.                                                                                                                                                                                                                            |
| `selphid_component_tip_health_alt`              | Animación de un teléfono móvil haciendo una foto a una tarjeta sanitaria. El documento aparece en horizontal, y el móvil en posición vertical. En la pantalla del móvil aparece un recuadro. Cuando el documento encaja dentro del recuadro, la aplicación hace una foto.                                              |
| `selphid_component_tutorial_1_anim_health_alt`  | Se muestra una tarjeta sanitaria de color blanco, sobre un fondo blanco. Los bordes del documento no se distinguen con claridad. Mediante una animación, el fondo cambia de color.                                                                                                                                     |
| `selphid_component_tutorial_2_anim_health_alt`  | Un teléfono móvil hace una foto a una tarjeta sanitaria. El documento aparece en horizontal, y el móvil en posición vertical. En la pantalla del móvil aparece un recuadro. Cuando el documento encaja dentro del recuadro, la aplicación hace una foto.                                                               |
| `selphid_component_tutorial_3_anim_health_alt`  | Una tarjeta sanitaria, visto de frente. Al inclinarlo, aparecen reflejos sobre el documento.                                                                                                                                                                                                                           |
| `selphid_component_tip_custom_alt`              |                                                                                                                                                                                                                                                                                                                        |
| `selphid_component_tutorial_1_anim_custom_alt`  |                                                                                                                                                                                                                                                                                                                        |
| `selphid_component_tutorial_2_anim_custom_alt`  |                                                                                                                                                                                                                                                                                                                        |
| `selphid_component_tutorial_3_anim_custom_alt`  |                                                                                                                                                                                                                                                                                                                        |
| `selphid_component_timeout_title`               | Tiempo superado                                                                                                                                                                                                                                                                                                        |
| `selphid_component_timeout_front_desc`          | Comprueba que el frente del documento está dentro del recuadro y los datos son visibles.                                                                                                                                                                                                                               |
| `selphid_component_timeout_back_desc`           | Comprueba que el dorso del documento está dentro del recuadro y los datos son visibles.                                                                                                                                                                                                                                |
| `selphid_component_timeout_desc`                | Comprueba que el documento está dentro del recuadro y los datos son visibles.                                                                                                                                                                                                                                          |
| `selphid_selector_title`                        | Realiza tu onboarding                                                                                                                                                                                                                                                                                                  |
| `selphid_selector_country_label`                | ¿De qué país es tu documento?                                                                                                                                                                                                                                                                                          |
| `selphid_selector_country_search_label`         | Elige un país                                                                                                                                                                                                                                                                                                          |
| `selphid_selector_country_search_placeholder`   | Busca un país                                                                                                                                                                                                                                                                                                          |
| `selphid_selector_country_no_results`           | Sin resultados                                                                                                                                                                                                                                                                                                         |
| `selphid_selector_document_label`               | ¿Qué documento utilizarás?                                                                                                                                                                                                                                                                                             |
| `selphid_selector_document_dialog_title`        | Elige el documento                                                                                                                                                                                                                                                                                                     |
| `selphid_selector_continue`                     | CONTINUAR                                                                                                                                                                                                                                                                                                              |
| `selphid_selector_type_id_card`                 | Documento de identidad                                                                                                                                                                                                                                                                                                 |
| `selphid_selector_type_passport`                | Pasaporte                                                                                                                                                                                                                                                                                                              |
| `selphid_selector_type_drivers_license`         | Licencia de conducir                                                                                                                                                                                                                                                                                                   |
| `selphid_selector_type_foreign_card`            | Tarjeta de residencia                                                                                                                                                                                                                                                                                                  |
| `selphid_selector_type_credit_card`             | Tarjeta de crédito                                                                                                                                                                                                                                                                                                     |
| `selphid_selector_type_custom`                  | Personalizado                                                                                                                                                                                                                                                                                                          |
| `selphid_selector_type_visa`                    | Visado                                                                                                                                                                                                                                                                                                                 |
| `selphid_selector_exit_alert_finish`            | Finalizar                                                                                                                                                                                                                                                                                                              |
| `selphid_selector_exit_alert_question`          | ¿Seguro que quiere finalizar el proceso?                                                                                                                                                                                                                                                                               |
| `selphid_selector_exit_alert_accept`            | Aceptar                                                                                                                                                                                                                                                                                                                |
| `selphid_selector_exit_alert_cancel`            | Cancelar                                                                                                                                                                                                                                                                                                               |

#### **Animaciones**

Las animaciones del tip previo y tutoriales son **Lottie (.json)**.

Para sustituirlas:

* Añade el archivo en la carpeta `Resources`.
* Mantén exactamente el mismo nombre del archivo.

Si no se sustituyen, se mostrarán las animaciones por defecto.

<table><thead><tr><th width="258.640625">Nombre</th><th>Uso</th></tr></thead><tbody><tr><td>selphid_anim_tip_id_male</td><td>Animación para el tip previo del documento de identidad</td></tr><tr><td>selphid_anim_tip_pass_male</td><td>Animacion para el tip previo del pasaporte</td></tr><tr><td>selphid_anim_tip_driver_male</td><td>Animacion para el tip previo de la licencia de conducir</td></tr><tr><td>selphid_anim_tuto_id_1</td><td>Primera animación del tutorial del documento de identidad</td></tr><tr><td>selphid_anim_tuto_id_2</td><td>Segunda animación del tutorial del documento de identidad</td></tr><tr><td>selphid_anim_tuto_id_3</td><td>Tercera animación del tutorial del documento de identidad</td></tr><tr><td>selphid_anim_tuto_pass_1</td><td>Primera animación del tutorial del pasaporte</td></tr><tr><td>selphid_anim_tuto_pass_2</td><td>Segunda animación del tutorial del pasaporte</td></tr><tr><td>selphid_anim_tuto_pass_3</td><td>Tercera animación del tutorial del pasaporte</td></tr><tr><td>selphid_anim_tuto_driving_1</td><td>Primera animación del tutorial de la licencia de conducir</td></tr><tr><td>selphid_anim_tuto_driving_2</td><td>Segunda animación del tutorial de la licencia de conducir</td></tr><tr><td>selphid_anim_tuto_driving_3</td><td>Tercera animación del tutorial de la licencia de conducir</td></tr><tr><td>selphid_anim_tuto_custom_1</td><td>Primera animacion del tutorial para un documento customizado</td></tr><tr><td>selphid_anim_tuto_custom_2</td><td>Segunda animacion del tutorial para un documento customizado</td></tr><tr><td>selphid_anim_tuto_custom_3</td><td>Tercera animacion del tutorial para un documento customizado</td></tr></tbody></table>
