> 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/mip-1000-ip/usuarios/manutenir-template.md).

# Manutenir Template

O comando manutenir template (MTE) é utilizado para realizar as operações de CRUD (acrônimo de Create Read Update Delete) nos dados de um determinado template biométrico, além dos comandos de solicitação e status de captura de digitais. O valor para identificar o comando MTE é 0x3A. Esse comando é utilizado sempre que algum dispositivo desejar informar ao outro sobre a inclusão, alteração, busca dos dados ou exclusão de um Template ou comandos de solicitação e status de captura. As manutenções referentes ao cadastro de um template podem ser realizadas através de qualquer dispositivo com acesso ao MIP. Esse comando é complementado através de flags de apoio que sinalizam a opção desejada, ou seja, através do campo “flag” é sinalizado a operação que se deseja realizar com o template, inclusão (INCLUIR\_RECURSO), alteração (ALTERAR\_RECURSO), busca dos dados (BUSCAR\_RECURSO) ou exclusão (EXCLUIR\_RECURSO). As flags de exclusão (flag EXCLUIR\_RECURSO) ou busca (flag BUSCAR\_ RECURSO) necessitam que, ao serem enviadas para o MIP, o campo “dados” deste comando contenha somente o ID (4 bytes) do usuário que deseja fazer a operação e o campo “tamanho do campo de dados” será de 0x04 00. Este comando com a flag de EXCLUIR\_RECURSO tem como resposta o datagrama padrão enviado pelo MIP com o campo de dados zerado e com uma das flags indicadas abaixo:

| SUCESSO                 | Enviado caso a operação tenha sido realizada com sucesso.                                                             |
| ----------------------- | --------------------------------------------------------------------------------------------------------------------- |
| FALHA                   | Sinaliza falha na execução da operação solicitada.                                                                    |
| ERRO\_CHKS              | Enviado se ocorreu um erro de CHKS na conferência dos dados.                                                          |
| IDENTIFICADOR\_RECUSADO | Sinaliza que o id (identificador) enviado é inválido, pois já existe um recurso cadastrado no sistema com o mesmo id. |
| COMANDO\_INV            | Sinaliza o recebimento de um comando inválido, desconhecido.                                                          |

Este comando com a flag de **BUSCAR\_RECURSO** tem como resposta o datagrama padrão enviado pelo MIP 1000 IP e com o campo de dados zerado se o ID não for encontrado ou houver algum problema sinalizado pelas *flags*já vistas acima, exceto SUCESSO. Caso o comando tenha sido executado com sucesso o datagrama retornará com a flag SUCESSO e com o campo de dados com os seguintes dados com seu tamanho dado em bytes:

| ID  | ID do usuário | Status | Data | Tipo do template | Tamanho Código |
| --- | ------------- | ------ | ---- | ---------------- | -------------- |
| 4 B | 4 Bytes       | 1 B    | 6 B  | 1 Byte           | 2 Bytes        |

| Modelo Veículo | Marca Veículo | Placa Veículo | Cor Veículo | Código       | Categoria Template (> 2.0.0) |
| -------------- | ------------- | ------------- | ----------- | ------------ | ---------------------------- |
| 18B            | 18B           | 7B            | 18B         | 0 até 1667 B | 1B                           |

Descrição dos campos do comando:

| Campo          | Descrição                                                                                                                                                                                                                                                      |
| -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ID do Template | Campo que possui um número único identificador do template. Sempre maior que zero e seu valor máximo corresponde ao total de digitais cadastrados no MIP. Os dados desse campo possuem o seguinte formato: Exemplo para o ID: 1 **MSB** 0x01 00 00 00 **LSB**. |
| ID do usuário  | Campo que possui um número único identificador do usuário já cadastrado no MIP 1000 IP. Os dados desse campo possuem o seguinte formato: Exemplo para o ID: 1 **MSB** 0x01 00 00 00 **LSB**.                                                                   |
| Status         | Este campo é “oculto” no cadastro da digital. Ele deve ser utilizado para sinalizar se a digital está ativa (valor 0), inativo (1) ou inativo por perda/roubo (2).                                                                                             |

