HTTP
Incluse avec Macro DeckEnvoyez des requêtes HTTP depuis un bouton et enregistrez des valeurs de la réponse dans des variables.
La page de l'intégration HTTP avec l'interrupteur activé et aucune option de configuration
- GET, POST, PUT, PATCH, DELETE et plus, avec paramètres de requête et en-têtes
- Authentification basic, par jeton bearer ou par clé d'API dans un en-tête
- Corps JSON, formulaire, texte et envoi de fichier
- Enregistrez le statut, les en-têtes ou des valeurs JSON dans des variables
- Des variables dans les valeurs des paramètres de requête et des en-têtes
L'intégration HTTP envoie des requêtes web depuis Macro Deck. Utilisez-la pour appeler un webhook, piloter un appareil de votre réseau doté d'une API web, ou lire une valeur d'un service en ligne et l'afficher sur un bouton. Elle est fournie avec Macro Deck et activée dès le départ : il n'y a rien à connecter et aucun compte auquel se connecter.
Deux actions
Envoyer une requête HTTP construit une requête complète. Vous choisissez la Méthode, saisissez l'URL et ajoutez des Paramètres de requête et des En-têtes sous forme de paires nom et valeur. Sous Type de corps, vous choisissez none, json, form, text ou multipart (un envoi de fichier avec des champs de formulaire supplémentaires). Authentification propose basic (nom d'utilisateur et mot de passe), bearer (un jeton) et header (un jeton dans un en-tête que vous nommez, par exemple X-Api-Key). Statut attendu détermine quelles réponses comptent comme un succès, 2xx par défaut. Vous pouvez aussi définir le Délai d'expiration, désactiver Suivre les redirections et limiter la Taille maximale de la réponse (octets).
Les Captures enregistrent des parties de la réponse dans des variables. Chaque ligne associe un nom de variable à un sélecteur : $status, $ok, $duration, $body, $truncated, $headers, $header:<name> ou un chemin JSON comme data.items[0].name. Une variable qui n'existe pas encore est créée.
Obtenir une valeur JSON est la forme courte pour lire une seule valeur : saisissez l'URL, un Chemin JSON et la variable sous Enregistrer dans une variable.
Exemples de configuration
- Un bouton qui envoie
{"text": "Stream is live"}à un webhook de chat avec Envoyer une requête HTTP et le type de corpsjson. - Un bouton qui allume une prise connectée de votre réseau via son API web locale.
- Un bouton qui lit le prix actuel depuis une API publique avec Obtenir une valeur JSON et l'affiche dans son libellé avec
{{ vars.price }}. - Un flux qui envoie une requête, capture
$statuset utilise Si / Sinon pour colorer le bouton en rouge quand le serveur n'a pas répondu par200.
Les valeurs des paramètres de requête et des en-têtes peuvent contenir des variables, par exemple {{ vars.channel }}. La requête s'exécute sur l'ordinateur où tourne Macro Deck : des adresses comme http://192.168.1.20 atteignent donc les appareils du réseau de cet ordinateur. Une action échoue avec un message clair quand le serveur est injoignable, que la requête expire, que le certificat TLS est rejeté ou que le statut n'est pas celui attendu.
Ce qu'il vous faut
- Macro Deck 3 sous Windows, macOS ou Linux
- L'adresse de l'API web ou du webhook que vous voulez appeler
- Une clé d'API, un jeton ou un mot de passe, si le service en a besoin
Configuration
Étape 1: Vérifiez que l'intégration est activée
Dans Macro Deck, cliquez sur Intégrations dans la barre latérale, puis sur HTTP. L'interrupteur en haut à droite est activé par défaut ; activez-le s'il est désactivé. Il n'y a rien à configurer : l'onglet Aperçu affiche Aucune option de configuration disponible pour cette intégration.
Étape 2: Ajoutez une action HTTP à un bouton
Sur la page Deck, cliquez sur un bouton. Le deck doit être déverrouillé : c'est le cas lorsque le bouton Verrouiller s'affiche en haut à droite. L'éditeur s'ouvre avec Appui court sélectionné. Cliquez sur + Ajouter une action, sélectionnez HTTP à gauche de la boîte de dialogue Ajouter une action et choisissez Envoyer une requête HTTP, ou Obtenir une valeur JSON si vous voulez seulement lire une valeur. Vous pouvez aussi saisir le nom dans Rechercher des actions....
Étape 3: Saisissez la requête
Choisissez la Méthode et saisissez l'URL. Ajoutez des Paramètres de requête et des En-têtes si l'API en a besoin. Pour une requête avec des données, choisissez le Type de corps et remplissez le Corps JSON, les Champs de formulaire ou le Corps texte.
Étape 4: Ajoutez l'authentification
Si le service demande un identifiant ou une clé, choisissez-le sous Authentification :
basicavec Nom d'utilisateur et Mot de passe / jeton,beareravec le jeton dans Mot de passe / jeton, ouheaderavec le Nom de l'en-tête et la clé dans Mot de passe / jeton. La plupart des services affichent leurs clés d'API ou jetons dans les paramètres du compte ou les paramètres développeur.Étape 5: Enregistrez des valeurs de la réponse
Pour utiliser la réponse, ajoutez des lignes sous Captures : un nom de variable et un sélecteur comme
$statusou un chemin JSON commedata.temperature. Avec Obtenir une valeur JSON, saisissez le Chemin JSON et choisissez la variable sous Enregistrer dans une variable.Étape 6: Testez le bouton
Cliquez sur Exécuter dans l'éditeur pour envoyer la requête immédiatement, ou enregistrez et appuyez sur le bouton. Si l'action échoue, son message vous en donne la raison, par exemple que le serveur est injoignable ou que le statut ne correspond pas au Statut attendu.
Actions2
Placez-les sur un bouton ou exécutez-les depuis un flux.
- Envoyer une requête HTTP
- Envoie une requête HTTP configurable et peut capturer la réponse dans des variables.
- Obtenir une valeur JSON
- Récupère une URL et écrit une valeur de la réponse JSON dans une variable.
Questions fréquentes
Où mes clés d'API et mots de passe sont-ils stockés ?
Ce que vous saisissez dans Mot de passe / jeton est stocké chiffré et n'est converti en texte clair qu'à l'envoi de la requête. Les valeurs saisies dans En-têtes sont stockées sans chiffrement et voyagent dans les profils exportés : placez donc plutôt les clés et jetons dans les champs d'authentification.
Puis-je appeler un appareil de mon réseau local ?
Oui. La requête est envoyée depuis l'ordinateur qui exécute Macro Deck : toute adresse joignable depuis cet ordinateur fonctionne. Pour un appareil avec un certificat autosigné, vous pouvez désactiver Valider le certificat TLS, mais uniquement pour des appareils de votre propre réseau.
Pourquoi l'action échoue-t-elle alors que le serveur a répondu ?
La réponse ne correspondait pas au Statut attendu, 2xx par défaut. Saisissez le code de statut que l'API renvoie réellement, une plage comme 200-204, une liste, ou any pour accepter tous les statuts. Obtenir une valeur JSON attend toujours une réponse 2xx.
Quels chemins JSON puis-je utiliser ?
Utilisez des points et des index, par exemple data.items[0].name ou [0].id, ou $ pour le document entier. Dans Captures, les sélecteurs réservés comme $status sont prioritaires : un champ qui s'appelle vraiment status se lit donc avec $.status.
Dois-je d'abord créer les variables ?
Non. Quand une capture ou Enregistrer dans une variable désigne une variable qui n'existe pas, Macro Deck la crée. Si une variable de ce nom existe déjà avec un autre type, l'enregistrement échoue avec un message.
Plus dans Maison connectée et web
Home Assistant
Incluse avec Macro DeckAllumez les lumières, lancez des scènes et des scripts, et affichez sur votre deck les états en direct de votre Home Assistant.
AdGuard Home
Incluse avec Macro DeckActivez, désactivez ou mettez en pause la protection AdGuard Home, et affichez ses statistiques sur votre deck.
Flux RSS
Incluse avec Macro DeckSuivez des flux RSS et Atom, affichez leurs derniers articles dans des widgets et réagissez à l'arrivée de nouveaux articles.
Météo
Incluse avec Macro DeckAffichez sur votre deck la météo actuelle et les prévisions pour vos lieux, sans clé d'API.