> For the complete documentation index, see [llms.txt](https://ajuda.digitalsac.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ajuda.digitalsac.io/digicrm/configuracao/integracao-comercial/configuracao-e-autenticacao.md).

# Configuração e autenticação

Configure o DigitalSac para usar um sistema comercial próprio. O PerfexCRM continua necessário somente para o licenciamento enquanto essa dependência existir.

{% hint style="warning" %}
Configure estas chaves em **Configurações globais** (`SettingsGlobal`), não no `.env`.
{% endhint %}

### Tokens

* `CUSTOM_COMMERCIAL_TOKEN`: enviado pelo DigitalSac ao sistema comercial.
* `COMPANY_TOKEN`: enviado pelo sistema comercial ao DigitalSac ao chamar `/api/plans` ou `/api/tenants`.

Use HTTPS e nunca registre tokens ou senhas em logs.

### Configurações

| Chave                                    | Finalidade                    | Padrão                                |
| ---------------------------------------- | ----------------------------- | ------------------------------------- |
| `COMMERCIAL_PROVIDER`                    | `perfex` ou `custom`          | `perfex`                              |
| `CUSTOM_COMMERCIAL_URL`                  | URL base do sistema comercial | vazio                                 |
| `CUSTOM_COMMERCIAL_TOKEN`                | Token do sistema comercial    | vazio                                 |
| `CUSTOM_PLANS_ENDPOINT`                  | Path de planos                | `/api/plans`                          |
| `CUSTOM_SERVERS_ENDPOINT`                | Path de servidores            | `/api/servers`                        |
| `CUSTOM_DEFAULT_SERVER_ENDPOINT`         | Path do servidor padrão       | `/api/servers/default`                |
| `CUSTOM_DEFAULT_SERVER_ID_ENDPOINT`      | Path do ID padrão             | `/api/servers/default-id`             |
| `CUSTOM_REGISTER_ENDPOINT`               | Path de cadastro              | `/digitalsac/gateways/leads/register` |
| `SYNC_EXTERNAL_PLANS`                    | Sincroniza planos externos    | `false`                               |
| `REGISTER_EMAIL_PROVIDER`                | `digitalsac` ou `custom`      | `digitalsac`                          |
| `COMMERCIAL_PROVIDER_FALLBACK_TO_PERFEX` | Fallback ao Perfex            | `false`                               |

### Configuração recomendada

```
COMMERCIAL_PROVIDER=custom
CUSTOM_COMMERCIAL_URL=https://comercial.exemplo.com
CUSTOM_COMMERCIAL_TOKEN=SEU_TOKEN_SEGURO
CUSTOM_PLANS_ENDPOINT=/v1/digitalsac/plans
CUSTOM_SERVERS_ENDPOINT=/v1/digitalsac/servers
CUSTOM_DEFAULT_SERVER_ENDPOINT=/v1/digitalsac/servers/default
CUSTOM_DEFAULT_SERVER_ID_ENDPOINT=/v1/digitalsac/servers/default-id
CUSTOM_REGISTER_ENDPOINT=/v1/digitalsac/register
SYNC_EXTERNAL_PLANS=true
REGISTER_EMAIL_PROVIDER=custom
COMMERCIAL_PROVIDER_FALLBACK_TO_PERFEX=false
```

Informe somente paths nos campos de endpoint.

### Headers enviados pelo DigitalSac

```http
Authorization: Bearer SEU_CUSTOM_COMMERCIAL_TOKEN
apiKey: SEU_CUSTOM_COMMERCIAL_TOKEN
Content-Type: application/json
```

### Headers aceitos pela API do DigitalSac

```http
Authorization: Bearer SEU_COMPANY_TOKEN
Content-Type: application/json
```

A API `/api` valida somente o Bearer contra o `COMPANY_TOKEN`; `apiKey` não o substitui.

### Fonte única

Com `SYNC_EXTERNAL_PLANS=true`, mantenha o endpoint externo como fonte de verdade. Não altere simultaneamente o catálogo pelo CRUD `/api/plans`.
