# Configuração do ConexX Driver

## Visão Geral

Esta configuração permite ajustar o **ConexX Driver** para se comunicar corretamente com o **Middleware**, os equipamentos REP e serviços externos como auditoria TSI.

## Como configurar o ConexX Driver

1. Localize o arquivo **`conex.properties`** no diretório de instalação do ConexX Driver.
2. Abra o arquivo utilizando um editor de texto e altere os seguintes   &#x20;parâmetros conforme necessário:

{% stepper %}
{% step %}
**Porta de API do ConexX**

Utilizada para comunicação com o **ConexX Middleware**.\
Exemplo: `59974`

```
api.port=
```

{% endstep %}

{% step %}
**Porta para comunicação com os equipamentos**

Define a porta utilizada para comunicação direta com os equipamentos.\
Exemplo: `1364`

```
conex.port=
```

{% endstep %}

{% step %}

**CPF padrão para comandos REP INMETRO**

CPF utilizado quando não for informado nas requisições da API.\
Exemplo: `12345678901`

```
conex.cpf.responsavel=
```

{% endstep %}

{% step %}
**Envio de auditoria TSI**

Define se o ConexX Driver enviará auditoria para a TSI.\
Exemplo: `false`

```
tsi.sendWebhookToTSI=false
```

{% endstep %}

{% step %}
**URL de auditoria TSI**

Endereço utilizado para envio das auditorias.\
Exemplo: `https://suricato-light.vercel.app/api/webhook`

```
tsi.webhookUrl=https://suricato-light.vercel.app/api/webhook
```

{% endstep %}

{% step %}
**URI do Middleware**

Endereço do **ConexX Middleware** no formato:\
`http://IPDoMiddleware:8090`

Exemplo:

```
partner.uri=http://192.168.0.200:8090
```

{% endstep %}

{% step %}
**Tempo para reprocessamento dos webhooks**

Tempo, em minutos, para reprocessamento dos webhooks.\
Exemplo: `1`

```
webhook.reprocessIntervalInMinutes=1
```

{% endstep %}

{% step %}
**Lista de equipamentos bloqueados**

Caso seja preenchida, o sistema **aceitará apenas equipamentos que não estejam nesta lista**.\
Exemplo: `192.168.0.100,192.168.0.101`

```
conex.listaEquipamentosBloqueados=
```

{% endstep %}

{% step %}
**Lista de equipamentos liberados**

Caso seja preenchida, o sistema **aceitará somente os equipamentos informados**.\
Exemplo: `192.168.0.100,192.168.0.101`

```
conex.listaEquipamentosLiberados=
```

{% endstep %}

{% step %}
**Tempo para desconexão do equipamento**

Tempo, em minutos, para derrubar a conexão do equipamento após conectado.\
Exemplo: `30`

```
device.telematica.rep.inmetro.disconnect.timeout=
```

{% endstep %}

{% step %}

**Configurações de log e ambiente de desenvolvimento**

```
logins=
dev=true
dev.checkdApiDevicesTes
```

{% endstep %}
{% endstepper %}

### Emulador

{% stepper %}
{% step %}
**Ativar ou desativar o emulador**

```
emulator.enabled=
```

{% endstep %}

{% step %}
**Tempo de intervalo para conexão de cada equipamento**

Tempo em milissegundos entre conexões.\
Exemplo: `3000`\
(Se não informado, o valor padrão será `0`)

```
emulator.device.connetion.delay=3000
```

{% endstep %}

{% step %}
**Quantidade de MDs para subir**

```
emulator.md=4
```

{% endstep %}

{% step %}
**Delay aleatório de acesso dos MDs**

Tempo de delay em acessos, calculado como `30 + valor informado`.

```
emulator.md.access.random.delay=
```

{% endstep %}
{% endstepper %}

4. Após realizar todas as alterações necessárias, **salve o arquivo** `conex.properties`.

## Validação da Licença

A **Validação da Licença do ConexX Driver** é o processo necessário para liberar a utilização do serviço após a instalação.&#x20;

### Como validar a Licença do ConexX Driver

1. Inicie o serviço do **ConexX Driver**.
2. Após a inicialização, aguarde a geração automática do arquivo **`Conex.req`**.
3. Acesse o diretório **`base`** do **ConexX Driver**, onde o arquivo **`Conex.req`** é gerado por padrão.
4. Envie o arquivo **`Conex.req`** conforme orientações do processo de licenciamento para que seja gerado o arquivo de resposta **`Conex.res`**.
5. Após receber o arquivo **`Conex.res`**, copie-o para o **mesmo diretório** onde está localizado o arquivo **`Conex.req`**.
6. Com ambos os arquivos (**`Conex.req`** e **`Conex.res`**) no mesmo diretório, o serviço estará liberado para utilização.

## FAQ - Perguntas Frequentes

<details>

<summary>Qual a diferença entre lista de equipamentos bloqueados e liberados?</summary>

* **Lista de bloqueados**: o sistema aceita todos os equipamentos *exceto* os informados.
* **Lista de liberados**: o sistema aceita *somente* os equipamentos informados.

{% hint style="danger" %}
Se ambas forem preenchidas, é importante validar a regra adotada no seu ambiente para evitar bloqueios inesperados.
{% endhint %}

</details>

<details>

<summary>O que acontece se eu não informar o CPF responsável nas requisições?</summary>

Caso o CPF não seja enviado via API, o ConexX\_Driver utilizará automaticamente o CPF configurado no parâmetro `conex.cpf.responsavel`. Isso é essencial para comandos REP INMETRO que exigem essa informação.

</details>

<details>

<summary>Quando devo habilitar o envio de auditoria para a TSI?</summary>

O envio de auditoria deve ser habilitado (`tsi.sendWebhookToTSI=true`) apenas se sua empresa utilizar integração com a TSI. Além disso, é obrigatório informar corretamente a `tsi.webhookUrl` para garantir que as auditorias sejam enviadas com sucesso.

</details>

<details>

<summary>Para que serve o modo emulador e quando devo usá-lo?</summary>

O emulador é utilizado principalmente em **ambientes de teste e desenvolvimento**. Ele simula equipamentos e MDs, permitindo validar integrações, cargas e comportamentos do sistema sem a necessidade de dispositivos físicos conectados.

</details>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://software-telematica-com.gitbook.io/suricato-docs/conex/conexx-e-xt/conexx-driver/configuracao-do-conexx-driver.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
