HTTP
Inclusa in Macro DeckInvia richieste HTTP da un pulsante e salva in variabili i valori della risposta.
La pagina dell'integrazione HTTP con l'interruttore attivo e nessuna opzione di configurazione
- GET, POST, PUT, PATCH, DELETE e altri, con query e intestazioni
- Autenticazione basic, con bearer token o con chiave API in un'intestazione
- Corpo JSON, modulo, testo e caricamento di file
- Salva lo stato, le intestazioni o valori JSON in variabili
- Variabili nei valori dei parametri di query e delle intestazioni
L'integrazione HTTP invia richieste web da Macro Deck. Usala per chiamare un webhook, controllare un dispositivo della tua rete che ha un'API web o leggere un valore da un servizio online e mostrarlo su un pulsante. È inclusa in Macro Deck ed è attiva fin dall'inizio, quindi non c'è niente da collegare e nessun accesso da fare.
Due azioni
Invia richiesta HTTP compone una richiesta completa. Scegli il Metodo, inserisci l'URL e aggiungi Parametri di query e Intestazioni come coppie nome e valore. In Tipo di corpo scegli none, json, form, text o multipart (un caricamento di file con campi del modulo aggiuntivi). Autenticazione offre basic (nome utente e password), bearer (un token) e header (un token in un'intestazione di cui indichi il nome, per esempio X-Api-Key). Stato previsto stabilisce quali risposte contano come riuscite, 2xx per impostazione predefinita. Puoi anche impostare il Timeout, disattivare Segui i reindirizzamenti e limitare la Dimensione massima risposta (byte).
Acquisizioni salva parti della risposta in variabili. Ogni riga abbina il nome di una variabile a un selettore: $status, $ok, $duration, $body, $truncated, $headers, $header:<name> o un percorso JSON come data.items[0].name. Una variabile che non esiste ancora viene creata.
Ottieni valore JSON è la forma breve per leggere un solo valore: inserisci l'URL, un Percorso JSON e la variabile in Salva in variabile.
Esempi di configurazione
- Un pulsante che invia
{"text": "Stream is live"}al webhook di una chat con Invia richiesta HTTP e tipo di corpojson. - Un pulsante che accende una presa smart della tua rete tramite la sua API web locale.
- Un pulsante che legge il prezzo attuale da un'API pubblica con Ottieni valore JSON e lo mostra nella sua etichetta con
{{ vars.price }}. - Un flusso che invia una richiesta, acquisisce
$statuse usa Se / Altrimenti per colorare di rosso il pulsante quando il server non ha risposto con200.
I valori dei parametri di query e delle intestazioni possono contenere variabili, per esempio {{ vars.channel }}. La richiesta parte dal computer su cui gira Macro Deck, quindi indirizzi come http://192.168.1.20 raggiungono i dispositivi della rete di quel computer. Un'azione non riesce con un messaggio chiaro quando il server non è raggiungibile, la richiesta va in timeout, il certificato TLS viene rifiutato o lo stato non è quello previsto.
Cosa ti serve
- Macro Deck 3 su Windows, macOS o Linux
- L'indirizzo dell'API web o del webhook che vuoi chiamare
- Una chiave API, un token o una password, se il servizio li richiede
Configurala
Passaggio 1: Verifica che l'integrazione sia attiva
In Macro Deck, fai clic su Integrazioni nella barra laterale e poi su HTTP. L'interruttore in alto a destra è attivo per impostazione predefinita; attivalo se è disattivato. Non c'è niente da configurare: la scheda Panoramica mostra Nessuna opzione di configurazione disponibile per questa integrazione.
Passaggio 2: Aggiungi un'azione HTTP a un pulsante
Nella pagina Deck, fai clic su un pulsante. Il deck deve essere sbloccato: se in alto a destra compare il pulsante Blocca, lo è. L'editor si apre con Pressione Breve selezionata. Fai clic su + Aggiungi azione, seleziona HTTP a sinistra nella finestra Aggiungi azione e scegli Invia richiesta HTTP, oppure Ottieni valore JSON se vuoi solo leggere un valore. Puoi anche digitare il nome in Cerca azioni….
Passaggio 3: Inserisci la richiesta
Scegli il Metodo e inserisci l'URL. Aggiungi Parametri di query e Intestazioni se l'API li richiede. Per una richiesta con dati, scegli il Tipo di corpo e compila Corpo JSON, Campi del modulo o Corpo testo.
Passaggio 4: Aggiungi l'autenticazione
Se il servizio richiede un accesso o una chiave, sceglilo in Autenticazione:
basiccon Nome utente e Password / token,bearercon il token in Password / token, oppureheadercon il Nome intestazione e la chiave in Password / token. La maggior parte dei servizi mostra le chiavi API o i token nelle impostazioni dell'account o per sviluppatori.Passaggio 5: Salva i valori della risposta
Per usare la risposta, aggiungi righe in Acquisizioni: il nome di una variabile e un selettore come
$statuso un percorso JSON comedata.temperature. Con Ottieni valore JSON, inserisci il Percorso JSON e scegli la variabile in Salva in variabile.Passaggio 6: Prova il pulsante
Fai clic su Esegui nell'editor per inviare subito la richiesta, oppure salva e premi il pulsante. Se l'azione non riesce, il suo messaggio ti spiega perché, per esempio che il server non era raggiungibile o che lo stato non corrispondeva a Stato previsto.
Azioni2
Assegnale a un pulsante o eseguile da un flusso.
- Invia richiesta HTTP
- Invia una richiesta HTTP configurabile e può acquisire la risposta in variabili.
- Ottieni valore JSON
- Scarica un URL e scrive in una variabile un valore della risposta JSON.
Domande frequenti
Dove vengono salvate le mie chiavi API e password?
Ciò che inserisci in Password / token viene salvato in modo crittografato e viene trasformato in testo in chiaro solo quando la richiesta viene inviata. I valori che scrivi in Intestazioni vengono salvati senza crittografia e viaggiano dentro i profili esportati, quindi inserisci chiavi e token nei campi di autenticazione.
Posso chiamare un dispositivo della mia rete locale?
Sì. La richiesta parte dal computer su cui gira Macro Deck, quindi funziona qualsiasi indirizzo che quel computer può raggiungere. Per un dispositivo con un certificato autofirmato puoi disattivare Convalida certificato TLS, ma fallo solo per dispositivi della tua rete.
Perché l'azione non riesce anche se il server ha risposto?
La risposta non corrispondeva a Stato previsto, che per impostazione predefinita è 2xx. Inserisci il codice di stato che l'API restituisce davvero, un intervallo come 200-204, un elenco oppure any per accettare qualsiasi stato. Ottieni valore JSON si aspetta sempre una risposta 2xx.
Quali percorsi JSON posso usare?
Usa punti e indici, per esempio data.items[0].name o [0].id, oppure $ per l'intero documento. In Acquisizioni i selettori riservati come $status hanno la precedenza, quindi un campo che si chiama davvero status si legge con $.status.
Devo creare prima le variabili?
No. Quando un'acquisizione o Salva in variabile indica una variabile che non esiste, Macro Deck la crea. Se esiste già una variabile con quel nome ma di un altro tipo, il salvataggio non riesce con un messaggio.
Altro in Smart home e web
Home Assistant
Inclusa in Macro DeckAccendi luci, esegui scene e script e mostra sul deck gli stati in tempo reale del tuo Home Assistant.
AdGuard Home
Inclusa in Macro DeckAttiva, disattiva o metti in pausa la protezione di AdGuard Home e mostra le sue statistiche sul deck.
Feed RSS
Inclusa in Macro DeckSegui feed RSS e Atom, mostra i loro articoli più recenti nei widget e reagisci quando arrivano nuovi articoli.
Meteo
Inclusa in Macro DeckMostra sul tuo deck il meteo attuale e le previsioni per le tue località, senza chiave API.