> For the complete documentation index, see [llms.txt](https://portal-integracao.intelbras.com.br/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://portal-integracao.intelbras.com.br/cameras-and-gravadores/integracao-api-cftvip-e-mibo/cameras-e-gravadores/registro-automatico.md).

# Registro Automático

Fluxo de registro automático para integração: login (token), connect (autoRegist) e keep-alive para manter sessão e vínculo do dispositivo com o servidor.

## Dicas & Boas Práticas <a href="#dicas-and-boas-praticas" id="dicas-and-boas-praticas"></a>

* Utilize **HTTPS em conjunto com HTTP Digest Authentication** para garantir confidencialidade e integridade dos dados trafegados entre cliente e dispositivo.
* Para APIs que utilizam **streaming**, **conexões persistentes** ou **respostas multipart**, utilize clientes compatíveis.
* Sempre implemente **tratamento de exceções**, **controle de timeout** e **mecanismos de reconexão automática** para evitar falhas em ambientes de rede instáveis.
* Monitore constantemente o **consumo de CPU, memória e número de conexões simultâneas**, especialmente durante operações contínuas como leitura de logs ou atualização de firmware.
* Evite realizar atualizações de firmware em horários críticos de operação do dispositivo.
* Após qualquer atualização, valide a versão instalada e o estado geral do sistema antes de liberar o uso em produção.

***

### Tabela de Parâmetros

| Name     | Type      | Description                  | Example                |
| -------- | --------- | ---------------------------- | ---------------------- |
| DevClass | char\[64] | Tipo do dispositivo          | IPC                    |
| DeviceID | char\[64] | Identificador do dispositivo | 6M053FDYAQ00003        |
| ServerIP | char\[64] | IP do servidor remoto        | 172.32.0.141           |
| Token    | char\[64] | Token de autenticação        | tGzv3JOkF0XG5Qx2TlKWIA |

***

### O que é Registro Automático

O **registro automático** é o mecanismo que permite que o dispositivo:

* Se identifique na rede;
* Informe seus dados ao servidor;
* Estabeleça um vínculo inicial;
* Permaneça conectado para comunicação futura.

Esse processo elimina a necessidade de cadastro manual do dispositivo no servidor.

***

### Como funciona o fluxo

#### Login

O dispositivo autentica-se no serviço API e recebe um **token de sessão**, que será usado para autorizar as próximas chamadas.

Objetivo:

* validar credenciais
* abrir sessão segura
* obter token

Sem login válido, nenhuma chamada protegida é aceita.

#### Registro / Conexão (`autoRegist/connect`)

Nesta etapa o dispositivo envia suas informações de identificação ao servidor.

Campos típicos:

* **DevClass** → classe/tipo do dispositivo
* **DeviceID** → identificador único
* **ServerIP** → destino do registro

O servidor então:

* reconhece o dispositivo
* registra sua presença
* cria associação lógica com o sistema

Esse passo é o que efetivamente **liga o dispositivo ao ambiente de gerenciamento**.

#### Keep-Alive (manutenção de sessão)

Após registrado, o dispositivo envia requisições periódicas para:

* manter o token ativo
* indicar que ainda está online
* evitar timeout de sessão

Sem keep-alive, o servidor pode considerar o dispositivo desconectado.

***

### Login

**Tópicos:** Realiza a autenticação do dispositivo e retorna um token de sessão para uso nas APIs.

* **Métodos: `POST`**` ``/cgi-bin/api/global/login`

**Exemplo:**

```http
POST /cgi-bin/api/global/login HTTP/1.1 
Host: <ip> 
Connection: keep-alive 
CONTENT-LENGTH: 0 
```

**Resposta:**

```http
HTTP/1.1 200 OK 
Content-Type: application/json 
Content-Length: <length> 
Connection: keep-alive 
{ 
} 
"Token": "tGzv3JOkF0XG5Qx2TlKWIA",
```

### Conectar

**Tópicos:** Registra e conecta o dispositivo ao servidor utilizando as informações de identificação.

* **Métodos: `POST`**` ``/cgi-bin/api/autoRegist/connect`

**Exemplo:**

```http
POST /cgi-bin/api/autoRegist/connect HTTP/1.1 
Host: <ip>
Connection: keep-alive 
CONTENT-LENGTH: 32 
{ 
"DevClass": "", 
"DeviceID": ""， 
"ServerIP": ""
}
```

**Resposta:**

```http
HTTP/1.1 200 OK 
Connection: keep-alive 
CONTENT-LENGTH: 0
```

### Manter a Seção Ativa

**Tópicos:** Mantém a sessão autenticada ativa, evitando expiração do token por inatividade.

* **Métodos: `POST`**` ``/cgi-bin/api/global/keep-alive`

**Exemplo:**

```http
POST /cgi-bin/api/global/keep-alive HTTP/1.1 
Host: <ip> 
X-cgi-token: tGzv3JOkF0XG5Qx2TlKWIA 
Connection: keep-alive 
CONTENT-LENGTH: 0 
```

**Resposta:**

```http
HTTP/1.1 200 OK 
Connection: keep-alive 
CONTENT-LENGTH: 0 
```

***

Notas finais:

* O token retornado no **Login** deve ser incluído nos headers das requisições subsequentes.
* Recomenda-se manter conexões persistentes (`keep-alive`) para melhor desempenho.
* Utilize HTTPS e autenticação segura para proteger credenciais e dados trafegados.
* Implemente controle de timeout e reconexão automática em caso de falha de rede.
* Caso o token expire, é necessário realizar o login novamente antes de continuar as requisições.

***


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://portal-integracao.intelbras.com.br/cameras-and-gravadores/integracao-api-cftvip-e-mibo/cameras-e-gravadores/registro-automatico.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
