> 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/ct-5000-4pb/configuracao-de-credencial-controle-remoto/cadastrar-controle-remoto.md).

# Cadastrar Controle Remoto

O comando abaixo permite atribuir um ou mais controles remotos a um usuário ou a mais usuários.  Para cada Controle Remoto, é necessário informar o ID do usuário e seu respectivo código. O comando retorna um texto com o status da operação.\
\
Assim como o cadastro de cartão, não é possível atribuir um número de Controle Remoto para mais de um usuário.&#x20;

{% hint style="warning" %}
\- Para realizar o vínculo da credencial com o usuário, é necessário que o mesmo esteja cadastrado previamente - Os dados do Controle Remoto devem ser cadastrados em maiúsculas e em hexadecimal no dispositivo, exemplo: 12EA3004&#x20;

Obs.: Não é possível realizar o Update/Atualização do número do controle remoto, sendo necessário realizar a sua remoção e, após, a adição do novo controle remoto ao usuário. (1º SET - Remover Cartões, 2º SET - Cadastrar Cartões). Cadastro máximo de 10 cartões por chamada.
{% endhint %}

#### Requisição - POST

`http://192.168.1.201/cgi-bin/AccessWirelessCard.cgi?action=insertMulti`

#### Body - *application/json*

```json
  {
    "CardList": [
        {
            "UserID": "1",
            "CardName": "Teste123",
            "CardNo": "AA11BB22", // Wireless Card Number
            "KeyNumber": 2, // Intelbras Wireless Card model and ports that will be enabled => 1= bt100 | 2=EP02 | 4=EP4 
            "CardType": 0, // 0: Ordinary remote control, 1: VIP remote control, 2: Guest remote control, 3: Patrol remote control, 4: Blocklist remote control, 5: Duress remote control
            "CardStatus": 0, // Wireless Card Status. The same of the Card Status value
            "DoorForces": [  // Duress option per button | 0 = disabled | 1 = enabled
                0, // Button 1
                0, // Button 2
                0, // Button 3
                0 // Button 4
            ],
            "DoorReaders": [ // Door position to enable and open. The device will consider 04 doors (left to right), but the maximum to SS is 2 doors
                "1;0;0;0", // Button 1 - "1;" door 1 = 0: door disabled | 1: door enabled. || ";0;": door 2
                "1;0;0;0", // Button 2
                "0;0;0;0", // Button 3
                "0;0;0;0"  // Button 4
            ],
            "Doors": [ // 0: disabled | 1: enabled. This the button position to allow to open the door or not. 
                1, // Button 1
                1, // Button 2
                0, // Button 3
                0 // Button 4
            ]
        },
        {
            "UserID": "2",
            "CardName": "ABC123",
            "CardNo": "99CC8812",
            "KeyNumber": 2, 
            "CardType": 0, 
            "CardStatus": 0,
            "DoorForces": [
                0,
                0,
                0,
                0
            ],
            "DoorReaders": [
                "1;0;0;0",
                "1;0;0;0",
                "0;0;0;0",
                "0;0;0;0"
            ],
            "Doors": [
                1,
                1,
                0,
                0
            ]
        },
        {
            "UserID": "3",
            "CardName": "DFG231",
            "CardNo": "708001",
            "KeyNumber": 2,
            "CardType": 0,
            "CardStatus": 0,
            "DoorForces": [
                0,
                0,
                0,
                0
            ],
            "DoorReaders": [
                "1;0;0;0",
                "1;0;0;0",
                "0;0;0;0",
                "0;0;0;0"
            ],
            "Doors": [ 
                1,
                1,
                0,
                0
            ]
           
        }
    ]
}
```

