HTTP
Meegeleverd met Macro DeckVerstuur HTTP-verzoeken vanaf een knop en sla waarden uit de respons op in variabelen.
De integratiepagina van HTTP met de schakelaar aan en zonder configuratieopties
- GET, POST, PUT, PATCH, DELETE en meer, met query en headers
- Authenticatie met basic, bearer-token of API-sleutel in een header
- JSON, formulier, tekst en bestandsupload als body
- Sla de status, headers of JSON-waarden op in variabelen
- Variabelen in de waarden van queryparameters en headers
De integratie HTTP verstuurt webverzoeken vanuit Macro Deck. Gebruik haar om een webhook aan te roepen, een apparaat in je netwerk met een web-API te bedienen, of een waarde uit een online dienst te lezen en op een knop te tonen. Ze wordt met Macro Deck meegeleverd en staat vanaf het begin aan, dus je hoeft niets te verbinden en je nergens aan te melden.
Twee acties
HTTP-verzoek versturen stelt een volledig verzoek samen. Je kiest de Methode, vult de URL in en voegt Queryparameters en Headers toe als paren van naam en waarde. Onder Bodytype kies je none, json, form, text of multipart (een bestandsupload met extra formuliervelden). Authenticatie biedt basic (gebruikersnaam en wachtwoord), bearer (een token) en header (een token in een header die je zelf een naam geeft, bijvoorbeeld X-Api-Key). Verwachte status bepaalt welke antwoorden als geslaagd gelden, standaard 2xx. Je kunt ook de Time-out instellen, Redirects volgen uitzetten en de Max. grootte van respons (bytes) beperken.
Vastleggingen slaan delen van de respons op in variabelen. Elke regel koppelt een variabelenaam aan een selector: $status, $ok, $duration, $body, $truncated, $headers, $header:<name> of een JSON-pad zoals data.items[0].name. Een variabele die nog niet bestaat, wordt aangemaakt.
JSON-waarde ophalen is de korte vorm om één waarde te lezen: vul de URL, een JSON-pad en de variabele onder Opslaan in variabele in.
Voorbeelden
- Een knop die met HTTP-verzoek versturen en bodytype
jsonhet bericht{"text": "Stream is live"}naar een chatwebhook stuurt. - Een knop die een slimme stekker in je netwerk aanzet via de lokale web-API.
- Een knop die met JSON-waarde ophalen de actuele prijs uit een openbare API leest en die in het label toont met
{{ vars.price }}. - Een actiestroom die een verzoek verstuurt,
$statusvastlegt en met Als / Anders de knop rood kleurt als de server niet met200antwoordde.
De waarden van queryparameters en headers kunnen variabelen bevatten, bijvoorbeeld {{ vars.channel }}. Het verzoek wordt uitgevoerd op de computer waarop Macro Deck draait, dus adressen zoals http://192.168.1.20 bereiken apparaten in het netwerk van die computer. Een actie mislukt met een duidelijke melding als de server niet bereikbaar is, het verzoek een time-out krijgt, het TLS-certificaat wordt geweigerd of de status niet de verwachte is.
Wat je nodig hebt
- Macro Deck 3 op Windows, macOS of Linux
- Het adres van de web-API of webhook die je wilt aanroepen
- Een API-sleutel, token of wachtwoord, als de dienst die nodig heeft
Instellen
Stap 1: Controleer of de integratie aan staat
Klik in Macro Deck in de zijbalk op Integraties en daarna op HTTP. De schakelaar rechtsboven staat standaard aan; zet hem aan als hij uit staat. Je hoeft niets in te stellen: het tabblad Overzicht toont Geen configuratieopties beschikbaar voor deze integratie.
Stap 2: Voeg een HTTP-actie aan een knop toe
Klik op de pagina Deck op een knop. Het deck moet ontgrendeld zijn: dat is zo wanneer rechtsboven de knop Vergrendelen staat. De editor opent met Kort indrukken geselecteerd. Klik op + Actie toevoegen, selecteer links in het dialoogvenster Actie toevoegen HTTP en kies HTTP-verzoek versturen, of JSON-waarde ophalen als je maar één waarde wilt lezen. Je kunt de naam ook typen in Acties zoeken….
Stap 3: Vul het verzoek in
Kies de Methode en vul de URL in. Voeg Queryparameters en Headers toe als de API die nodig heeft. Kies voor een verzoek met gegevens het Bodytype en vul de JSON-body, Formuliervelden of Tekst-body in.
Stap 4: Voeg authenticatie toe
Heeft de dienst een aanmelding of sleutel nodig, kies die dan onder Authenticatie:
basicmet Gebruikersnaam en Wachtwoord / token,bearermet het token in Wachtwoord / token, ofheadermet de Headernaam en de sleutel in Wachtwoord / token. De meeste diensten tonen hun API-sleutels of tokens in de account- of ontwikkelaarsinstellingen.Stap 5: Sla waarden uit de respons op
Om het antwoord te gebruiken, voeg je regels toe onder Vastleggingen: een variabelenaam en een selector zoals
$statusof een JSON-pad zoalsdata.temperature. Vul bij JSON-waarde ophalen het JSON-pad in en kies de variabele onder Opslaan in variabele.Stap 6: Probeer de knop uit
Klik in de editor op Uitvoeren om het verzoek meteen te versturen, of sla op en druk op de knop. Als de actie mislukt, vertelt de melding waarom, bijvoorbeeld dat de server niet bereikbaar was of dat de status niet overeenkwam met Verwachte status.
Acties2
Zet deze op een knop of voer ze uit vanuit een actiestroom.
- HTTP-verzoek versturen
- Verstuurt een instelbaar HTTP-verzoek en kan de respons in variabelen vastleggen.
- JSON-waarde ophalen
- Haalt een URL op en schrijft één waarde uit de JSON-respons in een variabele.
Veelgestelde vragen
Waar worden mijn API-sleutels en wachtwoorden opgeslagen?
Wat je in Wachtwoord / token invult, wordt versleuteld opgeslagen en pas weer leesbaar gemaakt wanneer het verzoek wordt verstuurd. Waarden die je in Headers typt, worden onversleuteld opgeslagen en gaan mee in geëxporteerde profielen, dus zet sleutels en tokens liever in de authenticatievelden.
Kan ik een apparaat in mijn lokale netwerk aanroepen?
Ja. Het verzoek wordt verstuurd vanaf de computer waarop Macro Deck draait, dus elk adres dat die computer kan bereiken werkt. Voor een apparaat met een zelfondertekend certificaat kun je TLS-certificaat valideren uitzetten, maar doe dat alleen voor apparaten in je eigen netwerk.
Waarom mislukt de actie terwijl de server wel antwoordde?
Het antwoord kwam niet overeen met Verwachte status, standaard 2xx. Vul de statuscode in die de API echt teruggeeft, een bereik zoals 200-204, een lijst, of any om elke status te accepteren. JSON-waarde ophalen verwacht altijd een 2xx-antwoord.
Welke JSON-paden kan ik gebruiken?
Gebruik punten en indexen, bijvoorbeeld data.items[0].name of [0].id, of $ voor het hele document. In Vastleggingen gaan de gereserveerde selectors zoals $status voor, dus een veld dat echt status heet, lees je met $.status.
Moet ik de variabelen eerst aanmaken?
Nee. Als een vastlegging of Opslaan in variabele een variabele noemt die niet bestaat, maakt Macro Deck die aan. Bestaat er al een variabele met die naam maar met een ander type, dan mislukt het opslaan met een melding.
Meer in Slim huis en web
Home Assistant
Meegeleverd met Macro DeckSchakel lampen, start scènes en scripts en toon live statussen uit je Home Assistant op je deck.
AdGuard Home
Meegeleverd met Macro DeckZet de bescherming van AdGuard Home aan, uit of op pauze en toon de statistieken op je deck.
RSS-feeds
Meegeleverd met Macro DeckVolg RSS- en Atom-feeds, toon hun nieuwste artikelen in widgets en reageer wanneer er nieuwe artikelen binnenkomen.
Weer
Meegeleverd met Macro DeckToon het huidige weer en de verwachting voor je locaties op je deck, zonder API-sleutel.