> For the complete documentation index, see [llms.txt](https://navixy.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://navixy.com/docs/user/pt-br/guide/devices-and-settings/object-management/commands.md).

# bloco Comandos permite que você defina comandos personalizados para um dispositivo no Navixy e os envie sob demanda a partir do widget Objeto do

Como salvar comandos para um dispositivo GPS, como uma reinicialização, imobilização do veículo ou um alerta de chat da equipe, e enviá-los a partir do Monitor ou do X-GPS Mobile.

Um comando é uma ação que você salva em um dispositivo e depois envia com um clique. Por exemplo, você pode reiniciar um dispositivo GPS que parou de enviar dados, imobilizar um veículo ou publicar a localização do veículo no chat da sua equipe. Você configura comandos para cada dispositivo em **Dispositivos e configurações** módulo. Depois, você os envia a partir do [widget Objeto](/docs/user/pt-br/guide/tracking/objects-list/object-widget.md) no módulo Monitor, ou a partir do [X-GPS Mobile](/docs/user/pt-br/guide/x-gps-mobile-apps/x-gps-mobile.md) aplicativo.

## O que você pode fazer com comandos

Estas são tarefas típicas que um comando salvo executa com um clique. A segunda coluna nomeia o tipo de comando que executa a tarefa. Um comando de dispositivo vai para o dispositivo GPS. Um comando de software envia uma solicitação para outro serviço, como um chat da equipe. [Comandos de dispositivo e comandos de software](#device-commands-and-software-commands) descreve ambos.

| Tarefa                                                                  | Tipo de comando        | O que acontece                                                                                                                                                                      |
| ----------------------------------------------------------------------- | ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Reiniciar um dispositivo que parou de enviar dados                      | Comando de dispositivo | O dispositivo recebe seu comando de reinicialização e reinicia.                                                                                                                     |
| Imobilizar um veículo                                                   | Comando de dispositivo | O dispositivo ativa a saída que está ligada ao imobilizador do veículo. Veja [Imobilização do veículo](#vehicle-immobilization).                                                    |
| Destravar uma porta ou ativar um alarme                                 | Comando de dispositivo | O dispositivo aciona a saída que controla a trava ou o alarme.                                                                                                                      |
| Alterar uma configuração do dispositivo para um novo valor a cada envio | Comando de dispositivo | Você insere o valor quando envia o comando, e o dispositivo o aplica. Veja [Solicitar um valor toda vez que você enviar um comando](#ask-for-a-value-each-time-you-send-a-command). |
| Publicar a localização e a velocidade do veículo em um chat da equipe   | Comando de software    | A Navixy envia a mensagem para o chat. Veja [Enviar localização e velocidade para o Slack](#send-location-and-speed-to-slack).                                                      |
| Enviar a localização do veículo para o seu CRM ou sistema de despacho   | Comando de software    | A Navixy envia a localização atual do dispositivo para o endereço do sistema.                                                                                                       |

## Comandos de dispositivo e comandos de software

A Navixy tem dois tipos de comandos. Eles diferem em para onde a ação é enviada:

* **Comando de dispositivo**: A Navixy envia uma instrução para o dispositivo GPS, e o dispositivo a executa. O dispositivo pode reiniciar, ligar ou desligar uma saída ou alterar uma de suas configurações. A instrução é um texto chamado string de comando. Cada modelo de dispositivo tem suas próprias strings de comando, que o fabricante lista na documentação do modelo.
* **Comando de software**: A Navixy envia uma solicitação para outro serviço, como um chat da equipe, um CRM ou seu próprio servidor. Nada é enviado ao dispositivo GPS. A solicitação pode incluir os dados atuais do dispositivo, como sua localização e velocidade.

Cada dispositivo tem sua própria lista de comandos. Um comando aparece apenas nos dispositivos aos quais você o adiciona ou [o copia para](#copy-commands-to-other-devices). Isso também se aplica a um comando de software: ele não envia nada para o dispositivo, mas envia os próprios dados desse dispositivo, como sua localização atual. Se alguém adicionou um comando de software a apenas um dispositivo, somente esse dispositivo o exibe.

## Imobilização do veículo

Para imobilizar um veículo com um comando, o veículo precisa de um imobilizador ou de um relé de imobilização conectado a uma das saídas do dispositivo GPS. O comando aciona essa saída. A string de comando vem da documentação do fabricante do dispositivo.

O que o veículo faz em seguida depende do imobilizador e de como ele está instalado, e ambos variam de um veículo e dispositivo para outro. Por exemplo, com uma instalação comum, o veículo continua em movimento, mas, depois que ele para e a ignição é desligada, ele não consegue ligar novamente. Para liberar o veículo, você pode adicionar um comando separado que reative a saída. Decida como configurar a imobilização e a liberação para seus veículos, tarefas e situações.

{% hint style="warning" %}
Um comando que aciona uma saída pode ser inseguro para um veículo em algumas situações, por exemplo enquanto o veículo está em movimento. Envie esses comandos com cautela extra e verifique primeiro a situação do veículo. A Navixy não verifica a velocidade nem a ignição do veículo antes de enviar um comando. Alguns dispositivos GPS têm sua própria lógica de segurança, que é descrita em [Controle de saídas](/docs/expert-center/pt-br/faq-and-troubleshooting/gps-devices/outputs-control.md).
{% endhint %}

## Quando usar o IoT Logic em vez disso

Comandos são para ações manuais: você decide quando enviar um comando, e o envia para um dispositivo por vez. Para enviar comandos automaticamente, por exemplo quando um valor de sensor ultrapassa um limite, ou para enviar o mesmo comando para muitos dispositivos, use [IoT Logic](/docs/user/pt-br/guide/account/iot-logic.md). Os seus **Ação** e **Webhook** nós executam as mesmas funções que os comandos de dispositivo e os comandos de software, dentro de um fluxo automatizado.

Automatize com cautela extra os comandos que acionam saídas, como a imobilização. Um fluxo automatizado envia o comando quando suas condições são atendidas, e ninguém verifica a situação do veículo naquele momento.

## Enviar um comando

Você envia um comando a partir do [widget Objeto](/docs/user/pt-br/guide/tracking/objects-list/object-widget.md) no módulo Monitor. Seu **Comandos** bloco lista os comandos do dispositivo. Um ícone de controle remoto marca um comando de dispositivo, e um ícone de colchetes angulares marca um comando de software.

A Navixy envia um comando assim que você clica no botão de envio, sem confirmação. A única exceção é um comando que [solicita um valor](#ask-for-a-value-each-time-you-send-a-command): ele abre primeiro um campo para o valor. Antes de enviar um comando que aciona uma saída, como a imobilização, verifique se ele é seguro para o veículo na situação atual. Veja [Imobilização do veículo](#vehicle-immobilization).

Para enviar um comando, siga estas etapas:

1. No módulo Monitor, abra o widget Objeto do dispositivo.
2. Expanda o **Comandos** bloco.
3. Clique no botão de envio ao lado do comando.
4. Se o comando solicitar um valor, digite até 500 caracteres e clique em **Enviar**.

<figure><img src="https://1308974401-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F446mKak1zDrGv70ahuYZ%2Fuploads%2Fgit-blob-d3074f8879c2b2a0b719e8d54783c387e53a2794%2Fobject-widget-commands.png?alt=media" alt="Object widget in the Tracking module with the Commands block expanded. It lists a device command named Device reboot and a software command named Notify Slack, each with a send button."><figcaption><p>Comandos no widget Objeto</p></figcaption></figure>

O aplicativo X-GPS Mobile mostra os mesmos comandos. Veja [Informações do ativo](/docs/user/pt-br/guide/x-gps-mobile-apps/x-gps-mobile/assets-list/asset-information.md#gps-device) para saber onde o aplicativo os lista. Você não pode adicionar nem alterar comandos no aplicativo.

## Resultados do comando

Depois que você envia um comando a partir do widget Objeto, a Navixy mostra uma notificação com o resultado:

* Para um comando de dispositivo, a notificação informa se a Navixy enviou o comando. Um resultado bem-sucedido significa que o comando saiu da Navixy. Isso não confirma que o dispositivo o executou.
* Para um comando de software, a notificação mostra o nome do comando e a resposta do serviço de destino. A resposta tem um código de status, um número que mostra se o serviço aceitou a solicitação, por exemplo `200` quando aceitou. Ela também contém o texto que o serviço retornou.

Cada comando enviado também aparece no [Eventos recentes](/docs/user/pt-br/guide/tracking/objects-list/object-widget.md#data-blocks) bloco do widget Objeto. Expanda a entrada para ver o resultado. Se o comando solicitou um valor, o título da entrada mostra o valor que você digitou ao lado do nome do comando, por exemplo `Atualizar status <on-line>`.

<figure><img src="https://1308974401-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F446mKak1zDrGv70ahuYZ%2Fuploads%2Fgit-blob-a0310f4425c07ba87b52177eb45073451f14a827%2Frecent-events-command-value.png?alt=media" alt="Recent events entry with the value that was sent shown in angle brackets next to the command name"><figcaption><p>Um comando enviado em Eventos recentes</p></figcaption></figure>

## Configurar comandos para um dispositivo

Para abrir os comandos de um dispositivo, siga estas etapas:

1. Acesse **Dispositivos e configurações** na barra lateral.
2. Selecione o dispositivo.
3. Expanda o **Comandos** bloco.

<figure><img src="https://1308974401-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F446mKak1zDrGv70ahuYZ%2Fuploads%2Fgit-blob-0b08686ab5211cfcdda8ed6f2edc4f90b87fdc6a%2Foutput-control-block.png?alt=media" alt="Devices and settings module with a device selected. The Commands block is expanded and has no commands yet. It shows the Add device command and Add software command buttons."><figcaption><p>O bloco Comandos de um dispositivo sem comandos</p></figcaption></figure>

Um dispositivo pode ter até 10 comandos, somando comandos de dispositivo e comandos de software. Quando um dispositivo tem 10 comandos, **Adicionar comando de dispositivo** e **Adicionar comando de software** ficam indisponíveis. Para remover um comando, clique em **Excluir** em seu formulário.

### Adicionar um comando de dispositivo

Um comando de dispositivo precisa da string de comando do seu modelo de dispositivo, que você encontra na documentação do modelo.

{% hint style="warning" %}
As strings de comando são diferentes para cada modelo de dispositivo. Uma string de comando incorreta pode alterar as configurações ou o comportamento do dispositivo de um modo que você não planejou. Verifique a string na documentação do seu modelo antes de salvar o comando.
{% endhint %}

Para adicionar um comando de dispositivo, siga estas etapas:

1. Clique em **Adicionar comando de dispositivo**.
2. Digite um **Nome do comando**, por exemplo `Reinicialização do dispositivo`.
3. Digite a **String de comando**, por exemplo `cpureset`.
4. Clique em **Salvar**.

<figure><img src="https://1308974401-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F446mKak1zDrGv70ahuYZ%2Fuploads%2Fgit-blob-4fb41dda6033a61f1af4dbdae9e75b73ddf14353%2Foutput-control-device-vommand.png?alt=media" alt="Device command form with the Command name and Command string fields, and the Delete and Save buttons"><figcaption><p>Um comando de dispositivo</p></figcaption></figure>

### Solicitar um valor toda vez que você enviar um comando

Um comando pode solicitar um valor quando você o envia, em vez de sempre enviar o mesmo texto. Para fazer um comando de dispositivo solicitar um valor, adicione o `<>` placeholder ao **String de comando** onde o valor vai, por exemplo `relay,<>`. Um comando de software também pode solicitar um valor: veja [Adicionar um comando de software](#add-a-software-command).

Um comando pode ter apenas um `<>` placeholder. Se você adicionar um segundo, o campo exibe um erro e a Navixy não salva o comando. Para ler um breve resumo da `<>` sintaxe no produto, clique no ícone de ajuda no **Comandos** bloco.

### Copiar comandos para outros dispositivos

Para atribuir os mesmos comandos a vários dispositivos, configure-os em um dispositivo e copie-os:

1. No **Comandos** bloco, clique no ícone de copiar. A dica de ferramenta dele é **Aplicar estas configurações a outros objetos**.
2. Selecione os dispositivos.
3. Clique em **Aplicar**.

A Navixy adiciona os comandos salvos do dispositivo a cada dispositivo selecionado. Os comandos que um dispositivo selecionado já tem permanecem como estão.

### Adicionar um comando de software

Um comando de software conecta a Navixy a outro serviço, como um chat da equipe, um CRM ou seu próprio servidor. Ele envia uma solicitação HTTP POST com um corpo JSON para um endereço que você escolher. O endereço pode pertencer a qualquer serviço que aceite essas solicitações, como Slack, um receptor de webhook ou uma API REST. Para adicionar um comando de software, siga estas etapas:

1. Clique em **Adicionar comando de software**.
2. Na **Geral** guia, digite um **Título** e a **URL** que recebe a solicitação.
3. Se o serviço de destino precisar de cabeçalhos HTTP, clique em **Adicionar cabeçalho** e informe a chave e o valor de cada cabeçalho.
4. Na **Corpo** guia, insira o corpo JSON no formato que o serviço de destino espera.
5. Clique em **Salvar**.

{% columns %}
{% column width="58.333333333333336%" %}
O **URL** é o endereço completo do serviço de destino, por exemplo `https://hooks.slack.com/services/...`.

Para um serviço que usa autenticação por token, adicione o `Authorization` cabeçalho com o valor `Bearer your_token`. Um serviço que usa uma chave de API na URL não precisa de cabeçalho.
{% endcolumn %}

{% column width="41.666666666666664%" %}

<figure><img src="https://1308974401-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F446mKak1zDrGv70ahuYZ%2Fuploads%2Fgit-blob-38e4eab9ed360e81a51ad8247392a8b9104d5db4%2Foutput-control-software-command-general.png?alt=media" alt="General tab of a software command with the Title, URL, and Headers fields"><figcaption><p>A guia Geral de um comando de software</p></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

{% columns %}
{% column width="58.333333333333336%" %}
Para adicionar os dados atuais do dispositivo ao corpo, use placeholders de atributo no formato `{{attribute_name}}` Clique em <img src="https://1308974401-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F446mKak1zDrGv70ahuYZ%2Fuploads%2Fgit-blob-1fa59f996fe69fa378ac659fa97f7e00c376f263%2Fimage.png?alt=media" alt="Attribute picker" data-size="line"> ao lado do campo e selecione um atributo. A Navixy insere o placeholder no local onde o cursor está. Quando você envia o comando, a Navixy substitui cada placeholder de atributo pelo valor atual do atributo.
{% endcolumn %}

{% column width="41.666666666666664%" %}

<figure><img src="https://1308974401-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F446mKak1zDrGv70ahuYZ%2Fuploads%2Fgit-blob-82eaece7ab729a184238a6d1f3413b4fec7300ab%2Foutput-control-software-command-body.png?alt=media" alt="Body tab of a software command with a JSON body and the attribute picker button"><figcaption><p>A guia Corpo de um comando de software</p></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

A lista de atributos mostra apenas os atributos que o dispositivo envia para a Navixy, então ela difere de um dispositivo para outro. Selecione atributos na lista para evitar erros de digitação em seus nomes.

Para fazer um comando de software [solicitar um valor](#ask-for-a-value-each-time-you-send-a-command) quando você o enviar, adicione o `<>` placeholder ao **Corpo**, por exemplo `{"value": "<>"}`.

### Enviar localização e velocidade para o Slack

Um comando de software pode publicar a localização e a velocidade do dispositivo em um canal do Slack por meio de um webhook de entrada do Slack. O Slack espera um corpo JSON com um `text` campo. Este corpo envia o ID do dispositivo, a velocidade e as coordenadas:

{% code overflow="wrap" %}

```json
{
  "text": "Dispositivo {{device_id}}: velocidade {{speed}} km/h em {{latitude}}, {{longitude}}"
}
```

{% endcode %}

Para configurar o comando, siga estas etapas:

1. No Slack, configure um webhook de entrada e copie sua URL. O [guia de webhooks de entrada do Slack](https://docs.slack.dev/messaging/sending-messages-using-incoming-webhooks/) explica como.
2. No dispositivo **Comandos** bloco, clique em **Adicionar comando de software**.
3. Na **Geral** guia, digite `Notificar o Slack` como o **Título**.
4. Em **URL**, cole a URL do webhook, por exemplo `https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXX`.
5. Na **Corpo** guia, insira o corpo JSON.
6. Clique em **Salvar**.

Quando você envia o comando, a Navixy substitui os quatro placeholders de atributo pelos valores atuais do dispositivo. A mensagem aparece no canal do Slack ao qual o webhook pertence.


---

# 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://navixy.com/docs/user/pt-br/guide/devices-and-settings/object-management/commands.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.
