> 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/framework-plugins/capacitor/componentes/captura-facial.md).

# Captura facial - Selphi

## Introducción <a href="#id-1-introduccion" id="id-1-introduccion"></a>

La captura facial se realiza con el ***Selphi Plugin***.

Este componente se encarga de realizar la captura de un selfie del usuario y de la posterior extracción de las características faciales más importantes. Sus principales procesos son:

* Gestión interna de cámaras y permisos.
* Asistente en los procesos de captura de la cara del usuario.
* Generación de las plantillas con las características faciales y de la imagen del usuario.

***

## Dependencias <a href="#id-2-dependencia" id="id-2-dependencia"></a>

### Capacitor:

```bash
npm install @facephi/sdk-selphi-capacitor@<versión>
npm run build
npx cap sync
```

### Android - Gradle:

```kotlin
implementation "com.facephi.androidsdk:selphi_component:$version"
```

### iOS - Cocoapods:

```swift
s.dependency 'FPHISDKSelphiComponent', '~> $version'
```

## Métodos disponibles

Este componente contiene varios métodos que ejecutan diferentes funcionalidades:

<table data-header-hidden><thead><tr><th width="233.64453125"></th><th></th></tr></thead><tbody><tr><td><strong>Método</strong></td><td><strong>Descripción</strong></td></tr><tr><td>startExtraction</td><td>Controlador principal de reconocimiento facial</td></tr></tbody></table>

## Método startExtraction <a href="#id-4-lanzamiento-simplificado" id="id-4-lanzamiento-simplificado"></a>

Una vez iniciado el SDK y creada una nueva operación se podrá lanzar el componente. Se podrá hacer uso de cualquiera de sus controladores para ejecutar su funcionalidad.

Lanzamiento de la captura facial:

```typescript
startExtraction(configuration: SelphiFaceConfiguration): Promise<SelphiFaceResult>;
```

## Configuración básica <a href="#id-5-configuracion-basica" id="id-5-configuracion-basica"></a>

Para lanzar el componente actual, se deberá crear un objeto ***SelphiFaceConfiguration*** que será la configuración del controlador del componente.

La configuración básica necesaria para es la siguiente:

```typescript
export interface SelphiFaceConfiguration {
  debug?: boolean;
  fullscreen?: boolean;
  cropPercent?: number;
  stabilizationMode?: boolean;
  templateRawOptimized?: boolean;
  resourcesPath?: string;
  enableGenerateTemplateRaw?: boolean;
  livenessMode?: SdkLivenessMode;
  showResultAfterCapture?: boolean;
  cameraFlashEnabled?: boolean;
  translationsContent?: string;
  viewsContent?: string;
  showTutorial?: boolean;
  cameraId?: number;
  videoFilename?: string;
  params?: any;
  qrMode?: boolean;
  showDiagnostic?: boolean;
  logImages?: boolean;
  compressFormat?: SdkCompressFormat;
  jpgQuality?: number;
  showPreviousTip?: boolean;
  vibrationEnabled?: boolean;
  extractionDuration?: SdkExtractionDuration;
  cameraPreferred?: SelphiCamera;
  moveSuccessfulAttempts?: number;
  moveFailedAttempts?: number;
}
```

### Configuración avanzada del componente

A continuación se detallan todos los campos que forman parte de esta clase.

{% content-ref url="/pages/ltQAYDdQ0KvZtWp7uHMI" %}
[Selphi Configuración](/sdks/sdk-mobile/framework-plugins/extras/selphi/selphi-configuracion.md)
{% endcontent-ref %}

***

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

El lanzamiento devolverá la información en formato SelphiFaceResult. Pudiendo diferenciarse entre un lanzamiento correcto y uno incorrecto:

```typescript
export interface SelphiFaceResult {
  finishStatus?: number;
  errorType?: string;
  finishStatusDescription?: string;
  errorMessage?: string;
  bestImage?: string;
  bestImageCropped?: string;
  bestImageTemplateRaw?: string;
  qrData?: string;
  templateRaw?: string;
  images?: string[];
  livenessDiagnostic?: string;
}
```

{% content-ref url="/pages/BVDbdVCUJa9mGeT2ESeb" %}
[Selphi Resultado](/sdks/sdk-mobile/framework-plugins/extras/selphi/selphi-resultado.md)
{% endcontent-ref %}

## Personalización del componente <a href="#id-8-personalizacion-del-componente" id="id-8-personalizacion-del-componente"></a>

Además de los cambios que se pueden realizar a nivel de SDK (los cuales se explican en el documento de [Ajustes avanzados](#id-1-introduccion)), este componente en concreto permite su propia personalización.

{% content-ref url="/pages/KVR0glzjnbcizfLJUNI9" %}
[Selphi - Personalización del Componente](/sdks/sdk-mobile/framework-plugins/extras/selphi/selphi-personalizacion-del-componente.md)
{% endcontent-ref %}
