> 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-remoto-de-dados-analiticos.md).

# Registro Remoto de Dados Analíticos

Integrações RemoteExperienceRegistry: caps, CRUD de grupos, importação/modelagem assíncrona, busca por token, download parcial (downloadPiece) e reprocessamento (reAbstract/groupReAbstract).

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

* Utilize **apenas um tipo de fonte por tarefa** (LocalStream, RemoteStream, VideoFile ou PictureFile) para evitar conflitos de processamento.
* Endpoints com **streaming multipart** mantêm conexão persistente, o cliente deve suportar leitura contínua de dados.
* Sempre trate o **Heartbeat** para manter sessões vivas e evitar timeout.
* Teste regras, filtros e modelagens em **ambiente controlado** antes de produção.
* Libere recursos encerrando pesquisas com **stopFind** após uso do token.
* Operações assíncronas (multiAppend, reAbstract, groupReAbstract) devem ser acompanhadas por **status/token**.
* Verifique **capacidade de armazenamento** antes de importar grandes volumes de imagens.
* Padronize timestamps em **UTC** para evitar divergências de busca.
* Garanta qualidade/dimensões adequadas das imagens, modelagem falha é frequentemente causada por resolução inválida.
* Sempre trate **ErrCode** nas respostas para controle de falhas.

***

### Tabela de Parâmetros

