> 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/produtos/idv-suite/flujos-and-integraciones/configuracion-tecnica-del-cliente/solucion-web/sdk-loader-idv/configuracion-del-sdk/parametros-de-configuracion.md).

# Parâmetros de configuração

## Parâmetros obrigatórios

### `apiKey`

O único parâmetro obrigatório para integrar o SDK é a `apiKey`. Essa chave é fornecida pela equipe de suporte da Facephi e é essencial para configurar tanto o ambiente web onde o SDK será implantado quanto os diferentes componentes que o SDK inclui.

#### Por que a apiKey é importante?

A `apiKey` garante:

* A autorização e validação corretas da plataforma web que usa o SDK.
* A configuração adequada das funcionalidades e componentes do SDK, permitindo um funcionamento sem problemas.

#### Exemplo: uso básico

```typescript
import { loadSdk } from '@facephi/sdk-loader';

const sdkElement = await loadSdk({
  apiKey: 'YOUR_APIKEY',
  containerId: 'sdk-container',
});
```

{% hint style="info" %}
O elemento `<facephi-sdk-provider>` será criado e configurado automaticamente ao chamar `loadSdk`.
{% endhint %}

***

## Parâmetros opcionais

### `containerId`

O parâmetro `containerId` indica o ID do elemento DOM onde o SDK será renderizado. Se não for fornecido, por padrão é `'sdk-container'`.

#### Exemplo: contêiner personalizado

```typescript
const sdkElement = await loadSdk({
  apiKey: 'YOUR_APIKEY',
  containerId: 'my-custom-container',
});
```

{% hint style="warning" %}
O elemento contêiner deve existir no DOM antes de chamar `loadSdk`.
{% endhint %}

***

### `customerId` (muito recomendado)

Embora não seja obrigatório, o parâmetro `customerId` é fortemente recomendado. Serve como identificador da operação, permitindo aos clientes associá-la a identificadores internos. Por exemplo, pode ser usado para especificar um **email**, **número de documento** ou qualquer outro documento ou identificador do cliente.

#### Detalhes importantes sobre `customerId`:

* É um **campo de texto livre**.
* Cada operação deve ter um **identificador único** para garantir um acompanhamento e rastreabilidade corretos.

#### Exemplo: uso de `customerId`

```typescript
const sdkElement = await loadSdk({
  apiKey: 'YOUR_APIKEY',
  containerId: 'sdk-container',
  customerId: 'user-email@example.com',
});
```

#### Por que usar `customerId`?

{% stepper %}
{% step %}

### Rastreabilidade operacional

Associar facilmente as operações do SDK com os registros internos do cliente.
{% endstep %}

{% step %}

### Depuração simplificada

Identificar operações específicas em caso de erros ou incidentes.
{% endstep %}

{% step %}

### Relatórios aprimorados

Permite um melhor acompanhamento e análise do uso do SDK.
{% endstep %}
{% endstepper %}

{% hint style="info" %}
Certifique-se sempre de que cada `customerId` seja único em cada operação para manter a integridade dos dados e evitar conflitos.
{% endhint %}

***

## Referência completa de parâmetros

| Parâmetro     | Tipo     | Obrigatório | Padrão            | Descrição                                      |
| ------------- | -------- | ----------- | ----------------- | ---------------------------------------------- |
| `apiKey`      | `string` | **Sim**     | -                 | API Key para a autenticação do SDK             |
| `containerId` | `string` | Não         | `'sdk-container'` | ID do elemento DOM onde o SDK será renderizado |
| `customerId`  | `string` | Não         | -                 | Identificador do cliente para rastreamento     |
