> 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/gestao-de-registros.md).

# Gestão de Registros

APIs de logs do dispositivo: buscar por período com token, paginação/seek, limpar, backup/exportação (incl. criptografada) e configs de log serial/SD.

## 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 trocados entre cliente e dispositivo.
* Para APIs que utilizam **streaming, conexões persistentes ou respostas multipart**, prefira clientes compatíveis.
* Sempre implemente **tratamento de exceções**, **controle de timeout** e **reconexão automática** para evitar falhas em ambientes instáveis.
* Monitore o consumo de **CPU, memória e conexões simultâneas** ao trabalhar com eventos contínuos ou leitura de logs em tempo real.

***

### Tabela de Parâmetros

| Name                 | Type      | Description                                                           | Example                |
| -------------------- | --------- | --------------------------------------------------------------------- | ---------------------- |
| SDlogStore           | object    | Configuração de armazenamento de logs da porta serial no cartão SD    | —                      |
| EnableSDlogOverWrite | bool      | Habilita sobrescrita automática dos logs no SD (padrão: true)         | `true`                 |
| DebugInfoRedir       | object    | Configuração de redirecionamento de logs da porta serial              | —                      |
| SerialPortLogLevel   | uint8     | Nível de log redirecionado (0–7)                                      | `4`                    |
| SerialPortLogType    | uint8     | Tipo de log redirecionado (0: chip principal; 1: principal + subchip) | `0`                    |
| condition            | object    | Condições de consulta de logs                                         | —                      |
| StartTime            | char\[32] | Hora inicial do log (local) no formato yyyy-mm-dd hh:mm:ss            | `2014-08-25 00:02:32`  |
| EndTime              | char\[32] | Hora final do log (local) no formato yyyy-mm-dd hh:mm:ss              | `2014-08-25 01:02:32`  |
| StartTimeRealUTC     | char\[32] | Hora inicial do log em UTC (prioritário se informado)                 | `2010-05-25T04:05:00Z` |
| EndTimeRealUTC       | char\[32] | Hora final do log em UTC (prioritário se informado)                   | `2010-05-25T04:10:00Z` |
| Type                 | char\[]   | Tipo de log (`System`, `Config`, `Event`, `Storage`, etc.)            | `System`               |
| Password             | char\[]   | Senha para exportação de log criptografado                            | `12345`                |
| found                | uint      | Quantidade de logs encontrados                                        | `2`                    |
| items                | object\[] | Lista de registros de log retornados                                  | —                      |
| RecNo                | uint      | Número sequencial do log                                              | `789`                  |
| Time                 | char\[32] | Horário do log (local)                                                | `2011-05-20 11:59:21`  |
| TimeRealUTC          | char\[32] | Horário do log em UTC                                                 | `2011-05-20T03:59:21Z` |
| User                 | char\[]   | Usuário associado ao log                                              | `System`               |
| Detail               | object    | Detalhes adicionais do log                                            | —                      |
| Compression          | char\[]   | Tipo de compressão relacionada ao log                                 | `H.264->MJPG`          |
| `Data`               | char\[]   | Informação complementar do log                                        | `Encode`               |

***

### Fluxo Recomendado para Consulta de Logs

1. Iniciar consulta (`startFind`)
2. Ler registros em blocos (`doFind`)
3. Repetir leitura usando `offset`
4. Encerrar sessão (`stopFind`)

***

### Iniciar Consulta de Logs

* **Tópico:** Inicia uma consulta de logs com base em condições específicas, como intervalo de tempo. Retorna um *token* de sessão e a quantidade total de registros encontrados.
* **Métodos: `GET`**` ``/cgi-bin/log.cgi?action=startFind`

**Exemplo:**

```http
http://<ip>/cgi-bin/log.cgi?action=startFind&condition.StartTime=2011-1-1%2012:00:00&condit
ion.EndTime=2011-1-10%2012:00:00&condition.StartTimeRealUTC=2011-01-01T04:00:00Z&condition.
EndTimeRealUTC=2011-01-10T04:00:00
```

**Resposta:**

```json
token=1 
count=100 
```

### Obter o Número Específico de Registros

* **Tópico:** Recupera os registros de log associados a um *token* previamente gerado, permitindo obter os detalhes de cada evento registrado.
* **Métodos: `GET`**` ``/cgi-bin/log.cgi?action=doFind`

**Exemplo:**

```http
http://<ip>/cgi-bin/log.cgi?action=doFind&token=1&count=100
```

**Resposta:**

```json
found=2 
items[0].RecNo=789 
items[0].Time=2011-05-20 11:59:10 
items[0].Type=ClearLog 
items[0].User=admin 
items[1].Detail.Compression=H.264->MJPG 
items[1].Detail.Data=Encode 
items[1].RecNo=790 
items[1].Time=2011-05-20 11:59:21 
items[1].TimeRealUTC=2011-05-20T03:59:21Z 
items[1].Type=SaveConfig 
items[1].User=System 
```

### Logs para registros de consulta

### 1. Inicia a consulta

* **Métodos: `GET`**` ``/cgi-bin/log.cgi?action=startFind`

**Exemplo:**

```http
http://<ip>/cgi-bin/log.cgi?action=startFind&condition.StartTime=2025-01-01%2000:00:00&condition.EndTime=2025-12-31%2023:59:59
```

**Resposta:**

```
OK
```

### 2. Leitura

* **Métodos: `GET`**` ``/cgi-bin/log.cgi?action=doFind&token`

