> 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/fr/guide/devices-and-settings/object-management/commands.md).

# Commandes

Le **Commandes** bloc vous permet de définir des commandes personnalisées pour un traceur dans Navixy et de les envoyer à la demande depuis le [widget Traceur](/docs/user/fr/guide/tracking/objects-list/object-widget.md) ou l’application  [X-GPS Mobile](/docs/user/fr/guide/x-gps-mobile-apps/x-gps-mobile.md) . Utilisez-la pour envoyer une instruction au niveau du micrologiciel directement à un traceur, par exemple pour envoyer une commande CAN ou activer une sortie, ou pour appeler n'importe quel système externe acceptant des requêtes HTTP, comme un canal Slack, un service de notification, un CRM ou un point de terminaison d'API personnalisé. Une fois configurées, les commandes peuvent être envoyées d'un simple clic.

Le bloc Commandes prend en charge deux types de commandes :

* **Commande du traceur** envoie directement au traceur une chaîne d'instructions au niveau du protocole, par exemple pour envoyer une commande CAN ou activer une sortie.
* **Commande logicielle** envoie une requête HTTP POST avec un corps JSON à n'importe quelle URL, en incluant éventuellement dans la charge utile des données actuelles du traceur telles que la localisation, la vitesse ou l'identifiant du traceur.

Les commandes sont enregistrées par traceur et restent disponibles pour une utilisation répétée.

{% hint style="info" %}
**Quand utiliser Commandes plutôt qu'IoT Logic**

Le bloc Commandes est conçu pour des actions manuelles ponctuelles visant un seul traceur. Utilisez-le lorsque vous devez envoyer une commande ponctuelle sans configurer de flux d'automatisation.

Pour l'envoi automatisé de commandes fondé sur des règles, par exemple pour déclencher une action du traceur ou un Webhook lorsqu'un seuil de capteur est franchi, ou pour envoyer la même commande à plusieurs traceurs, utilisez [IoT Logic](/docs/user/fr/guide/account/iot-logic.md). Le **Action du traceur** et **Webhook** dans IoT Logic fournissent les mêmes capacités sous-jacentes avec une automatisation complète du flux et un ciblage multi-traceurs.
{% endhint %}

## Configuration

Pour configurer Commandes pour un traceur, procédez comme suit :

1. Accédez à **Paramétrage des traceurs** dans la barre latérale gauche.
2. Sélectionnez le traceur que vous souhaitez configurer.
3. Localisez et développez le **Commandes** bloc.

<figure><img src="/files/1cfd8778dddd199c98228a7e1ef73d8681dc585a" alt="Commands block showing device and software command options"><figcaption></figcaption></figure>

Vous pouvez ajouter plusieurs commandes de chaque type. Chaque commande est enregistrée individuellement.

### Commandes du traceur

Une **commande du traceur** envoie directement au traceur une chaîne d'instructions au niveau du protocole via son canal de communication.

<figure><img src="/files/c8c32de4c67cbcd71fa333ea75837939ca81940a" alt="Device command form with Command name and Command string fields"><figcaption></figcaption></figure>

Pour ajouter une commande du traceur, cliquez sur **Ajouter une commande du traceur** en bas du bloc. Configurez les champs suivants :

1. **Nom de la commande**: un libellé pour la commande tel qu'il apparaît dans le widget Traceur, par exemple `redémarrage du traceur`. Choisissez un nom qui décrit clairement ce que fait la commande.
2. **Chaîne de commande**: la chaîne d'instructions exacte envoyée au traceur, par exemple `cpureset`.

{% hint style="warning" %}
Les chaînes de commande valides sont spécifiques au traceur et définies par son fabricant. Reportez-vous toujours à la documentation officielle de votre modèle de traceur pour trouver les chaînes de commande correctes. La saisie de valeurs incorrectes peut avoir des effets inattendus sur le traceur.
{% endhint %}

Cliquez sur **Enregistrer** pour enregistrer la commande. Cliquez sur **Supprimer** pour la supprimer.

### Commandes logicielles

