> 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/react-native/componentes/nfc.md).

# NFC Capture

Its main processes are:

* Internal management of the NFC sensor.
* Permission management.
* Document analysis.
* Progress analysis.
* Assistant in the reading processes.
* Return of all possible information to read
* Return of images when they are available for reading

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

### React:

```swift
npm install @facephi/sdk-nfc-react-native@<version>
```

### Android - Gradle:

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

### iOS - CocoaPods:

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

## nfc method <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.

NFC reader launch:

```dart
export function nfc(config: NfcConfiguration): Promise<NfcResult> {
  return SdkNfc.nfc(config);
}
```

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

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

The basic configuration needed for this is as follows:

```typescript
export interface NfcConfiguration {
  docNumber: string;
  birthDate: string;
  expirationDate: string;
  extractionTimeout?: number;
  docType?: NfcDocumentType;
  showTutorial?: boolean;
  vibrationEnabled?: boolean;
  skipPACE?: boolean;
  debug?: boolean;
  showDiagnostic?: boolean;
  showPreviousTip?: boolean;
  extractFacialImage?: boolean;
  extractSignatureImage?: boolean;
}
```

### Advanced component configuration

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

{% content-ref url="/pages/da633eac0bce920270e2a99ecb8badeec0a2a580" %}
[NFC Configuration](/docs.facephi-en/sdks/sdk-mobile/framework-plugins/extras/nfc/nfc-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 ***NfcResult***. It being possible to distinguish between a successful launch and an unsuccessful one:

```typescript
export interface NfcResult {
  finishStatus: number;
  finishStatusDescription?: string;
  errorType: string;
  errorMessage?: string;
  nfcDocumentInformation?: any;
  nfcPersonalInformation?: any;
  nfcValidations?: any;
  nfcRawData?: any;
  nfcSecurityData?: any;
  facialImage?: string;
  fingerprintImage?: string;
  signatureImage?: string;
  tokenOCR?: string;
  tokenFacialImage?: string;
  tokenSignatureImage?: string;
}
```

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

{% content-ref url="/pages/55ad7f803484789c3b0990695802a5b8609b4f38" %}
[NFC Result](/docs.facephi-en/sdks/sdk-mobile/framework-plugins/extras/nfc/nfc-resultado.md)
{% endcontent-ref %}
