> 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/docs.facephi-pt-br/sdks/sdk-mobile/framework-plugins/cordova/componentes/captura-facial.md).

# Captura facial - Selphi

## Introdução <a href="#id-1-introduccion" id="id-1-introduccion"></a>

A Captura Facial é realizada com o ***Selphi Plugin***.

Este componente é responsável por realizar a captura de uma selfie do usuário e pela posterior extração das características faciais mais importantes. Seus principais processos são:

* Gerenciamento interno de câmeras e permissões.
* Assistente nos processos de captura do rosto do usuário.
* Geração dos templates com as características faciais e da imagem do usuário.

***

## Dependências <a href="#id-2-dependencia" id="id-2-dependencia"></a>

### Cordova:

```swift
cordova plugin add @facephi/sdk-selphi-cordova@<Versão>
```

### Android - Gradle:

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

### iOS - CocoaPods:

```swift
pod 'FPHISDKSelphiComponent', '~> $version'
```

## Métodos disponíveis

Este componente contém vários métodos que executam 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>Descrição</strong></td></tr><tr><td>launchSelphi</td><td>Controlador principal de Reconhecimento Facial</td></tr></tbody></table>

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

Uma vez iniciado o SDK e criada uma nova operação, será possível lançar o componente. Será possível fazer uso de qualquer um de seus controladores para executar sua funcionalidade.

Lançamento da Captura Facial:

```javascript
exports.launchSelphi = function (cfg) {
    return new Promise((resolve, reject) => {
        var config = [];
        try {
            config = [{
                config: cfg
            }];
        } catch (e) {
            console.log(e);
        }

        exec(resolve, reject, 'SdkSelphi', 'launchSelphi', config);
    });
};
```

## Configuração básica <a href="#id-5-configuracion-basica" id="id-5-configuracion-basica"></a>

Para lançar o componente atual, deverá ser criado um objeto ***SelphiFaceConfiguration*** que será a configuração do controlador do componente.

A configuração básica necessária para isso é a seguinte:

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

### Configuração avançada do componente

A seguir, são detalhados todos os campos que fazem parte desta classe.

{% content-ref url="/pages/0afd89828298c2fc4a7b07f4629e3404a8fc7478" %}
[Selphi Configuração](/docs.facephi-pt-br/sdks/sdk-mobile/framework-plugins/extras/selphi/selphi-configuracion.md)
{% endcontent-ref %}

***

## Recebimento do resultado <a href="#id-6-recepcion-del-resultado" id="id-6-recepcion-del-resultado"></a>

A execução retornará as informações em formato SelphiFaceResult. Podendo diferenciar-se entre uma execução correta e uma incorreta:

<pre class="language-typescript"><code class="lang-typescript">export interface SelphiFaceResult {
<strong>    finishStatus: number;
</strong>    finishStatusDescription: string;
    errorType: string;
    errorMessage?: string;
    template?: string;
    templateRaw?: string;
    eyeGlassesScore?: number;
    templateScore?: number;
    qrData?: string;
    images?: [string];
    bestImage?: string;
    bestImageCropped?: string;
    livenessDiagnostic?: string;
    iad?: string;
}
</code></pre>

### Configuração avançada do componente

A seguir, são detalhados todos os campos que fazem parte desta classe.

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

## Personalização do componente <a href="#id-8-personalizacion-del-componente" id="id-8-personalizacion-del-componente"></a>

Além das alterações que podem ser feitas no nível do SDK (as quais são explicadas no documento de [Configurações avançadas](#id-1-introduccion)),

{% content-ref url="/pages/aff192aab37b89a77b973328bef3062aaa53696a" %}
[Selphi - Personalização do Componente](/docs.facephi-pt-br/sdks/sdk-mobile/framework-plugins/extras/selphi/selphi-personalizacion-del-componente.md)
{% endcontent-ref %}