<table><thead><tr><th>Campo</th><th>Tipo</th><th width="84.2962646484375">R/O</th><th>Descrição</th><th>Exemplo</th></tr></thead><tbody><tr><td>fileName</td><td>char[260]</td><td>O</td><td>Nome completo do arquivo</td><td>icon1.png</td></tr><tr><td>offset</td><td>uint32</td><td>O</td><td>Offset de download (bytes)</td><td>1024</td></tr><tr><td>needLength</td><td>uint32</td><td>O</td><td>Tamanho solicitado (bytes)</td><td>32768</td></tr><tr><td>Channel</td><td>uint32</td><td>R</td><td>ID do canal de vídeo (inicia em 0)</td><td>1</td></tr><tr><td>groupType</td><td>char[32]</td><td>O</td><td>Tipo de banco funcional</td><td>IVSFilterEvent</td></tr><tr><td>PicInfo.GroupID</td><td>char[64]</td><td>O</td><td>ID do banco de experiência</td><td>1</td></tr><tr><td>PicInfo.BigID</td><td>char[64]</td><td>O</td><td>ID único da imagem grande</td><td>1</td></tr><tr><td>PicInfo.BigName</td><td>char[64]</td><td>O</td><td>Nome da imagem grande</td><td>aaaaa</td></tr><tr><td>PicInfo.SmallName</td><td>char[64]</td><td>O</td><td>Nome da imagem pequena</td><td>aaaaa</td></tr><tr><td>PicInfo.ObjectRect</td><td>Rect[32]</td><td>O</td><td>Coordenadas do alvo</td><td>[[0,0,100,100]]</td></tr><tr><td>PicInfo.Image.Width</td><td>uint16</td><td>O</td><td>Largura da imagem</td><td>100</td></tr><tr><td>PicInfo.Image.Height</td><td>uint16</td><td>O</td><td>Altura da imagem</td><td>50</td></tr><tr><td>PicInfo.Image.Offset</td><td>uint32</td><td>O</td><td>Offset binário</td><td>0</td></tr><tr><td>PicInfo.Image.Length</td><td>uint32</td><td>O</td><td>Tamanho da imagem</td><td>100000</td></tr><tr><td>PicInfo.Image.FilePath</td><td>char[256]</td><td>O</td><td>Caminho/URL da imagem</td><td>/mnt/a.jpg</td></tr><tr><td>PicInfo.EventInfo.UTC</td><td>uint32</td><td>O</td><td>Hora UTC do evento</td><td>152463285</td></tr><tr><td>PicInfo.EventInfo.Channel</td><td>int32</td><td>O</td><td>Canal do evento</td><td>1</td></tr><tr><td>PicInfo.EventInfo.Class</td><td>char[32]</td><td>O</td><td>Classe do evento IA</td><td>SmokeFire</td></tr><tr><td>PicInfo.EventInfo.RuleType</td><td>char[32]</td><td>O</td><td>Tipo de regra</td><td>SmokeDetection</td></tr><tr><td>PicInfo.EventInfo.ObjectType</td><td>char[32]</td><td>O</td><td>Tipo de objeto</td><td>Smoke</td></tr><tr><td>PicInfo.EventInfo.PtzPresetId</td><td>uint8</td><td>O</td><td>Preset PTZ</td><td>1</td></tr><tr><td>ImportInfo.Token</td><td>uint16</td><td>O</td><td>Token da importação</td><td>1</td></tr><tr><td>ImportInfo.State</td><td>bool</td><td>O</td><td>Importação finalizada</td><td>false</td></tr><tr><td>ImportInfo.DetectWay</td><td>int32</td><td>O</td><td>Método de detecção/importação</td><td>1</td></tr><tr><td>ErrCode</td><td>uint8[]</td><td>O</td><td>Códigos de erro</td><td>[1,2]</td></tr><tr><td>SuccessPicInfo.ID</td><td>char[64]</td><td>O</td><td>ID imagem importada</td><td>1</td></tr><tr><td>SuccessPicInfo.Name</td><td>char[128]</td><td>O</td><td>Nome imagem importada</td><td>aaa</td></tr><tr><td>SuccessPicInfo.Url</td><td>char[128]</td><td>O</td><td>URL imagem importada</td><td>/mnt/a.jpg</td></tr><tr><td>TotalSize</td><td>uint32</td><td>O</td><td>Espaço total do banco (MB)</td><td>11</td></tr><tr><td>FreeSize</td><td>uint32</td><td>O</td><td>Espaço livre (MB)</td><td>11</td></tr><tr><td>TotalCount</td><td>uint32</td><td>O</td><td>Total de itens suportados</td><td>11</td></tr><tr><td>FreeCount</td><td>uint32</td><td>O</td><td>Itens restantes</td><td>11</td></tr><tr><td>MaxGroupNum</td><td>uint32</td><td>O</td><td>Máx. bancos suportados</td><td>10</td></tr><tr><td>MaxWorkSuitNum</td><td>uint32</td><td>O</td><td>Capacidade de armazenamento</td><td>1000</td></tr><tr><td>MultiAppendPicLength</td><td>int32</td><td>O</td><td>Tamanho batch import (KB)</td><td>5000</td></tr><tr><td>SinglePicMaxLength</td><td>int32</td><td>O</td><td>Tamanho máximo imagem (KB)</td><td>3000</td></tr><tr><td>SingleLinkGroupNum</td><td>uint8</td><td>O</td><td>Grupos armados por canal</td><td>1</td></tr><tr><td>ImportBigNumber</td><td>uint32</td><td>O</td><td>Máx. imagens grandes por vez</td><td>40</td></tr><tr><td>AlgoList.AlgoName</td><td>char[128]</td><td>O</td><td>Nome do algoritmo</td><td>TrafficThrow</td></tr><tr><td>AlgoList.Subclasses</td><td>bool</td><td>O</td><td>Possui subtipos</td><td>false</td></tr><tr><td>AlgoList.IsPostiveSupport</td><td>uint8</td><td>O</td><td>Suporte alarmes real/falso</td><td>3</td></tr><tr><td>OpenAlgoList</td><td>char[][64]</td><td>O</td><td>Lista algoritmos abertos</td><td>["1","s"]</td></tr><tr><td>GroupTypeList.GroupType</td><td>enumchar[32]</td><td>O</td><td>Tipo de banco funcional</td><td>FilterEvent</td></tr><tr><td>GroupTypeList.MaxGroupNum</td><td>uint32</td><td>O</td><td>Máx. grupos</td><td>10</td></tr><tr><td>GroupTypeList.PicStorageNum</td><td>uint32</td><td>O</td><td>Máx. imagens armazenadas</td><td>1000</td></tr><tr><td>GroupTypeList.ImportSmallNumber</td><td>uint32</td><td>O</td><td>Máx. imagens pequenas</td><td>50</td></tr><tr><td>GroupTypeList.SupportDetectWay</td><td>int8</td><td>O</td><td>Métodos de importação</td><td>2</td></tr><tr><td>GroupTypeList.SupportedChannel</td><td>bool</td><td>O</td><td>Suporte por canal</td><td>true</td></tr><tr><td>GroupTypeList.SupportDisposition</td><td>bool</td><td>O</td><td>Suporte armamento</td><td>true</td></tr><tr><td>GroupTypeList.Similarity</td><td>uint8</td><td>O</td><td>Similaridade padrão</td><td>80</td></tr><tr><td>Condition.GroupID</td><td>char[][]</td><td>R</td><td>Lista de grupos buscados</td><td>["00001"]</td></tr><tr><td>Condition.FeatureState</td><td>uint8[]</td><td>O</td><td>Estado da feature</td><td>[1,2]</td></tr><tr><td>Results.Found</td><td>int</td><td>R</td><td>Itens encontrados</td><td>12</td></tr><tr><td>Results.PicInfoList.BigID</td><td>char[64]</td><td>O</td><td>ID imagem grande</td><td>12</td></tr><tr><td>Results.PicInfoList.BigUrl</td><td>char[128]</td><td>O</td><td>URL imagem grande</td><td>/mnt/a.jpg</td></tr><tr><td>Results.PicInfoList.GroupID</td><td>char[64]</td><td>O</td><td>ID banco</td><td>12</td></tr><tr><td>Results.PicInfoList.SmallID</td><td>char[64]</td><td>O</td><td>ID imagem pequena</td><td>1</td></tr><tr><td>Results.PicInfoList.SmallUrl</td><td>char[64]</td><td>O</td><td>URL imagem pequena</td><td>/mnt/small.jpg</td></tr><tr><td>Results.PicInfoList.BigImportTime</td><td>uint32</td><td>O</td><td>Importação UTC grande</td><td>1634604944</td></tr><tr><td>Results.PicInfoList.SmallImportTime</td><td>uint32</td><td>O</td><td>Importação UTC pequena</td><td>1634604948</td></tr><tr><td>Results.PicInfoList.FeatureState</td><td>uint8</td><td>O</td><td>Estado modelagem</td><td>1</td></tr><tr><td>Results.PicInfoList.BigName</td><td>char[64]</td><td>O</td><td>Nome imagem grande</td><td>aa.jpg</td></tr><tr><td>Results.PicInfoList.SmallName</td><td>char[64]</td><td>O</td><td>Nome imagem pequena</td><td>aa_1.jpg</td></tr><tr><td>FeatureID</td><td>char[][]</td><td>O</td><td>IDs de features</td><td>["123","234"]</td></tr><tr><td>Group.GroupID</td><td>char[64]</td><td>R/O</td><td>ID banco</td><td>0001</td></tr><tr><td>Group.GroupName</td><td>char[128]</td><td>R/O</td><td>Nome banco</td><td>Express</td></tr><tr><td>Group.GroupDetail</td><td>char[256]</td><td>O</td><td>Descrição</td><td>Homeowner</td></tr><tr><td>Group.Similarity</td><td>uint</td><td>O</td><td>Similaridade</td><td>23</td></tr><tr><td>Group.SampleAttribute</td><td>uint8</td><td>O</td><td>Tipo amostra</td><td>1</td></tr><tr><td>Group.Enable</td><td>bool</td><td>O</td><td>Banco ativo</td><td>true</td></tr><tr><td>Group.AlgoType</td><td>char[64]</td><td>O</td><td>Tipo algoritmo</td><td>WorkSuit</td></tr><tr><td>Group.DetectType</td><td>char[64]</td><td>O</td><td>Tipo detecção</td><td>BODY_WHOLE</td></tr><tr><td>Group.GroupType</td><td>char[32]</td><td>O</td><td>Tipo banco</td><td>FilterEvent</td></tr><tr><td>Group.Channel</td><td>int32</td><td>O</td><td>Canal associado</td><td>0</td></tr><tr><td>Group.ClassType</td><td>char[32]</td><td>O</td><td>Classe serviço</td><td>Normal</td></tr><tr><td>Group.RuleType</td><td>char[32]</td><td>O</td><td>Regra</td><td>CrossLineDetection</td></tr><tr><td>Group.ObjectType</td><td>char[32]</td><td>O</td><td>Tipo objeto</td><td>Human</td></tr><tr><td>Group.Disposition.DeployedChannel</td><td>int16</td><td>O</td><td>Canal armado</td><td>0</td></tr><tr><td>Group.Disposition.Similarity</td><td>uint8</td><td>O</td><td>Similaridade canal</td><td>90</td></tr><tr><td>Group.Disposition.Enable</td><td>bool</td><td>O</td><td>Canal armado ativo</td><td>false</td></tr><tr><td>GroupList.GroupID</td><td>char[64]</td><td>O</td><td>ID grupo</td><td>000001</td></tr><tr><td>GroupList.GroupName</td><td>char[128]</td><td>O</td><td>Nome grupo</td><td>Express</td></tr><tr><td>GroupList.GroupSize</td><td>int32</td><td>O</td><td>Nº features</td><td>30</td></tr><tr><td>GroupList.RegisterStatus</td><td>uint</td><td>O</td><td>Status armamento</td><td>2</td></tr></tbody></table>

