---
updatedAt: 2025-09-17T12:46:44.000Z
agentTools:
  projectIndex: https://devcenter.certiface.io/llms.txt
---

# Guia de uso e integração

Apresenta as informações necessárias para uso e integração do do plugin em aplicativos criados em Flutter.

> ⚠️ **Appkey em fluxos com Liveness 2D/3D + Doc Core**\
> Cada appkey está associada a uma transação específica ou tem um prazo de expiração definido. Em fluxos que tenham apenas Liveness, a **appkey não deve ser reutilizada.**\
> **Exceção**: para os fluxos de trabalho que incluem Liveness 2D ou 3D e têm a etapa de Doc Core como próxima etapa, a appkey será reutilizada para realizar a análise do documento.

> 💡 **Ambiente**\
> Todos os módulos do plugin possuem o parâmetro de *environment* que indica o ambiente de execução desejado. Esse parâmetro recebe um objeto do tipo `Environment` que possui dois valores:
>
> | Valor               | Descrição                              |
> | ------------------- | -------------------------------------- |
> | Environment.**hml** | Aponta para o ambiente de homologação. |
> | Environment.**prd** | Aponta para o ambiente de produção.    |

## 1. Liveness 2D (`oiti_liveness2d`)

Plugin responsável pelas classes que iniciam o FaceCaptcha para prova de vida 2D e a DocCore para a leitura e reconhecimento de documentos com OCR.

### 1.1 Importação

Primeiro, devemos importar o plugin no início do documento em Dart.

```dart
import 'package:oiti_liveness3d/oiti_liveness2d.dart';
```

### 1.2 Widget do Liveness2D - `createLiveness2DWidget()`

Importe a classe `OitiLiveness2d` seguido do Widget `createDocumentscopyWidget`.

```dart
OitiLiveness2d.createDocumentscopyWidget(
   appKey: appKey,
   environment: environment,
   onSuccess: (result) => _onDocSuccess(result),
   onError: (error) => _onDocError(error),
)
```

#### 1.2.1 Parâmetros

| Parâmetro       | Tipo                                   | Descrição                               |
| --------------- | -------------------------------------- | --------------------------------------- |
| **appKey**      | String                                 | Chave gerada para execução dessa etapa. |
| **environment** | Environment                            | Ambiente de execução desejado.          |
| **onSuccess**   | Function(LivenessSuccessResult result) | Função de retorno de sucesso.           |
| **onError**     | Function(Object? error)                | Função de retorno de erro.              |

### 1.3 Widget do Documentscopy - `createDocumentscopyWidget()`

Importe a classe `OitiLiveness2d` seguido do Widget `createDocumentscopyWidget`.

```dart
OitiLiveness2d.createDocumentscopyWidget(
   appKey: appKey,
   ticket: ticket,
   environment: environment,
   themeBuilder: themeBuilder,
   onSuccess: (result) => _onDocSuccess(result),
   onError: (error) => _onDocError(error),
   instructionWidget: instructionScreen(),
   permissionWidget: CameraPermissionWidget(),
)
```

#### 1.3.1 Parâmetros

| Parâmetro             | Tipo                                   | Descrição                                               |
| --------------------- | -------------------------------------- | ------------------------------------------------------- |
| **appKey**            | String                                 | Chave gerada para execução dessa etapa.                 |
| **environment**       | Environment                            | Ambiente de execução desejado.                          |
| **themeBuilder**      | ThemeBuilder?                          | Objeto contendo a customização do tema.                 |
| **onSuccess**         | Function(LivenessSuccessResult result) | Função de retorno de sucesso.                           |
| **onError**           | Function(Object? error)                | Função de retorno de erro.                              |
| **instructionWidget** | Widget?                                | Widget responsável pela tela customizada de instruções. |
| **permissionWidget**  | Widget?                                | Widget responsável pela tela customizada de permissões. |

> 📘 **Parâmetros opcionais**\
> Os parâmetros `themeBuilder`, `instructionWidget` e `permissionWidget` são **opcionais** e estão relacionados à customização.

***

## 2. Liveness 3D (`oiti_liveness3d`)

Plugin responsável pelas classes que iniciam o Liveness 3D para prova de vida tridimensional.

### 2.1 Importação

Primeiro, devemos importar o plugin.

```dart
import 'package:oiti_liveness3d/oiti_liveness3d.dart';
```

### 2.2 Criação do Widget do Liveness 3D

A classe `OitiLiveness3d` possui o método estático `createLiveness3DWidget(params)` responsável por criar e configurar o Widget do Liveness 3D.

```dart
OitiLiveness3d.createLiveness3DWidget(
   appKey: appKey,
   environment: environment,
   textsBuilder: textsBuilder,
   themeBuilder: themeBuilder,
   fontsBuilder: fontsBuilder,
   loadingAppearance: loadingAppearance,
   onSuccess: (result) => _onLivenessSuccess(result),
   onError: (error) => _onLivenessError(error),
)
```

#### Parâmetros

| Parâmetro             | Tipo                                   | Descrição                                  |
| --------------------- | -------------------------------------- | ------------------------------------------ |
| **appKey**            | String                                 | Chave gerada para execução dessa etapa.    |
| **environment**       | Environment                            | Ambiente de execução desejado.             |
| **textsBuilder**      | TextsBuilder?                          | Objeto contendo a customização dos textos. |
| **themeBuilder**      | ThemeBuilder?                          | Objeto contendo a customização do tema.    |
| **fontsBuilder**      | Liveness3DFonts?                       | Objeto contendo a customização das fontes. |
| **loadingAppearance** | LoadingAppearence?                     | Objeto contendo a customização do loading. |
| **onSuccess**         | Function(LivenessSuccessResult result) | Função de retorno de sucesso.              |
| **onError**           | Function(Object? error)                | Função de retorno de erro.                 |

> 📘 **Parâmetros opcionais**\
> Os parâmetros `themeBuilder`, `textsBuilder` e `fontsBuilder` são **opcionais** e estão relacionados à customização.

***

## Telas Iniciais

É possível iniciar o fluxo do SDK Mobile Flutter omitindo as telas de instruções e permissões ao chamar os dois métodos abaixo, tanto para a Doc Core quanto para o Liveness 3D.

| Métodos                              | Descrição                                       |
| ------------------------------------ | ----------------------------------------------- |
| **OitiLiveness3d.openLiveness3D**    | Inicia fluxo do Liveness 3D sem telas iniciais. |
| \`\`\`dart                           |                                                 |
| OitiLiveness3d.openLiveness3D(       |                                                 |
| required String appKey,              |                                                 |
| required Environment environment,    |                                                 |
| TextsBuilder? textsBuilder,          |                                                 |
| ThemeBuilder? themeBuilder,          |                                                 |
| Liveness3dFonts? fontsBuilder,       |                                                 |
| LoadingAppearence? loading,          |                                                 |
| )                                    |                                                 |
| \`\`\`                               |                                                 |
| **OitiLiveness2d.openDocumentscopy** | Inicia fluxo da DocCore sem telas iniciais.     |
| \`\`\`dart                           |                                                 |
| OitiLiveness2d.openDocumentscopy(    |                                                 |
| required String appKey,              |                                                 |
| required String ticket,              |                                                 |
| required Environment environment,    |                                                 |
| ThemeBuilder? themeBuilder,          |                                                 |
| )                                    |                                                 |
| \`\`\`                               |                                                 |