Zum Hauptinhalt springen

HTTP

Die HTTP Anbindung in linqi erlaubt es generische Webservices anzubinden. Sie ist daher eine der flexibelsten Möglichkeit um Drittsysteme anzubinden, benötigt jedoch auch das meiste technische Wissen.

info

Für die Arbeit mit HTTP Aktionen müssen Sie eine entsprechende Verbindung anlegen und das entsprechende Feature aktivieren.

HTTP Anfrage​

Über diese Aktion können Sie HTTP Anfragen an Webservices senden, um Daten zu senden oder auch zu laden. Dabei stehen folgende Konfigurationsmöglichkeiten zur Verfügung:

  • Verbindung:
    Wählen Sie hier die Verbindung (s.o.) aus, welche genutzt wird, um sich am Webservice anzumelden.
  • Url:
    Hier können Sie die Url angeben welche angefragt wird.
  • Methode:
    Wählen Sie die HTTP-Anfragemethode aus welche genutzt wird. Über die Option Andere Methode können Sie eine eigene Methode verwenden, um z.B. WebDAV oder Ähnliches anzusprechen. Falls Sie eine andere Methode als GET verwenden können Sie folgende Formate definieren:
    • Text:
      Verwenden Sie dieses Format um z.B. JSON oder XML an einen Webservice zu senden.
    • Datei:
      Über dieses Format können Sie Dateien an den Webservice senden.
    • Multipart:
      Wenn Sie dieses Format auswählen können Sie sowohl Text als auch Dateien als einen Request an einen Webservice senden. So können Sie z.B. eine Datei mit Metadaten senden.
  • Header:
    Hier können Sie Header einfügen um z.B. einen API-Key, Content-Type etc. zu übermitteln
  • Format der empfangenden Daten:
    Wenn Sie Daten von einem Webservice laden wollen und diese über einen Platzhalter referenzieren wollen, können Sie hier definieren, ob Sie eine Antwort in JSON, Datei Format erwarten oder einfach eine allgemeine Textantwort. Dabei können Sie folgende Konfigurationen treffen:
    • JSON Schema:
      Wenn Sie eine JSON Antwort erwarten können Sie hier ein JSON Schema angeben. Die Antwort wird gegen dieses JSON Schema validiert und die definierten Eigenschaften können, nachdem Sie den Prozess gespeichert haben, als Platzhalter referenziert werden.
    • Dateiname:
      Definieren Sie den Dateinamen der für die heruntergeladene Datei verwendet werden soll.
  • Fehlerausgang aktivieren:
    Sobald Sie diesen Schalter aktivieren, können Sie Fehler abfangen und verarbeiten.

HTTP Webhook​

Diese Aktion kann als Prozessstart genutzt werden um z.B. automatisiert einen Prozess zu starten, wenn in einem Drittsystem etwas passiert. Dabei stehen folgende Konfigurationsmöglichkeiten zur Verfügung:

  • Webhook URL:
    Hier wird die URL angezeigt, an welche Sie eine Anfrage senden müssen, um den Webhook auszulösen.
  • Benutzer Kontext:
    Geben Sie hier die Person an für welche ein Prozess gestartet wird. Sie können die Berechtigungen anschließend natürlich direkt über die entsprechenden Aktionen anpassen.
  • Format der empfangenden Daten:
    Wenn Sie erwarten, dass der Webhook Daten an linqi sendet und Sie die Daten über einen Platzhalter referenzieren wollen, können Sie hier definieren in welchem Format die Daten erwartet werden. Dabei können Sie folgende Konfigurationen treffen:
    • JSON Schema:
      Wenn Sie eine JSON Anfrage erwarten können Sie hier ein JSON Schema angeben. Die Anfrage wird gegen dieses JSON Schema validiert und die definierten Eigenschaften können, nachdem Sie den Prozess gespeichert haben, als Platzhalter referenziert werden.
    • Dateiname:
      Definieren Sie den Dateinamen der für die empfangene Datei verwendet werden soll. Wenn Sie keinen Dateinamen angeben, wird der Dateiname der empfangenen Datei verwendet.

Testprozess Konfiguration​

Diese Aktion stellt eine Testprozess Konfiguration bereit.
Je nach gewähltem Format der empfangenden Daten stehen zwei Varianten zur Verfügung:

  • JSON Body:
    Diese Variante wird angezeigt, wenn der Webhook auf JSON konfiguriert ist. Tragen Sie hier den JSON-Inhalt ein, der beim Teststart als Request-Body an den Prozess übergeben werden soll. Der Inhalt sollte dem konfigurierten JSON Schema entsprechen.
  • Datei Upload:
    Diese Variante wird angezeigt, wenn der Webhook auf Dateiempfang konfiguriert ist. Laden Sie hier die Datei hoch, die beim Teststart an den Prozess übergeben werden soll.

Webhook per curl aufrufen​

Mit einem einfachen HTTP-POST-Request können Sie den Webhook z.B. mit dem Kommandozeilen-Werkzeug curl aus Ihrem Drittsystem heraus auslösen. Die Webhook URL wird in den Einstellungen der Aktion angezeigt. Der Zugriff auf den Webhook erfolgt ohne separate Anmeldung. Der Webhook ist erst aufrufbar, nachdem der zugehörige Prozess veröffentlicht wurde. Je nach gewähltem Format der empfangenen Daten erwartet der Webhook einen anderen Request:

  • Datei:
    Übermitteln Sie genau eine Datei als multipart/form-data-Request:
    curl -X POST -F "file=@datei.pdf" "<webhookurl>"
  • JSON:
    Senden Sie den JSON-Inhalt als Request-Body. Der Inhalt wird gegen das konfigurierte JSON Schema validiert:
    curl -X POST -H "Content-Type: application/json" -d "{\"name\": \"linqi\"}" "<webhookurl>"
  • Textantwort:
    Senden Sie den Text als Request-Body:
    curl -X POST -H "Content-Type: text/plain" -d "Hallo Welt" "<webhookurl>"

Die Antwort enthält die ID des neu gestarteten Prozesses:

  • 200:
    Der Prozess wurde gestartet. linqi gibt die ID des neuen Prozesses zurück, z.B. {"processId":"<guid>"}
  • 400:
    Der Request konnte nicht verarbeitet werden, z.B. weil der JSON-Inhalt nicht dem konfigurierten JSON Schema entspricht. Die Antwort enthält die Fehlermeldung sowie die ID des neuen Prozesses, z.B. {"message":"<Fehlermeldung>","processId":"<guid>"}