Zum Inhalt springen

HTTPRequest – Übersicht

Die Aktion HttpRequest ruft eine Webadresse auf, typischerweise eine REST-API. Damit verbinden Sie RUNOS mit fast jedem Dienst: Mails über Microsoft 365 senden, Gmail lesen, Kontakte in Odoo anlegen, Aufträge aus einem Shop abrufen, Rechnungen hochladen, Wetterdaten lesen, Dateien herunterladen.

Die Antwort steht den folgenden Aktionen zur Verfügung, JSON-Antworten bereits als Objekt:

{
"Type": "HttpRequest",
"Name": "WetterAbfragen",
"Parameters": {
"Url": "https://api.open-meteo.com/v1/forecast",
"QueryParameters": { "latitude": "52.52", "longitude": "13.41", "current_weather": "true" }
}
}

Die Temperatur steht danach in {{WetterAbfragen.Response.Body.current_weather.temperature}}, der Statuscode in {{WetterAbfragen.Response.StatusCode}}.

Im Workflow-Editor stellen Sie eine Anfrage im Formular zusammen und senden sie mit Schritt testen in der Testansicht.

Aufgabe Wie
Daten abfragen Method: GET mit QueryParameters
Daten senden POST, PUT oder PATCH mit Body als JSON, Formular, Text oder XML
Dateien hochladen BodyType: Multipart (Formular mit Dateien) oder File (die Datei als Inhalt)
Anmelden Connector mit dem Namen eines gespeicherten Konnektors: API-Schlüssel, Benutzer und Passwort oder OAuth2 (Microsoft, Google) mit automatischer Token-Erneuerung
Mehrere Seiten AutoPagination folgt den Links zur nächsten Seite; Response.Items enthält die Einträge aller Seiten
Viele Adressen Urls, wahlweise mit Parallel: true
Dateien herunterladen DownloadPath
Robust bei Netzproblemen MaxRetries (Standard 2) wiederholt nach Verbindungsfehlern, Zeitüberschreitung und Überlastungsantworten (429, 503 …); ein POST wird nie doppelt gesendet, wenn der Server ihn schon verarbeitet haben kann
Andere Codes als Erfolg werten SuccessStatusCodes, z. B. "200-299;404"

Die Aktion schlägt fehl, wenn der Server mit einem Fehlercode (4xx, 5xx) antwortet, nicht innerhalb von TimeoutSeconds (Standard 100) antwortet oder nicht erreichbar ist. Der Fehler enthält den Anfang der Serverantwort, die meist sagt, was falsch war.

Alle Parameter und das Ergebnis stehen unter Struktur.

Zugangsdaten gehören nicht ins Workflow-JSON. Legen Sie einen Konnektor an und geben Sie der Aktion seinen Namen:

"Connector": "Odoo",
"Url": "/json/2/res.partner/search_read"

Die Aktion meldet sich dann so an, wie der Konnektor es festlegt, und hängt einen Pfad wie /json/2/… an die Basis-URL des Konnektors. Bei OAuth2-Konnektoren (Microsoft 365, Gmail) erneuert RUNOS das Token selbst und wiederholt eine Anfrage einmal, wenn der Server das Token ablehnt.

Dienst meldet an mit … Konnektor
nichts (nur die Basis-URL) None
API-Schlüssel ApiKey
Benutzer und Passwort Basic
Anmeldung im Browser (Microsoft, Google) OAuth2

Alternativ meldet sich die Aktion mit AuthType und AuthToken an, und einzelne Werte eines Konnektors lassen sich mit Platzhaltern wie {{connector.Shop.ApiKey}} einsetzen.

  • MS365: Mails über Microsoft 365 senden, Kontakte lesen
  • Gmail: ungelesene Mails abrufen, als gelesen markieren, über Gmail senden
  • Odoo Contacts: Kontakte in Odoo suchen und anlegen