REST-Aufruf
Der Task REST-Aufruf ermöglicht es dem Workflow, mit externen Systemen über REST-APIs zu interagieren. Er ermöglicht das Senden von HTTP-Anfragen und das Verarbeiten von Webdienstantworten und somit die Anbindung an externe Anwendungen.
Dies ist das Hauptwerkzeug zur Kommunikation mit anderen Plattformen wie ServiceNow, Salesforce, Ticketsystemen, Cloud-Datenbanken und unzähligen anderen Diensten, sei es zum Abrufen von Daten (GET) oder zum Senden oder Ändern von Informationen (POST, PUT).
Konfiguration
Die Konfiguration des Tasks definiert jeden Aspekt der zu sendenden HTTP-Anfrage. Die Konfigurationsfelder des Tasks können manuell oder über Workflow-Parameter und -Variablen. befüllt werden.
SSL-Verbindung
Gibt an, ob der Aufruf das SSL-Protokoll verwenden soll (ja / nein).
Proxy
Definiert die Weiterleitung der Verbindung über die folgenden Optionen:
- Systemeinstellung: verwendet den global konfigurierten Proxy.
- Kein Proxy: der Aufruf erfolgt direkt, ohne durch einen Proxy zu laufen.
- Benutzerdefinierter Proxy: aktiviert das Feld Proxy-Adresse für die manuelle Eingabe eines dedizierten Servers.
URL
In dieses Feld muss die vollständige Adresse des Endpunkts eingegeben werden, an den die Anfrage gesendet werden soll. Die URL kann dynamisch mithilfe von Parametern aufgebaut werden.
Authentifizierung
Ein Menü zur Auswahl der vom Ziel-API geforderten Authentifizierungsmethode. Die Optionen sind:
- Keine: Für öffentliche APIs, die keine Anmeldeinformationen erfordern.
- Basic: Standard-Authentifizierung mittels Benutzername und Passwort.
- Bearer: Authentifizierung mittels eines Sicherheitstokens (Bearer Token), das im Header der Anfrage einzufügen ist.
Benutzer
Der Benutzername für die Basic-Authentifizierung.
Passwort
Das Passwort, das mit dem Benutzer für die Basic-Authentifizierung verknüpft ist.
Token
Das Feld, in das das Sicherheitstoken eingegeben wird, wenn die Bearer-Authentifizierung verwendet wird.
Methode
Die zu verwendende HTTP-Methode für die Anfrage, welche den Typ der durchzuführenden Operation definiert:
- GET: Zum Abrufen von Daten aus einer Ressource.
- POST: Zum Erstellen einer neuen Ressource.
- PUT: Zum vollständigen Aktualisieren einer bestehenden Ressource.
Header
- Ein Textbereich zur Definition der HTTP-Header, die in die Anfrage aufgenommen werden sollen. Die Header müssen als Array von Strings angegeben werden, wobei jedes Element einen Header im Format darstellt:
- Erforderliches Format: ["Schlüssel: Wert", "Schlüssel2: Wert2"]
- Basisbeispiel: ["Content-Type:application/json;charset=utf-8"] - Schlüssel*: Content-Type und* Wert*: application/json;charset=utf-8*
- Beispiel Inhalt und Sprache: ["Content-Type:application/json;charset=utf-8", "Accept: application/json", "Accept-Language: it-IT, it;q=0.9"]
Body
Ein Textbereich zum Einfügen des Anfrage-Körpers (Payload). Dieses Feld wird hauptsächlich bei Methoden wie POST und PUT verwendet, um die zu erstellenden oder zu ändernden Daten zu senden. Um sicherzustellen, dass der JSON-Inhalt korrekt interpretiert wird, muss die Direktive „string:“ verwendet werden.
Beispiel:
string:{
"state": "#>state<#",
"work_notes": "#>work notes<#"
}
Anwendungsbeispiel
Ausgabe-Parameter
Sobald der externe Dienst auf den Aufruf geantwortet hat, stellt der Task die folgenden Ausgabe-Parameter bereit, die entscheidend für die Verarbeitung des Anfragergebnisses sind:
- headers: Enthält die Header der Antwort, die vom Server gesendet werden.
- response: Enthält den Body der Antwort, die vom Server gesendet wird.
- result: Gibt den Gesamtstatus der Task-Ausführung an.
- resultJson: Stellt das Ergebnis der Task-Ausführung im JSON-Format dar und enthält allgemeine Informationen, Konfigurationen und Details zur Ausführung.
- httpCode: Gibt den HTTP-Statuscode der Antwort zurück.
- 200 (OK), 201 (Created): Die Anfrage war erfolgreich.
- 400 (Bad Request), 401 (Unauthorized), 404 (Not Found): Clientseitiger Fehler.
- 500 (Internal Server Error): Serverseitiger Fehler.
Beispiel für den Parameter resultJson
{
"run_info": {
"status": "Completed",
"run_result": "Success"
},
"output_parameters": {
"exitStatus": "0"
}
}