| Campo                        | Descrição                                                                                                                                                                                                                                                                                                                                          |
| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Data                         | Campo que contém a data de cadastro da TAG. Essa data é formada pelos campos: dd -> dia, mm -> mês, aa -> ano, hh -> hora, mm -> minuto, ss -> segundo. Os dados desse campo possuem o seguinte formato: exemplo para a data: 27/06/2012 15:14:26 => **MSB** 0x1B 06 0C 0F 0E 1A **LSB**.                                                          |
| Tipo do template             | Campo que indica o tipo da template: 0 = TEMPLATE de ACESSO e 1 = TEMPLATE de PÂNICO;                                                                                                                                                                                                                                                              |
| Tamanho Código               | Campo que possui um tamanho em bytes do código numérico de identificação do template.                                                                                                                                                                                                                                                              |
| Modelo veículo               | Campo que contém o modelo do veículo com caracteres no formato ASCII. Os dados desse campo possuem o seguinte formato: exemplo para o Modelo: Atlas => **MSB** 0x41 74 6C 61 73 00 ... 00 **LSB**. As posições (bytes) restantes do campo que não serão utilizadas devem ser completadas com 0x00.                                                 |
| Marca Veículo                | Campo que contém a marca do veículo com caracteres no formato ASCII. Os dados desse campo possuem o seguinte formato: exemplo para o Modelo: Atlas => **MSB** 0x41 74 6C 61 73 00 ... 00 **LSB**. As posições (bytes) restantes do campo que não serão utilizadas devem ser completadas com 0x00.                                                  |
| Placa Veículo                | Campo que contém a placa do veículo com caracteres no formato ASCII. Os dados desse campo possuem o seguinte formato: exemplo para a placa: HEG-4833 => **MSB** 0x48 45 47 34 38 33 33 **LSB**.                                                                                                                                                    |
| Cor Veículo                  | Campo que contém a cor do veículo com caracteres no formato ASCII. Os dados desse campo possuem o seguinte formato: exemplo para a cor: Azul => **MSB** 0x41 7A 75 6C 00 ... 00 **LSB**. As posições (bytes) restantes do campo que não serão utilizados devem ser completadas com 0x00.                                                           |
| Código                       | Campo de dados variável de acordo com campo “tamanho Código”, aqui contem a template da digital.                                                                                                                                                                                                                                                   |
| Categoria Template (> 2.0.0) | <p>Campo a partir da versão 2.0.0 do mip ip, contém a categoria do template que indica com quais dispositivos o template é compatível; caso este campo não esteja preenchido é assumido o valor zero.<br><br><strong>Categoria da digital:</strong><br><br>0 – Digitais compatíveis com Bioinov;<br><br>1 – Digitais compatíveis com SS3430MF;</p> |

Este comando com a flag de INCLUIR\_RECURSO ou ALTERAR\_RECURSO ao ser enviado para o MIP 1000 IP, permite com que um template seja incluído e editado respectivamente. Em ambos os casos o datagrama a ser enviado para o MIP deve ter no seu campo de dados as seguintes informações abaixo com o preenchimento obedecendo a tabela acima.

Sendo que no campo ID, quando houver a edição dos dados de um template deve-se sempre ter o ID válido deste template. Se a operação for de inclusão, este campo ID deve ser o valor do total de templates do sistema mais um.\
Caso o id enviado não seja um id valido o MIP 1000 IP irá responder o comando com flag IDENTIFICADOR\_INVALIDO e o campo de dados da seguinte maneira:

<table><thead><tr><th width="73">ID</th></tr></thead><tbody><tr><td>4B</td></tr></tbody></table>

Descrição dos campos do comando:

<table><thead><tr><th width="317">Campo</th><th>Descrição</th></tr></thead><tbody><tr><td>ID</td><td>Campo que possui um número único do próximo identificador do recurso. Exemplo para o ID: 1 MSB 0x01 00 00 00 LSB.</td></tr></tbody></table>

Para saber quantas digitais temos cadastrados, use o comando VS (Verificar Sincronismo) que está descrito abaixo neste documento.\
Com o uso destas flags de inclusão ou alteração, o MIP pode retornar todas as flags abaixo, manifestar-se o comando foi efetivo ou não. O datagrama terá o tamanho padrão com as flags:

| SUCESSO                 | Enviado caso a operação tenha sido realizada com sucesso.                                                             |
| ----------------------- | --------------------------------------------------------------------------------------------------------------------- |
| FALHA                   | Sinaliza falha na execução da operação solicitada.                                                                    |
| ERRO\_CHKS              | Enviado se ocorreu um erro de CHKS na conferência dos dados.                                                          |
| IDENTIFICADOR\_RECUSADO | Sinaliza que o id (identificador) enviado é inválido, pois já existe um recurso cadastrado no sistema com o mesmo id. |
| COMANDO\_INV            | Sinaliza o recebimento de um comando inválido, desconhecido.                                                          |

