> 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/credenciais/manutenir-tag-xid.md).

# Manutenir TAG (XID)

O comando manutenir *tag* (**MT**) é utilizado para realizar as operações de CRUD (acrônimo de Create Read Update Delete) nos dados de um determinado chaveiro XID. O valor para identificar o comando **MT** é **0x06**. 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 chaveiro XID.

As manutenções referentes ao cadastro de um chaveiro podem ser realizadas através de qualquer dispositivo com acesso ao MIP 1000 IP. 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 usuário, 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 1000 IP, o campo “**dados**” deste comando contenha somente o ID (4 bytes) do usuário que deseja fazer a operação e consequentemente 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 1000 IP 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   | Código  | Status | Data    | Modelo  | Marca   | Placa   | Cor     |
| -- | ------- | ------- | ------ | ------- | ------- | ------- | ------- | ------- |
|    | usuário |         |        |         | Veiculo | Veiculo | Veiculo | Veiculo |
| 4B | 4 Bytes | 4 Bytes | 1 Byte | 6 Bytes | 18B     | 18B     | 7B      | 18B     |

Descrição dos campos do comando:

| Campo         | Descrição                                                                                                                                                                                                                                                      |
| ------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| ID            | Campo que possui um número único identificador da TAG. Sempre maior que zero e seu valor máximo corresponde ao total de chaveiros XID cadastrados no MIP 1000 IP. 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.                                                                           |
| Código        | Campo que possui um código numérico de identificação do chaveiro XID. Valor capturado pelo MIP 1000 IP através do comando “Ler TAG RFID (LT)” visto posteriormente. Exemplo para o código 1: MSB 0x01 00 00 00 LSB.                                            |

| Status         | Este campo é “oculto” no cadastro do chaveiro RFID. Ele deve ser utilizado para sinalizar se o chaveiro está ativo (valor 0), inativo (1) ou inativo por perda/roubo (2).                                                                                                                   |
| -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Data           | Campo que contém a data de cadastro do chaveiro RFID. 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. |
| 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 utilizados devem ser completadas com 0x00.  |
| Marca Veiculo  | 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 utilizados devem ser completadas com 0x00.   |
| Placa Veiculo  | 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 Veiculo    | 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.            |

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

Sendo que no campo **ID**, quando houver a edição dos dados de um chaveiro XID deve-se sempre ter o ID válido deste chaveiro. Se a operação for de inclusão, este campo ID deve ser o valor do **total de chaveiros** **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:

#### Id moradores ID vistantes/prest

4B 4B

Descrição dos campos do comando:

ID moradores: Campo que possui um número único do próximo identificador do recurso. Exemplo para o ID: 1 **MSB** 0x01 00 00 00 **LSB.**&#x20;

ID não moradores: Campo que possui um número único do próximo identificador do recurso. Exemplo moradores para o ID: 1 **MSB** 0x01 00 00 80 **LSB.**

Para saber quantos chaveiros 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 1000 IP 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.                                                          |


---

# 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/credenciais/manutenir-tag-xid.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.