| param            | type   | description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| ---------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `UserID` \*      | Number | ID do Usuário, exemplo: `16`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| `CardNo` \*      | String | Número do Controle Remoto                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| `CardType` \*    | Number | Tipo do Controle remoto `0: Ordinary remote control`, `1: VIP remote control`, `2: Guest remote control`, `3: Patrol remote control`, `4: Blocklist remote control`, `5: Duress remote control`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `CardStatus` \*  | Number | Status do Controle remoto `0: Normal`, `1: Cancelado`, `2: Congelado`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `KeyNumber` \*   | Number | Controle remoto que será utilizadao, `1: BT100`; `2: EP02`; `4: EP04`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `Doors` \*       | Number | <p>Indica quais portas serão acionadas por um determinado botão do controle remoto.<br><code>0</code>: Nenhuma porta habilitada<br><code>1</code>: Habilita a porta 1<br><code>2</code>: Habilita a porta 2<br><code>3</code>: Habilita as portas 1 e 2<br><code>4</code>: Habilita a porta 3<br><code>5</code>: Habilita as portas 1 e 3<br><code>6</code>: Habilita as portas 2 e 3<br><code>7</code>: Habilita as portas 1, 2 e 3<br><code>8</code>: Habilita a porta 4<br><code>9</code>: Habilita as portas 1 e 4<br><code>10</code>: Habilita as portas 2 e 4<br><code>11</code>: Habilita as portas 1, 2 e 4<br><code>12</code>: Habilita as portas 3 e 4<br><code>13</code>: Habilita as portas 1, 3 e 4<br><code>14</code>: Habilita as portas 2, 3 e 4<br><code>15</code>: Habilita todos as portas</p> |
| `DoorsForces` \* | Number | Habilita coação para o botão  do controle remoto `0: Desabilitado`, `1: Habilitado`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| `DoorReaders` \* | String | <p>Habilita a posição do botão para abrir a porta. <br>Sua estrutura é formada para quatro portas para cada botão, separadas por ";" (ponto e vírgula).</p><p><br>Portanto, a representação por botão poderá ser no máximo "1;1;1;1", sendo  <code>0: Desabilitado</code>, <code>1: Habilitado</code></p><p><br>""1;1;1;1", sendo da esquerda para a direita "Porta1:Porta2:Porta3:Porta4"<br></p>                                                                                                                                                                                                                                                                                                                                                                                                                |

Permitido no máximo 10 controles remotos por requisição.

{% hint style="info" %}
Deve atentar-se aos campos *Doors, DoorsOrAlarm* e *AlarmOutChannels* para que seja feita a correta configuração, ou seja, observar a posição do botão e habilitação correta para o uso da saída correspondente (porta ou saída de alarme).
{% endhint %}

#### Exemplo de Retorno - *text/plain*

```sh
OK
```

#### Exemplos

{% tabs %}
{% tab title="Python" %}

```python
import requests

device_ip = '10.1.35.144'
username = 'admin'
password = 'admin4321'
 
CardList = (
 
       {
    "CardList": [
        {
            "UserID": "1",
            "CardName": "Teste123",
            "CardNo": "AA11BB22",
            "KeyNumber": 2,
            "CardType": 0,
            "CardStatus": 0,
            "DoorForces": [
                0,
                0,
                0,
                0
            ],
            "DoorReaders": [
                "1;0;0;0",
                "1;0;0;0",
                "0;0;0;0",
                "0;0;0;0"
            ],
            "Doors": [
                1,
                1,
                0,
                0
            ]
           
        },
        {
            "UserID": "2",
            "CardName": "ABC123",
            "CardNo": "99CC8812",
            "KeyNumber": 2, 
            "CardType": 0, 
            "CardStatus": 0,
            "DoorForces": [
                0,
                0,
                0,
                0
            ],
            "DoorReaders": [
                "1;0;0;0",
                "1;0;0;0",
                "0;0;0;0",
                "0;0;0;0"
            ],
            "Doors": [
                1,
                1,
                0,
                0
            ]
        }
    ]
} )
 
url = "http://{}/cgi-bin/AccessWirelessCard.cgi?action=insertMulti".format(
                        str(device_ip),
                    )
 
digest_auth = requests.auth.HTTPDigestAuth(username, password)
rval = requests.get(url, data=CardList, auth=digest_auth, stream=True, timeout=20, verify=False)
 
print(rval.text)plo de Retorno - text/plain
```

{% endtab %}
{% endtabs %}

### Atualização das informações

Conforme dito no ínicio da documentação, não é possível atualizar o número cadastrado do controle remoto e sim, somente as informações pertinentes a ele.\
\
Para isso, pode ser utilizado o comando "*updateMulti"* com o mesmo corpo (*body)* do comando "*insertMulti"*. <br>

#### Requisição - POST

`http://192.168.1.201/cgi-bin/AccessWirelessCard.cgi?action=updateMulti`

#### Exemplo de Retorno - *text/plain*

```sh
OK
```


---

# 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/ct-5000-4pb/configuracao-de-credencial-controle-remoto/cadastrar-controle-remoto.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.