Une **commande logicielle** envoie une requête HTTP POST avec un corps JSON à une URL que vous spécifiez. Il peut s'agir d'un point de terminaison de service externe, comme Slack, un récepteur de Webhook personnalisé, n'importe quelle API REST ou un point de terminaison d'API Navixy.

Le corps de la requête est au format JSON et doit être structuré conformément à ce qu'attend le point de terminaison de destination. Vous pouvez inclure des attributs de données du traceur dans le corps en utilisant la `{{attribute_name}}` syntaxe.

Les commandes logicielles sont configurées dans deux onglets : **Général** et **Corps**.

Pour ajouter une commande logicielle, cliquez sur **Ajouter une commande logicielle** en bas du bloc.

#### Onglet Général

{% columns %}
{% column width="58.333333333333336%" %}
Configurez les éléments suivants :

1. **Titre**: un libellé pour la commande tel qu'il apparaît dans le widget Traceur.
2. **URL**: l'URL complète du point de terminaison vers lequel la requête POST est envoyée, par exemple `https://hooks.slack.com/services/...` ou `https://api.eu.navixy.com/v2/...`.
3. **En-têtes**: paires clé-valeur envoyées comme en-têtes de requête HTTP. Ajoutez des en-têtes selon les besoins du point de terminaison de destination. Cliquez sur **Ajouter un en-tête** pour insérer une nouvelle ligne.
   * Utilisez l' `Authorization` en-tête pour l'authentification par jeton, par exemple `Authorization` défini sur `Bearer your_token`.
   * D'autres méthodes d'authentification prises en charge par la destination, comme des clés API passées en paramètres de requête dans l'URL, peuvent également être utilisées.
     {% endcolumn %}

{% column width="41.666666666666664%" %}

<figure><img src="/files/ebbcd6cf4c85e2fa47797c85e0b4a33c16add362" alt="Software command General tab with Title, URL, and Headers fields"><figcaption></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

#### Onglet Corps

{% columns %}
{% column width="58.333333333333336%" %}
Le **Corps** est l'endroit où vous composez la charge utile JSON. Rédigez un JSON valide correspondant au format attendu par le point de terminaison de destination.

Pour inclure des données en direct du traceur dans la charge utile, utilisez la `{{attribute_name}}` syntaxe. Cliquez sur le bouton de sélection d'attributs <img src="/files/a16fabc736e26e1fd3b58546da2122d8cedab887" alt="" data-size="line"> en haut à droite du champ du corps pour ouvrir une liste consultable des attributs disponibles pour le traceur. La sélection d'un attribut insère le `{{attribute_name}}` placeholder correspondant dans le corps à l'emplacement du curseur.
{% endcolumn %}

{% column width="41.666666666666664%" %}

<figure><img src="/files/4db490c7dcbdf441bf40fc2622e6374de8f55f86" alt="Software command Body tab with JSON body field and attribute picker"><figcaption></figcaption></figure>
{% endcolumn %}
{% endcolumns %}

{% hint style="info" %}
Les attributs disponibles dépendent du traceur spécifique et des données qu'il transmet à la plateforme Navixy. Seuls les attributs réellement envoyés par le traceur apparaissent dans la liste. Utilisez le sélecteur pour éviter les fautes de frappe ou les noms d'attribut incorrects.
{% endhint %}

Cliquez sur **Enregistrer** pour enregistrer la commande. Cliquez sur **Supprimer** pour la supprimer.

#### Exemple : envoi d'une notification Slack

Slack prend en charge la réception de messages provenant de services externes via des Incoming Webhooks. Une fois que vous avez configuré un Webhook dans votre espace de travail Slack et obtenu l'URL du Webhook (voir le [guide Slack Incoming Webhooks](https://docs.slack.dev/messaging/sending-messages-using-incoming-webhooks/)), créez une commande logicielle avec la configuration suivante.

**Onglet Général :**

* **Titre**: `Notifier Slack`
* **URL**: votre URL de Webhook entrant Slack, par exemple `https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXX`
* **En-têtes**: aucun en-tête requis

**Onglet Corps :**

{% code overflow="wrap" %}