***

### Definição dos Estados&#x20;

#### FeatureState

| Valor | Significado          |
| ----- | -------------------- |
| 0     | Não modelado         |
| 1     | Modelado com sucesso |
| 2     | Falha na modelagem   |

#### RegisterStatus

| Valor | Significado |
| ----- | ----------- |
| 0     | Inicial     |
| 1     | Processando |
| 2     | Pronto      |

***

### Segurança&#x20;

* Recomenda-se HTTPS
* Tokens possuem tempo de expiração
* Credenciais não devem ser expostas
* Controle de acesso por perfil de usuário
* Logs de auditoria recomendados

### Performance e Impacto

* Importações massivas impactam CPU
* Remodelagem pode bloquear temporariamente análise
* Grandes bancos aumentam tempo de busca
* Streaming multipart requer buffer adequado

***

### Baixar partes da imagem

**Tópicos:** Realiza download parcial de arquivos de imagem armazenados no banco de experiência, permitindo leitura segmentada via streaming multipart.

**Métodos: `POST`**` ``/cgi-bin/api/RemoteExperienceRegistry/downloadPiece`

**Exemplo:**

```json
{
 "fileName": "icon1.png",
 "offset": 1024,
 "needLength": 32768,
 "Channel": 1
}
```

**Resposta**:

```http
HTTP/1.1 200 OK
Content-Type: multipart/x-mixed-replace; boundary=<boundary>
Connection: close
--<boundary>--
Content-Type: application/json
Content-Length: <data length>
{
 "fileLength" : 124879,
 "packetLength": 16384
}
--<boundary>--
Content-Type: Application/octet-stream
Content-Length: 16384
<bytes of file>
--<boundary>--
```

### Obter Token Adicional

**Tópicos:** Gera token temporário necessário para operações assíncronas de importação ou remodelagem.

**Métodos: `POST`**` ``/cgi-bin/api/RemoteExperienceRegistry/getDetectToken`

Resposta:

```
```

### Importar Múltiplas Imagens

**Tópicos:** Adiciona várias imagens ao banco de experiência de forma assíncrona, iniciando modelagem automática.

**Métodos: `POST`**` ``/cgi-bin/api/RemoteExperienceRegistry/multiAppend`

**Exemplo:**

```json
Content-Type: application/json
Content-Length: <data length>
{
 "PicInfo": [
 {
 "GroupID": "1",
 "BigID": "1",
 "BigName": "aaaaa",
 "Image": {
 "Width": 100,
 "Height": 50,
 "Offset": 0,
 "Length": 100000,
 "FilePath": "/mnt/2010/8/1/dav/15:40:50.jpg"
 },
 "SmallName": "aaaaa",
 "ObjectRect": [
 [
 0,
 0,
 100,
 100
 ]
 ]
 }
 ],
 "Info": {
 "Token": 1,
 "State": false,
 "DetectWay": 2
 }
}
--<boundary>
Content-Type: image/jpeg
Content-Length: <image size>
<Jpeg image data>
--<boundary>
```

**Resposta**:

```json
{
 "ErrCode": [
 1,
 2
 ],
 "SuccessPicInfo": [
 {
 "ID": "1",
 "Name": "aaa",
 "Url": "/mnt/a.jpg"
 }
 ]
}
```

### Consultar Espaço do Banco

**Tópicos:** Retorna informações sobre armazenamento total e disponível dos bancos de experiência.

**Métodos: `POST`**` ``/cgi-bin/api/RemoteExperienceRegistry/getGroupSpaceI nfo`

Resposta:

```
```

### Obter Capacidades do Banco

**Tópicos:** Consulta limites, algoritmos suportados, tamanho máximo de imagens e regras de importação.

**Métodos: `POST`**` ``/cgi-bin/api/RemoteExperienceRegistry/getCaps`

**Exemplo:**

```json
{
 "AlgoType": "workSuit",
 "Channel": 1
}
```

**Resposta**:

```json
{
 "MaxGroupNum": 10,
 "MaxWorkSuitNum": 1000,
 "MultiAppendPicLength": 5000,
 "SinglePicMaxLength": 3000,
 "SingleLinkGroupNum": 1,
 "ImportBigNumber": 40,
 "GroupTypeList": [
 {
 "GroupType": "FilterEvent",
 "MaxGroupNum": 10,
 "PicStorageNum": 1000,
 "ImportSmallNumber": 50,
 "SupportDetectWay": 2,
 "SupportedScenes": [
 {
 "ClassType": "Normal",
 "ClassAlias": "",
 }
 ],
 "SupportedChannel": true,
 "SupportDisposition": true,
 "SinglePicMaxLength": 4096,
 "ImportBigNumber": 50,
 "Similarity": 80
 }
 ]
}
```

### Iniciar Busca de Imagens

**Tópicos:** Abre sessão de pesquisa no banco com filtros de grupo/estado, retornando token de consulta.

**Métodos: `POST`**` ``/cgi-bin/api/RemoteExperienceRegistry/startFind`

**Exemplo:**

```json
{
 "Condition": {
 "GroupID": [
 "00001",
 "00002"
 ],
 "FeatureState": [
 0,
 1
 ]
 },
 "Channel": 1
}
```

**Resposta**:

```json
{
 "Token": 2342343,
 "TotalCount": 3333
}
```

### Ler Resultados de Busca

**Tópicos:** Obtém registros encontrados na pesquisa usando paginação baseada em token.

**Métodos: `POST`**` ``/cgi-bin/api/RemoteExperienceRegistry/doFind`

**Exemplo:**

```json
{
 "Condition": {
 "Token": 46878,
 "BeginNumber": 0,
 "Count": 20
 },
 "Channel": 1
}
```

**Resposta**:

```json
{
 "Results": {
 "Found": 12,
 "PicInfoList": [
 {
 "BigID": "12",
 "BigUrl": "/mnt/a.jpg",
 "Object": null,
 "GroupID": "12",
 "SmallID": "1",
 "SmallUrl": "/mnt/small.jpg",
 "BigImportTime": 1634604944,
 "SmallImportTime": 1634604948,
 "Image": {
 "Length": 100000
 },
 "FeatureState": 1,
 "EventInfo": {
 "Channel": 1,
 "Class": "SmokeFire",
 "RuleType": "SmokeDetection",
 "ObjectType": "Smoke",
 "PtzPresetId": 1
 },
 "BigName": "aa.jpg",
 "SmallName": "aa_1.jpg"
 }
 ]
 }
}
```

### Encerrar Busca

**Tópicos:** Finaliza sessão de pesquisa e libera recursos internos.

**Métodos: `POST`**` ``/cgi-bin/api/RemoteExperienceRegistry/stopFind`

**Exemplo:**

```json
{
 "Token": 46878,
 "Channel": 1
}
```

### Remodelar Imagens

**Tópicos:** Reprocessa imagens específicas para reconstrução de features/modelagem.

**Métodos: `POST`**` ``/cgi-bin/api/RemoteExperienceRegistry/reAbstract`

**Exemplo:**

```json
{
 "GroupID": "00001",
 "PicInfoList": [
 {
 "SmallID": "111"
 }
 ],
 "Channel": 1
}
```

**Resposta**:

```json
{
 "Token": 1
}
```

### Remodelar Grupo Completo

**Tópicos:** Refaz modelagem de todos os itens de um ou mais bancos de experiência.

**Métodos: `POST`**` ``/cgi-bin/api/RemoteExperienceRegistry/groupReAbstract`

**Exemplo:**

```json
{
 "GroupID": [
 "00001"
 ],
 "Channel": 1
}
```

**Resposta**:

```json
{
 "Token": 1
}
```

### Excluir Imagens

**Tópicos:** Remove imagens/features específicas armazenadas no banco.

**Métodos: `POST`**` ``/cgi-bin/api/RemoteExperienceRegistry/deleteByFeatureI`

**Exemplo:**

```json
{
 "FeatureID": [
 "123",
 "234"
 ],
 "GroupID": "5",
 "SmallID": [
 "123",
 "234"
 ],
 "Channel": 1
}
```

**Resposta**:

```json
{
 "ErrCode": [
 1,
 2
 ]
}
```

### Criar Banco de Experiência

**Tópicos:** Cria novo banco/grupo de aprendizado com parâmetros de algoritmo e regras.

