> 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-en/sdks/sdk-mobile/framework-plugins/capacitor/componentes/captura-de-documentos.md).

# Document Capture - SelphID

Document capture is performed with the ***SelphID Plugin***.

This component is responsible for capturing identity documents and analyzing the data obtained. Its main processes are:

* Internal management of cameras and permissions.
* Assistant in the capture processes for the front and back of the document.
* Extraction of the information contained in the document.
* Obtaining images of the back and front of the document, as well as other images included in the document: user face, user signature,...
* High level of configuration: different countries, languages, document types...

***

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

### Capacitor:

```bash
npm install @facephi/sdk-selphid-capacitor@<Version>
npm run build
npx cap sync
```

### Android - Gradle:

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

### iOS - CocoaPods:

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

## Available methods

This component contains several methods that execute different functionalities:

<table data-header-hidden><thead><tr><th width="233.64453125"></th><th></th></tr></thead><tbody><tr><td><strong>Method</strong></td><td><strong>Description</strong></td></tr><tr><td>launchSelphID</td><td>Main document capture controller</td></tr></tbody></table>

## Method startCapture <a href="#id-4-lanzamiento-simplificado" id="id-4-lanzamiento-simplificado"></a>

Once the SDK has been started and a new operation has been created, the component can be launched. Any of its controllers can be used to execute its functionality.

Face Capture launch:

```javascript
startCapture(configuration: SelphIDConfiguration): Promise<SelphIDResult>;
```

## Basic configuration <a href="#id-5-configuracion-basica" id="id-5-configuracion-basica"></a>

To launch the current component, an object ***SelphIDConfiguration*** must be created, which will be the configuration of the component controller.

The basic configuration needed for this is as follows:

```typescript
export interface SelphIDConfiguration 
{
    wizardMode?: boolean;
    documentSide: SelphIDDocumentSide;
    resourcesPath: string;
    debug?: boolean;
    showResultAfterCapture?: boolean;
    showTutorial?: boolean;
    tutorialOnly?: boolean;
    scanMode?: SelphIDScanMode;
    specificData?: string;
    fullscreen?: number;
    tokenImageQuality?: number;
    documentType?: SelphIDDocumentType;
    timeout?: SelphIDTimeout;
    tokenPrevCaptureData?: string;
    generateRawImages?: boolean;
    imageQuality?: number;
    compressFormat?: SelphIDCompressFormat;
    documentModels?: string;
    params?: any;
    showDiagnostic?: boolean;
    cameraId?: number;
    translationsContent?: string;
    viewsContent?: string;
    showPreviousTip?: boolean;
    vibrationEnabled?: boolean;
}
```

### Advanced component configuration

Below are all the fields that are part of this class.

{% content-ref url="/pages/584cb61355bbbd302cae55fea7f93db0f0b6aaa9" %}
[SelphID Configuration](/docs.facephi-en/sdks/sdk-mobile/framework-plugins/extras/selphid/selphid-configuracion.md)
{% endcontent-ref %}

***

## Result reception <a href="#id-6-recepcion-del-resultado" id="id-6-recepcion-del-resultado"></a>

The launch will return the information in the format ***SelphIDResult***. It being possible to distinguish between a successful launch and an unsuccessful one:

```typescript
export interface SelphIDResult 
{
    finishStatus: number;
    finishStatusDescription: string;
    errorType: string;
    errorMessage?: string;
    frontDocumentImage?: string;
    backDocumentImage?: string;
    faceImage?: string;
    signatureImage?: string;
    fingerprintImage?: string;
    documentData?: string;
    tokenFrontDocument?: string;
    tokenBackDocument?: string;
    tokenFaceImage?: string;
    tokenOCR?: string;
    documentCaptured?: string;
    captureProgress: number;
    matchingSidesScore: number;
    rawFrontDocument?: string;
    rawBackDocument?: string;
    tokenRawFrontDocument?: string;
    tokenRawBackDocument?: string;
    lastActionBeforeCapture?: string;
}
```

### Advanced component configuration

Below are all the fields that are part of this class.

{% content-ref url="/pages/04c6ff8b16c96b2ba5591eb861d1403a5205bba2" %}
[Selphid Result](/docs.facephi-en/sdks/sdk-mobile/framework-plugins/extras/selphid/selphid-resultado.md)
{% endcontent-ref %}

## Component Customization <a href="#id-8-personalizacion-del-componente" id="id-8-personalizacion-del-componente"></a>

In addition to the changes that can be made at the SDK level (which are explained in the document of [Advanced settings](#id-1-introduccion)), this specific component allows its own Customization.

{% content-ref url="/pages/9823e9f4fee029e1ef4b459dd0285befed87f5fc" %}
[Selphid - Component Customization](/docs.facephi-en/sdks/sdk-mobile/framework-plugins/extras/selphid/selphid-personalizacion-del-componente.md)
{% endcontent-ref %}