```json
{
  "text": "Traceur {{device_id}} : vitesse {{speed}} km/h à {{latitude}}, {{longitude}}"
}
```

{% endcode %}

Slack attend un objet JSON avec un champ `text` . Les `{{device_id}}`, `{{speed}}`, `{{latitude}}`, et `{{longitude}}` placeholders sont remplacés par les valeurs actuelles du traceur au moment où la commande est envoyée. Lorsqu'il est déclenché depuis le widget Traceur, le message apparaît dans le canal Slack configuré pour votre Webhook.

### Valeurs dynamiques de commande

Une chaîne de commande ou le corps d'une commande logicielle peut inclure un seul `<>` placeholder pour vous demander une valeur à chaque envoi de la commande, au lieu d'utiliser une valeur fixe codée en dur.

* Dans une commande du traceur, ajoutez `<>` dans le **Chaîne de commande** champ, par exemple `relay,<>` pour envoyer un état de relais différent à chaque envoi.
* Dans une commande logicielle, ajoutez `<>` dans le **Corps** champ, par exemple `{"value": "<>"}`.

Un seul `<>` placeholder est autorisé par commande. L'enregistrement d'une commande comportant plus d'un placeholder renvoie l'erreur « Une seule valeur est autorisée par commande. Supprimez le < > supplémentaire. »

Lorsque vous envoyez une commande qui contient `<>` depuis le widget Traceur, une boîte de dialogue vous demande la valeur avant l'envoi. Voir [Envoi de commandes depuis le widget Traceur](#sending-commands-from-the-object-widget) pour le flux complet.

{% hint style="info" %}
Cliquez sur l'icône d'aide dans le bloc Commandes pour ouvrir **Fonctionnement des valeurs de commande**, un résumé de `<>` syntaxe.
{% endhint %}

## Envoi de commandes depuis le widget Traceur

Une fois les commandes enregistrées, elles apparaissent dans le **Commandes** bloc du widget [widget Traceur](/docs/user/fr/guide/tracking/objects-list/object-widget.md) dans le module Suivi.

<figure><img src="/files/fa6dc1c5e37ea25fa5c77150ea2d4cfd9b99300d" alt="Object widget Commands block showing two commands with send buttons"><figcaption></figcaption></figure>

Cliquez sur le **bouton d'envoi** à côté d'un nom de commande pour l'envoyer. Le bloc Commandes affiche toutes les commandes du traceur et les commandes logicielles configurées pour ce traceur.

* Si la commande ne contient pas de [placeholder de valeur dynamique](#dynamic-command-values), Navixy l'envoie immédiatement. Il n'y a pas de boîte de dialogue de confirmation.
* Si la commande contient `<>`, une boîte de dialogue s'ouvre pour vous demander de saisir une valeur. Saisissez une valeur d'au plus 500 caractères et cliquez sur **Envoyer** pour envoyer la commande avec la valeur remplacée par `<>`. Le **Envoyer** Le bouton reste désactivé jusqu'à ce que vous saisissiez une valeur, et les valeurs vides ou contenant uniquement des espaces ne sont pas acceptées.

Après l'exécution de la commande, Navixy affiche une notification avec le résultat :

* **Commandes du traceur** indiquent uniquement si la commande a réussi, sous la forme `{ "success": true }` ou `{ "success": false }`.
* **Commandes logicielles** indiquent le nom de la commande et la réponse brute du point de terminaison de destination, sous la forme `{status, body}`. Les réponses longues défilent à l'intérieur de la notification.

Les commandes envoyées apparaissent aussi dans le [bloc Événements récents](/docs/user/fr/guide/tracking/objects-list/object-widget.md#data-blocks) du widget Traceur, avec leur résultat disponible dans une vue dépliable.

{% hint style="info" %}
Les commandes sont propres à chaque traceur. Les commandes configurées pour un traceur n'apparaissent pas dans les widgets Traceur des autres traceurs. Pour envoyer des commandes à plusieurs traceurs selon des règles ou des conditions, utilisez IoT Logic.
{% endhint %}


---

# 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://navixy.com/docs/user/fr/guide/devices-and-settings/object-management/commands.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