**Métodos: `POST`**` ``/cgi-bin/api/RemoteExperienceRegistry/createGroup`

**Exemplo:**

```json
{
 "Group": {
 "GroupName": "Express",
 "CutoutPolicy": 1,
 "GroupDetail": "Homeowner",
 "OpenType": "2",
 "Similarity": 23,
 "SampleAttribute": 1,
 "Enable": true,
 "AlgoType": "WorkSuit",
 "DetectType": "BODY_WHOLE",
 "GroupType": "FilterEvent",
 "Channel": 0,
 "ClassType": "Normal",
 "RuleType": "CrossLineDetection",
 "ObjectType": "Human",
 "Disposition": [
 {
 "DeployedChannel": 0,
 "Similarity": 90,
 "Enable": false
 }
 ]
 },
 "GroupID": "11",
 "Channel": 1
}
```

**Resposta**:

```json
{
 "GroupID": "11",
 "GroupNumID": null
}
```

### Consultar Grupo

**Tópicos:** Lista bancos existentes e seus parâmetros operacionais.

**Métodos: `POST`**` ``/cgi-bin/api/RemoteExperienceRegistry/findGroup`

**Exemplo:**

```json
{
 "GroupID": [
 "000001"
 ],
 "GroupType": "FilterEvent",
 "Channel": 1
}
```

**Resposta**:

```json
{
 "GroupList": [
 {
 "GroupID": "000001",
 "GroupName": "Express",
 "CutoutPolicy": 0,
 "GroupDetail": "Homeowner",
 "GroupSize": 30,
 "TaskIDs": [
 1,
 2
 ],
 "OpenType": "2",
 "RegisterStatus": 2,
 "Similarity": 23,
 "SampleAttribute": 1,
 "Enable": true,
 "DetectType": "BODY_UPPER",
 "AlgoType": "WorkSuit",
 "GroupNumID": 1,
 "GroupType": "FilterEvent",
 "Channel": 0,
 "ClassType": "Normal",
 "ClassAlias": "",
 "RuleType": "CrossLineDetection",
 "EventType": "CrossLineDetection",
 "ObjectType": "Human",
 "Disposition": [
 {
 "DeployedChannel": 0,
 "Similarity": 90,
 "Enable": false
 }
 ]
 }
 ]
}
```

### Modificar Grupo

**Tópicos:** Atualiza configurações de um banco existente.

**Métodos: `POST`**` ``/cgi-bin/api/RemoteExperienceRegistry/modifyGroup`

**Exemplo:**

```json
{
 "Group": {
 "GroupID": "0001",
 "GroupName": "Park",
 "GroupDetail": "Homeowner",
 "Similarity": 23,
 "Enable": true,
 "Disposition": [
 {
 "DeployedChannel": 0,
 "Similarity": 90,
 "Enable": false
 }
 ]
 },
 "Channel": 1
}
```

**Resposta**:

```json
{
 "ErrCode": 1,
 "TaskIds": [
 1,
 2
 ],
 "ChannelIntelliList": [
 3,
 4
 ]
}
```

### Excluir Grupo

**Tópicos:** Remove completamente um banco de experiência do dispositivo.

**Métodos: `POST`**` ``/cgi-bin/api/RemoteExperienceRegistry/deleteGroup`

**Exemplo:**

```json
{
 "GroupID": "000001",
 "Channel": 1
}
```

**Resposta**:

```json
{
 "ErrCode": 1,
 "TaskIds": [
 1
 ],
 "ChannelIntelliList": [
 1
 ]
}
```

***

Notas Finais:

* A API **RemoteExperienceRegistry** gerencia bancos de experiência usados para aprendizado, filtragem e modelagem de eventos.
* Pesquisas utilizam **tokens de sessão**, exigindo leitura paginada e encerramento explícito.
* Importação/modelagem de imagens ocorre de forma **assíncrona**, podendo gerar tokens adicionais.
* Transferências multipart enviam dados binários e metadados continuamente.
* Bancos possuem limites físicos e lógicos, valide capacidade antes de operações massivas.
* Remodelagem reprocessa features já armazenadas sem necessidade de reinserção.
* Estados de modelagem indicam disponibilidade para uso analítico.
* Comportamentos podem variar conforme firmware/modelo do dispositivo.
* Implementações robustas devem prever reconexão, timeout e tratamento de erro.

***


---

# 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-remoto-de-dados-analiticos.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.