Este comando enviado para o dispositivo com a FLAG de INICIO\_BUSCA\_TEMPLATE tem o campo “dados” o ID do endereço do dispositivo que fará a busca do template. Em caso de SUCESSO a resposta do MIP deve conter a FLAG SUCESSO e o seguinte campo de dados:

<table><thead><tr><th width="317">ID do dispositivo</th><th>Número do leitor (em implementação)</th></tr></thead><tbody><tr><td>4 Bytes</td><td>1 Byte</td></tr></tbody></table>

Descrição dos campos do comando:

| Campo             | Descrição                                                                            |
| ----------------- | ------------------------------------------------------------------------------------ |
| ID do dispositivo | Campo que possui um número único identificador do dispositivo, já cadastrado no MIP. |
| Número do leitor  | Campo que indica para CT 3000 2PB qual leitor irá capturar a digital do usuário.     |

Em caso de **FALHA** a resposta do MIP deve conter o datagrama padrão enviado pelo MIP com as possíveis **FLAGS**:

| FALHA                   | Sinaliza falha na execução da operação solicitada.                                                                                       |
| ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| ERRO\_CHKS              | Enviado se ocorreu um erro de CHKS na conferência dos dados.                                                                             |
| IDENTIFICADOR\_INVALIDO | Sinaliza que o id (identificador) enviado é inválido, pois o endereço enviado não está cadastrado ou não é de um dispositivo biométrico. |
| IDENTIFICADOR\_RECUSADO | Sinaliza que já existe um processo de captura iniciado e não foi finalizado.                                                             |
| COMANDO\_INV            | Sinaliza o recebimento de um comando inválido, desconhecido.                                                                             |

Este comando enviado para o MIP com a **FLAG de BUSCA\_TEMPLATE\_COMPLETA** tem o campo “dados” o id da captura do template recebido como resposta a este comando com a **FLAG de INICIO\_BUSCA\_TEMPLATE**.

| Id da captura |
| ------------- |
| 4 Bytes       |

#### Descrição dos campos do comando:

| Campo         | Descrição                                                                                                                        |
| ------------- | -------------------------------------------------------------------------------------------------------------------------------- |
| Id da captura | Campo que possui um código numérico da ID da captura. Este valor deve ser enviado para requisitar o template em caso de sucesso. |

Este comando com a **FLAG de BUSCA\_TEMPLATE\_COMPLETA** tem como resposta o datagrama padrão enviado pelo MIP e com o campo de dados zerado e sinalizado pelas flags **IGNORAR** caso o dispositivo esteja no processo de cadastro de uma template.

| IGNORAR | Enviado caso o dispositivo esteja no processo de cadastro de uma template. |
| ------- | -------------------------------------------------------------------------- |

Em caso de SUCESSO a resposta do dispositivo deve conter a FLAG SUCESSO e o seguinte campo de dados:

| **Código** |
| ---------- |
| 1667 Bytes |

Descrição dos campos do comando:

| **Campo** | **Descrição**                                                                                       |
| --------- | --------------------------------------------------------------------------------------------------- |
| Código    | Campo que possui um código numérico de identificação do template. Valor capturado pelo dispositivo. |

Durante o processo de cadastro no dispositivo quando o MIP recebe este comando a resposta é o datagrama padrão com a FLAG de IGNORAR.

| IGNORAR | Caso o sistema esteja fazendo o processo de cadastro. |
| ------- | ----------------------------------------------------- |

Em caso de FALHA a resposta do MIP deve conter o datagrama padrão enviado pelo MIP com as possíveis FLAGS:

| **FALHA**               | **Sinaliza falha na execução da operação solicitada.**                                                                                    |
| ----------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
| ERRO\_CHKS              | Enviado se ocorreu um erro de CHKS na conferência dos dados.                                                                              |
| IDENTIFICADOR\_INVALIDO | Sinaliza que o id (identificador) enviado é inválido, pois o identificador da captura do template não é o identificador enviado pelo MIP. |
| COMANDO\_INV            | Sinaliza o recebimento de um comando inválido, desconhecido.                                                                              |


---

# 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/mip-1000-ip/usuarios/manutenir-template.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.
