HTTP-Anfrage senden
Die Aktion HTTP-Anfrage senden verbindet deinen Workflow mit einem Webserver oder einer URL und sendet HTTP-Anfragen.
Nachdem Flow deine HTTP-Anfrage gesendet hat, wartet es maximal 30 Sekunden auf einen HTTP-Antwortcode. Wenn Flow nach 30 Sekunden keine Antwort erhalten hat, wird die Verbindung zu deiner App geschlossen. Später wird die Anfrage erneut versucht.
Felder
Die Aktion HTTP-Anfrage senden enthält die folgenden Felder.
| Feld | Beschreibung |
|---|---|
| HTTP-Methode | Die zu sendende HTTP-Anfragemethode. Die HTTP-Anfrage senden Aktion unterstützt die folgenden Methoden:
|
| URL | Die URL des Servers, an den die HTTP-Anfrage gesendet wird. |
| Header | Das Schlüssel-Wert-Paar für die HTTP-Anfrage. Es können mehrere Schlüssel-Wert-Paare eingegeben werden. |
| Body | Der Inhalt, der an den Server gesendet werden soll. |
| Bei Client-Fehler (4XX-Antwort) | Bei Erhalt eines Antwortcodes , der einen Client-Fehler anzeigt, führt Flow Folgendes aus:
|
| Bei Serverfehler (5XX- oder 429-Antwort) | Bei Erhalt eines Antwortcodes , der einen Serverfehler anzeigt, führt Flow Folgendes aus:
|
Zurückgegebene Daten
Um in den Schritten, die auf diese Aktion folgen, auf die zurückgegebenen Daten zuzugreifen, verwende die Variable mit dem Namen sendHttpRequest, die alle Details der HTTP-Antwort enthält. Optional kannst du eine Code ausführen-Aktion verwenden, um den body der Antwort zur Verwendung in nachfolgenden Workflow-Schritten zu parsen, wie im nachstehenden Beispiel.
Wenn eine Aktion vom Typ HTTP-Anfrage senden in einem einzigen Workflow mehrfach verwendet wird, wird dem Variablennamen eine Zahl hinzugefügt. In einem Workflow, der die Aktion HTTP-Anfrage senden beispielsweise zweimal verwendet, lautet die erste Variable für zurückgegebene Daten sendHttpRequest und die zweite Variable sendHttpRequest1. Dieser Name kann nicht angepasst werden.
Antwortcodes
Die folgende Tabelle beschreibt, wie Flow den HTTP-Antwortcode verarbeitet, nachdem es eine Antwort erhalten hat.
| HTTP-Antwortcode | Wie Flow den Antwortcode verarbeitet |
|---|---|
| 2XX oder 3XX Erfolg | Flow markiert die HTTP-Anfrage als erfolgreich und führt nachfolgende Aktionen im Workflow aus. |
| 4XX-Fehler, 5XX- und 429-Fehler | Je nachdem, wie die Aktion konfiguriert ist, wird Flow:
|
| Anderer Antwortcode | Wenn die Antwort einen Code zurückgibt, der nicht in dieser Tabelle beschrieben ist, oder bei der Wiederholung von Aktionen eine Zeitüberschreitung auftritt, markiert Flow die HTTP-Anfrage als fehlgeschlagen. Der Workflow-Durchlauf schlägt fehl und es werden keine nachfolgenden Workflow-Aktionen ausgeführt. |
Secrets
Secrets werden verwendet, um vertrauliche Informationen (wie Zugriffstoken oder Passwörter) für die Nutzung in der Aktion HTTP-Anfrage senden sicher zu speichern. Secrets werden auf der Seite Flow > Einstellungen erstellt und verwaltet. Ein Secret enthält ein Handle, einen Wert und eine Beschreibung. Du kannst auf das Secret als Liquid-Variable (z. B. {{secrets.handle}}) oder über die Option Secret hinzufügen verweisen, wenn du die Felder für URL, Header-Wert oder Body konfigurierst. Die Werte von Secrets sind in der Flow-Benutzeroberfläche nie sichtbar und werden in den Protokollen der Workflow-Durchläufe unkenntlich gemacht.
Trigger
Die Aktion HTTP-Anfrage senden kann in jedem Workflow verwendet werden.
Beispiele
Beispiel 1: Eine HTTP-Anfrage an einen externen Dienst senden
In diesem Beispiel wird Flow verwendet, um eine HTTP-Anfrage an einen externen Dienst zu senden.
Bevor du beginnst, konfiguriere einen Webservice, der HTTP-Anfragen empfängt und die Daten dieser Anfragen zu Testzwecken speichert, wie z. B. Request Catcher. Denke daran, vorsichtig zu sein, wenn du vertrauliche Daten (wie Passwörter oder API-Schlüssel) an einen externen Dienst sendest.
Schritte:
- Wähle den Trigger Produktstatus aktualisiert. Damit kannst du diesen Workflow testen, indem du den Status eines Produkts änderst.
- Füge eine HTTP-Anfrage senden Aktion zu deinem Workflow hinzu und verbinde sie mit dem Trigger. Öffne dann das Konfigurationsfenster, indem du auf den Schritt HTTP-Anfrage senden klickst.
- Gib im Feld HTTP-Methode
POSTein. - Gib im Feld URL die zu testende URL ein, z. B.
https://yourFlowTest.requestcatcher.com/test. - Gib im Abschnitt Header einen Header mit dem Schlüssel
Content-Typeund dem Werttext/plainein. - Gib im Abschnitt Body
{{product.title}}und{{product.status}}ein, um den Titel und den aktualisierten Status des Produkts aus dem Trigger zu senden.
- Gib im Feld HTTP-Methode
- Aktiviere den Workflow.
- Teste ihn, indem du den Status eines Produkts änderst, z. B. von Entwurf auf Aktiv.
- Beobachte die Ergebnisse im externen Testdienst, in diesem Beispiel also unter
https://yourFlowTest.requestcatcher.com/.
Beispiel 2: HTTP-Antwort mit „Code ausführen“ parsen
In diesem Beispiel verwendest du Flow, um eine HTTP-Anfrage an einen externen Dienst zu senden, und eine Code ausführen-Aktion, um den Body der HTTP-Antwort für die Verwendung in nachfolgenden Workflow-Schritten zu parsen.
Wähle zunächst einen Webdienst aus, der HTTP-Anfragen empfängt und Daten zurückgibt, wie z. B. Postman Echo. Sei vorsichtig, wenn du sensible Daten (wie Passwörter oder API-Schlüssel) an einen externen Dienst sendest.
Schritte:
Wähle den Trigger Produktstatus aktualisiert. Damit kannst du diesen Workflow testen, indem du den Status eines Produkts änderst.
Füge eine Aktion HTTP-Anfrage senden zu deinem Workflow hinzu und verbinde sie mit dem Trigger. Öffne dann das Konfigurationsfenster, indem du auf den Schritt HTTP-Anfrage senden klickst.
Gib im Feld HTTP-Methode
POSTein.Gib im Feld URL die zu testende URL ein, z. B.
https://postman-echo.com/post.Gib im Abschnitt Header einen Header mit dem Schlüssel
Content-Typeund dem Wertapplication/jsonein.Gib im Abschnitt Body das Beispiel-JSON ein, das an den Workflow zurückgegeben werden soll, z. B.:
{ "productTitle": "{{product.title}}", "productStatus": "{{product.status}}" }
Füge eine Aktion Code ausführen zu deinem Workflow hinzu und verbinde sie mit der Aktion HTTP-Anfrage senden. Öffne dann das Konfigurationsfenster, indem du auf den Schritt Code ausführen klickst.
Füge im Feld Eingaben definieren den
Bodyein, der vomsendHTTPrequest-Objekt zurückgegeben wird, z. B.:query{ sendHttpRequest { body } }Gib im Feld Ausgaben definieren die im Ausgabeschema definierten Ausgaben ein, z. B.:
type Output { productTitle: String! productStatus: String! }Parse im Feld Code schreiben die Antwort mit der
JSON.parse-Methode und stelle sicher, dass die von dir zurückgegebenen Daten mit der Form und den Typen übereinstimmen, die im Ausgabeschema definiert sind, z. B.:export default function main(input) { const body = JSON.parse(input.sendHttpRequest.body); console.log("body is", body); return { productTitle: body.data.productTitle, productStatus: body.data.productStatus } }
Füge eine Aktion Ausgabe protokollieren zu deinem Workflow hinzu und verbinde sie mit der Aktion Code ausführen. Öffne dann das Konfigurationsfenster, indem du auf den Schritt Code ausführen klickst.
Füge im Feld Ausgabe die von dem Schritt Code ausführen zurückgegebenen Variablen ein, z. B.:
Title from HTTP response: {{runCode.productTitle}} Status from HTTP response: {{runCode.productStatus}}
Aktiviere den Workflow.
Teste ihn, indem du den Status eines Produkts änderst, z. B. von Entwurf auf Aktiv.
Beobachte den resultierenden Durchlauf auf der Seite Flow / Letzte Durchläufe und beachte, dass die Werte im Schritt Ausgabe protokollieren mit den Werten übereinstimmen, die von der Ausgabe von HTTP-Anfrage senden zurückgegeben wurden.
Vorlagen
Fulfillmentanbieter über anstehende Bestellungen benachrichtigen
Sende eine HTTP-Anfrage an deinen Fulfillmentanbieter, wenn Bestellungen in Order Tagger mit „Warehouse“ getaggt werden. Vorlage ansehen
Neue Bestellungen an Airtable senden
Bestellungen an Airtable senden, wenn eine Bestellung erstellt wird. Vorlage ansehen
Alle bestehenden und neuen Produkte an Airtable senden
Alle 10 Minuten nach Produkten suchen, die noch nicht (per Tag) an Airtable gesendet wurden, und sie an Airtable senden. Vorlage ansehen
Produkte in Batches aus in Airtable gespeicherten Produktdaten aktualisieren
Produkte in Batches aus Produktdaten aktualisieren, die in Airtable gespeichert sind. Vorlage ansehen
Kund:innen über ablaufende Gutscheine mit SendGrid benachrichtigen
Täglich alle Gutscheine abrufen, die in 7 Tagen ablaufen, und über SendGrid E-Mails an Kund:innen senden. Vorlage ansehen
E-Mail über SendGrid senden, wenn Kund:innen einen benutzerdefinierten Artikel bestellen
Eine Transaktions-E-Mail über SendGrid senden, wenn ein:e Kund:in einen benutzerdefinierten Artikel bestellt. Vorlage ansehen