**Exemplo:**

```http
http://<ip>/cgi-bin/log.cgi?action=doFind&token=1&offset=0&count=20
```

**Resposta:**

```json
found=0
```

### 3. Encerrar

* **Métodos: `GET`**` ``/cgi-bin/log.cgi?action=stopFind`

**Exemplo:**

```http
http://<ip>/cgi-bin/log.cgi?action=stopFind&token=1
```

**Resposta:**

```
OK
```

### Limpar Todos os Logs

* **Tópico:** Remove todos os registros de log armazenados no dispositivo.
* **Métodos: `GET`**` ``/cgi-bin/log.cgi?action=clear`

**Exemplo:**

```http
http://<ip>/cgi-bin/log.cgi?action=clear
```

**Resposta:**

```
OK
```

### Backup Logs

* **Tópico:** Exporta logs em formato binário para backup, respeitando filtros de tempo definidos.
* **Métodos: `GET`**` ``/cgi-bin/Log.backup?action=All`

**Exemplo:**

```http
http://<ip>/cgi-bin/Log.backup?action=All&condition.StartTime=2014-8-25%2000:02:32&condi
tion.EndTime=2020-8-25%2001:02:32
```

**Resposta:**

```http
HTTP/1.1 200 OK 
CONTENT-LENGTH: 743087 
CONNECTION: close 
Content-type: application/binarytet-stream; charset=utf-8 
 
&w_User: default 
&Time: 2014-09-01 15:20:45 
&Type: VideoLoss  
&Content: EventType: VideoLoss 
channel: <8> 
StartTime: 2014-09-01 15:20:45 
 
…
```

### Buscar Logs com Paginação Avançada

* **Tópico:** Permite buscar registros específicos de logs utilizando token e quantidade desejada, facilitando paginação e navegação em grandes volumes de dados.
* **Métodos: `GET`**` ``/cgi-bin/Log.cgi?action=doSeekFind`

**Exemplo:**

```http
http://<ip>/cgi-bin/Log.cgi?action=doFind&token=1&count=100
```

**Resposta:**

```json
found=2 
items[0].RecNo=789 
items[0].Time=2011-05-20 11:59:10 
items[0].Type=ClearLog 
items[0].User=admin 
items[1].Detail.Compression=H.264->MJPG 
items[1].Detail.Data=Encode 
items[1].RecNo=790 
items[1].Time=2011-05-20 11:59:21 
items[1].TimeRealUTC=2011-05-20T03:59:21Z 
items[1].Type=SaveConfig 
items[1].User=System 
```

### Exportar Log Criptografado

* **Tópico:** Exporta logs em formato **criptografado (ZIP)**, protegidos por senha, garantindo segurança no transporte e armazenamento
* **Métodos: `GET`**` ``/cgi-bin/Log.exportEncrypedLog?action=All`

**Exemplo:**

```http
http://<ip>/cgi-bin/Log.exportEncrypedLog?action=All&condition.StartTime=2014-8-25%2000:
02:32&condition.EndTime=2020-8-25%2001:02:32&condition.Password=12345
```

**Resposta:**

```http
HTTP/1.1 200 OK 
Transfer-Encoding: chunked  
CONNECTION: keep_alive 
Content-type: application/binarytet-stream; charset=utf-8  
The binary data of encrypted log in zip format 
```

### Obter Cofiguração de Redirecionamento de Log&#x20;

* **Tópico:** Consulta a configuração de nível e tipo de logs enviados para a porta serial do dispositivo.

**Exemplo:**

```http
http://<ip>/cgi-bin/configManager.cgi?action=getConfig&name=DebugInfoRedir
```

**Resposta:**

```json
table.DebugInfoRedir.SerialPortLogLevel=3 
table.DebugInfoRedir.SerialPortLogType=1
```

### Definir Cofiguração de Redirecionamento de Log&#x20;

* **Tópico:** Configura o nível e tipo de logs redirecionados para a porta serial.

**Exemplo:**

```http
http://<ip>/cgi-bin/configManager.cgi?action=setConfig&DebugInfoRedir.SerialPortLogLevel=
6&DebugInfoRedir.SerialPortLogType=1
```

**Resposta:**

```
OK
```

### Obter Configuração de Armazenamento de Logs no SD

* **Tópico:** Consulta se os logs da porta serial estão configurados para serem armazenados no cartão SD e se a sobrescrita está habilitada.

**Exemplo:**

```http
http://<ip>/cgi-bin/configManager.cgi?action=getConfig&name=SDlogStore
```

**Resposta:**

```json
table.SDlogStore.EnableSDlogOverWrite=true 
```

### Definir Configuração de Armazenamento de Logs no SD

* **Tópico:** Define se os logs da porta serial devem ser gravados no cartão SD com sobrescrita automática.

**Exemplo:**

```http
http://<ip>/cgi-bin/configManager.cgi?action=setConfig&SDlogStore.EnableSDlogOverWrite=t
rue
```

**Resposta:**

```
OK
```

***

Notas finais:

* As APIs de log utilizam **tokens temporários** para controle de sessão; sempre finalize a consulta após o uso.
* Operações de exportação podem gerar **grandes volumes de dados**, planeje armazenamento.
* Logs são fundamentais para **auditoria, diagnóstico e conformidade**, devendo ser protegidos contra acesso não autorizado.
* Recomenda-se testar operações de limpeza, backup e exportação **em ambiente de homologação** antes do uso em produção.

***


---

# 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/gestao-de-registros.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.
