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.

In der Aktion „HTTP-Anfrage senden“ verwendete Felder.
FeldBeschreibung
HTTP-MethodeDie zu sendende HTTP-Anfragemethode. Die HTTP-Anfrage senden Aktion unterstützt die folgenden Methoden:
  • Get – Sendet eine Anfrage nach Informationen vom Server.
  • Delete – Entfernt eine Ressource vom Server.
  • Head – Ruft die HTTP-Antwort-Header des Servers ab.
  • Options – Ruft die vom Server unterstützten Optionen und Funktionen ab.
  • Patch – Aktualisiert eine Ressource auf dem Server teilweise.
  • Put – Aktualisiert eine Ressource auf dem Server.
  • Post – Erstellt oder ersetzt eine Ressource auf dem Server.
URLDie URL des Servers, an den die HTTP-Anfrage gesendet wird.
HeaderDas Schlüssel-Wert-Paar für die HTTP-Anfrage. Es können mehrere Schlüssel-Wert-Paare eingegeben werden.
BodyDer 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:
  • Erneut versuchen – Bis zu 24 Stunden lang wiederholen, bis ein anderer Antwortcode empfangen wird oder eine Zeitüberschreitung auftritt.
  • Fehlschlagen – Führt zum Fehlschlagen des Workflow-Durchlaufs.
  • Ignorieren – Der Fehler wird ignoriert und der Workflow-Durchlauf wird fortgesetzt.
Bei Serverfehler (5XX- oder 429-Antwort)Bei Erhalt eines Antwortcodes , der einen Serverfehler anzeigt, führt Flow Folgendes aus:
  • Erneut versuchen – Bis zu 24 Stunden lang wiederholen, bis ein anderer Antwortcode empfangen wird oder eine Zeitüberschreitung auftritt.
  • Fehlschlagen – Führt zum Fehlschlagen des Workflow-Durchlaufs.
  • Ignorieren – Der Fehler wird ignoriert und der Workflow-Durchlauf wird fortgesetzt.

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.

Wie Flow HTTP-Antwortcodes verarbeitet.
HTTP-AntwortcodeWie Flow den Antwortcode verarbeitet
2XX oder 3XX ErfolgFlow 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:
  • Erneut versuchen – Bis zu 24 Stunden lang wiederholen, bis ein anderer Antwortcode empfangen wird oder eine Zeitüberschreitung auftritt.
  • Fehlschlagen – Führt zum Fehlschlagen des Workflow-Durchlaufs.
  • Ignorieren – Der Fehler wird ignoriert und der Workflow-Durchlauf wird fortgesetzt.
Anderer AntwortcodeWenn 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:

  1. Wähle den Trigger Produktstatus aktualisiert. Damit kannst du diesen Workflow testen, indem du den Status eines Produkts änderst.
  2. 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 POST ein.
    • 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-Type und dem Wert text/plain ein.
    • Gib im Abschnitt Body {{product.title}} und {{product.status}} ein, um den Titel und den aktualisierten Status des Produkts aus dem Trigger zu senden.
  3. Aktiviere den Workflow.
  4. Teste ihn, indem du den Status eines Produkts änderst, z. B. von Entwurf auf Aktiv.
  5. 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:

  1. Wähle den Trigger Produktstatus aktualisiert. Damit kannst du diesen Workflow testen, indem du den Status eines Produkts änderst.

  2. 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 POST ein.

    • 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-Type und dem Wert application/json ein.

    • Gib im Abschnitt Body das Beispiel-JSON ein, das an den Workflow zurückgegeben werden soll, z. B.:

      {
          "productTitle": "{{product.title}}",
          "productStatus": "{{product.status}}"
      }
  3. 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 Body ein, der vom sendHTTPrequest-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
        }
      }
  4. 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}}
  5. Aktiviere den Workflow.

  6. Teste ihn, indem du den Status eines Produkts änderst, z. B. von Entwurf auf Aktiv.

  7. 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