- Einleitung
- Erste Schritte
- Erstellen mit Maestro BPMN
- Grundlegendes zur BPMN-Modellierung von Maestro
- Öffnen der Modellierungsarbeitsfläche
- Modellierung Ihres Prozesses
- Ausrichten und Verbinden von BPMN-Elementen
- Autopilot for Maestro (Vorschau)
- Prozess-Repository
- Einen einfachen BPMN-Prozess implementieren
- Einen komplexen BPMN-Prozess implementieren
- Debugging
- Simulieren
- Auswertungen (Vorschau)
- Häufige Implementierungsszenarien
- Erstellen mit Maestro Case
- Einführung in Maestro Case
- Maestro BPMN vs. Maestro Case: Wann wird Case Management verwendet?
- Der Lebenszyklus von Maestro Case: Vom Ereignis-Trigger zum App-Erlebnis
- Erstellen Sie Ihren ersten Fall mit Maestro Case
- Maestro Case mit einem Codierungs-Agent erstellen (Vorschau)
- Definieren von Fallschlüsseln (System vs. extern)
- Erstellen von Task-E/A- und Write-Back-Verträgen
- Austrittsregeln und Beendigung der frühen Phase
- Modellieren von primären und sekundären Phasen
- Auslösen eines Falls aus Data Fabric
- Implementieren von Personas und Berechtigungen auf Phasenebene
- Festlegen von SLAs und automatisierten Eskalationsregeln
- Konfigurieren einer Nacharbeitsschleife (Wiedereintritt)
- Konfigurieren und Testen des Case Manager-Agents (Vorschau)
- Eingabe- und Ausgabevertrag für den Fall Manager
- Wörterbuch für die Komponente „Maestro Case“.
- Erstellen mit Maestro Flow
- Maestro Automate
- Integrationen
- Betrieb
- Überwachung
- Optimieren
- Referenzinformationen
Konfiguration, Authentifizierung und Muster für die Antwortverzweigung des HTTP Request-Knotens.
Was es tut
Sendet eine HTTP-Anforderung an eine URL und stellt die Antwort für nachgelagerte Knoten bereit.
Zwei HTTP-Knoten
Flow bietet zwei HTTP-Knoten. Wählen Sie je nachdem, wie Sie die Authentifizierung handhaben möchten:
- HTTP Request (
core.action.http) – Konfigurieren Sie die Methode, URL, Header, den Text und die Authentifizierung inline. Verwenden Sie ihn für jeden externen REST-Endpunkt, bei dem Sie die Anmeldeinformationen selbst verwalten, z. B. einen API-Key-Header oder ein Bearer-Token. Dies ist der auf dieser Seite dokumentierte Knoten. - Managed HTTP Request (
core.action.http.v2) – Stellt die Anforderung über eine von Integration Service verwaltete Verbindung her, sodass die Authentifizierung über diese Verbindung und nicht inline konfiguriert wird. Verwenden Sie ihn, wenn Sie eine zentrale Verwaltung von Anmeldeinformationen für einen Dienst wünschen, den Sie über Integration Service verbunden haben.
Konfigurationsreferenz
| Feld | Erforderlich | Standard | Beschreibung |
|---|---|---|---|
| Mode | Ja | Manuell | Wie die Anforderung konfiguriert wird. Wählen Sie „Manuell“ aus, um die Anforderung selbst zu definieren, oder „API-Definition“, um die Konfiguration aus einer OpenAPI- oder Swagger-Spezifikation zu importieren. |
| Aus cURL importieren | Nein | Keine | Analysiert einen cURL-Befehl und füllt die Methode, die URL, die Header und den Text automatisch aus. Wählen Sie die Schaltfläche cURL in der Symbolleiste über den Konfigurationsfeldern aus. |
| HTTP-Methode | Ja | GET | HTTP-Methode für die Anforderung. Unterstützte Werte sind GET, POST, PUT, PATCH und DELETE. |
| URL | Ja | Keine | Vollständige URL, an die die Anforderung gesendet werden soll, einschließlich des https://-Schemas. Unterstützt Variablenausdrücke, z. B. https://api.example.com/users/$vars.userId. |
| Header | Nein | Keine | Schlüssel-Wert-Paare, die als HTTP Request-Header gesendet werden. Header-Namen und -Werte unterstützen Variablenausdrücke. |
| Abfrageparameter | Nein | Keine | Schlüssel-Wert-Paare, ie als Abfragezeichenfolge an die URL angehängt werden. Namen und Werte unterstützen Variablenausdrücke. |
| Inhaltstyp | Nein | application/json | Multipurpose Internet Mail Extensions (MIME)-Typ des Anforderungstexts. Unterstützte Werte sind application/json, application/xml, text/plain und application/x-www-form-urlencoded. |
| Text | Nein | Leer | Anforderungstext für POST, PUT und PATCH Anforderungen. Geben Sie den Wert direkt in den Code-Editor ein oder verwenden Sie Variablenausdrücke. |
| Verzweigungen | Nein | Nur Standardausgabe | Antwortverzweigungen, die den Prozess basierend auf Antworteigenschaften weiterleiten. Jede Verzweigung hat einen Namen und einen Bedingungsausdruck. |
| Zeitüberschreitung | Nein | PT15M | Maximale Wartezeit auf eine Antwort im Dauerformat der International Organization for Standardization (ISO) 8601. |
| Anzahl der Wiederholungen | Nein | 0 | Anzahl der Wiederholungen der Anforderung, wenn sie fehlschlägt. Wiederholungen verwenden den Timeout-Wert als Backoff-Intervall. |
Der Editor schlägt häufig verwendete Header-Namen wie Authorization, Content-Type, Accept, X-Api-Key und andere vor. Bei Abfrageparametern wird die Anforderung durch Hinzufügen eines Parameters mit dem Namen page und dem Wert2 an https://api.example.com/items?page=2 gesendet.
Der Knoten wertet die Verzweigungsbedingungen der Reihe nach aus und folgt der ersten Übereinstimmung. Wenn keine Verzweigung übereinstimmt, folgt der Prozess der Standardausgabe.
Verzweigungsbedingungsausdrücke verwenden dieselbe JavaScript-Syntax wie Decisions- und Switch-Knoten:
$vars.httpRequest1.output.statusCode === 200
$vars.httpRequest1.output.statusCode === 200
$vars.httpRequest1.output.statusCode >= 400
$vars.httpRequest1.output.statusCode >= 400
Jede Verzweigung wird auf der Arbeitsfläche als separater Output-Handle auf der rechten Seite des Knotens neben dem Default-Handle angezeigt.
Häufige Timeout-Werte:
PT30S– 30 SekundenPT5M– 5 MinutenPT15M– 15 MinutenPT1H– 1 Stunde
Credentials
Sie können Anfragen auf zwei Arten authentifizieren.
Manuelle Authentifizierung
Übergeben Sie Anmeldeinformationen direkt in den Headern der Anforderung. Fügen Sie für die API-Schlüsselauthentifizierung einen Header mit dem Namen X-Api-Key und dem Wert Ihres Schlüssels hinzu. Fügen Sie für die Bearer-Token-Authentifizierung einen Authorization-Header mit einem Wert wie Bearer <your-token> hinzu.
Speichern Sie vertrauliche Werte wie Token und API-Schlüssel in geheimen Variablen, anstatt sie fest zu codieren.
Integration Service-Connector
Wählen Sie im Eigenschaftenbereich eine vorkonfigurierte Integration Service-Verbindung aus. Die Verbindung fügt automatisch Anmeldeinformationen in die Anforderung ein, sodass Sie die Header nicht selbst verwalten müssen.
Verwenden Sie einen Integration Service-Connector, wenn Sie eine zentrale Verwaltung von Anmeldeinformationen, eine automatische Token-Aktualisierung oder die gemeinsame Verwendung derselben API-Anmeldeinformationen durch mehrere Prozesse wünschen.
Integration Service-Connectors werden im UiPath Automation Cloud-Portal konfiguriert. Einrichtungsanweisungen finden Sie in der Integration Service-Dokumentation.
Beispiele
Beispiel 1 – Grundlegende GET-Anforderung
Rufen Sie eine einzelne Ressource aus einer öffentlichen API ab.
Der Knoten ist so konfiguriert, dass die HTTP-Methode auf GET und die URL auf https://jsonplaceholder.typicode.com/posts/1 festgelegt ist. Alle anderen Felder bleiben bei ihren Standardwerten.
Die Antwort ist in einem nachgelagerten Script-Knoten verfügbar:
const body = $vars.httpRequest1.output.body;
const status = $vars.httpRequest1.output.statusCode;
return {
title: body.title,
userId: body.userId,
status: status
};
const body = $vars.httpRequest1.output.body;
const status = $vars.httpRequest1.output.statusCode;
return {
title: body.title,
userId: body.userId,
status: status
};
Das Antwortobjekt ist unter $vars.httpRequest1.output verfügbar und enthält drei Felder:
$vars.httpRequest1.output.body– der analysierte Antworttext$vars.httpRequest1.output.statusCode– der HTTP-Statuscode, z. B.200$vars.httpRequest1.output.headers– ein Objekt, das die Antwort-Header enthält
Beispiel 2 – POST-Anforderung mit einem JSON-Body
Erstellen Sie eine neue Ressource, indem Sie eine JSON-Nutzlast senden.
Der Knoten ist mit der HTTP-Methode POSTauf , der URL auf https://api.example.com/orders, einem AuthorizationHeader mit dem Wert Bearer $vars.apiToken und dem auf application/json belassenenContent-Type konfiguriert. Der Body:
{
"product": "Widget",
"quantity": 5,
"customer_id": "cust_12345"
}
{
"product": "Widget",
"quantity": 5,
"customer_id": "cust_12345"
}
Die ID der erstellten Ressource ist in einem nachgelagerten Knoten verfügbar:
const orderId = $vars.httpRequest1.output.body.id;
return { orderId: orderId };
const orderId = $vars.httpRequest1.output.body.id;
return { orderId: orderId };
Wenn die anfordern fehlschlägt und Sie einen Error-Handle verbunden haben, sind die Fehlerdetails unter $vars.httpRequest1.error verfügbar:
// In a Script node connected to the error handle
const errorMessage = $vars.httpRequest1.error.message;
const errorStatus = $vars.httpRequest1.error.status;
return {
failed: true,
reason: errorMessage,
httpStatus: errorStatus
};
// In a Script node connected to the error handle
const errorMessage = $vars.httpRequest1.error.message;
const errorStatus = $vars.httpRequest1.error.status;
return {
failed: true,
reason: errorMessage,
httpStatus: errorStatus
};
Das Fehlerobjekt enthält:
codemessagedetailcategorystatus
Beispiel 3 – Antworten mit Verzweigungen weiterleiten
Antwortverzweigungen ermöglichen es dem Prozess, basierend auf der Antwort der API verschiedenen Pfaden zu folgen, ohne einen separaten Decision-Knoten.
Der Knoten ist so konfiguriert, dass die HTTP-Methode auf GET, die URL auf https://api.example.com/users/$vars.userId und im Abschnitt „Verzweigungen“ zwei Verzweigungen festgelegt sind: Success mit der Bedingung $vars.httpRequest1.output.statusCode === 200 und Not Found mit der Bedingung $vars.httpRequest1.output.statusCode === 404.
Der Knoten hat jetzt drei Output-Handles auf der Arbeitsfläche:
- Success – stellt eine Verbindung mit Knoten her, die die Benutzerdaten verarbeiten
- Not Found – stellt eine Verbindung mit Knoten her, die den Fall des fehlenden Benutzers behandeln
- Default – stellt eine Verbindung mit einem Fallback-Pfad für jeden anderen Statuscode her
Jeder nachgelagerte Pfad erhält die vollständige Antwort. Beispielsweise in der Success-Verzweigung:
const user = $vars.httpRequest1.output.body;
return { name: user.name, email: user.email };
const user = $vars.httpRequest1.output.body;
return { name: user.name, email: user.email };
Wann Sie dies anstelle eines Integrationsknotens verwenden sollten
Verwenden Sie den HTTP Request-Knoten als allgemeines Tool zum Aufrufen einer beliebigen API. Verwenden Sie einen dedizierten Integrationsknoten, wenn für den von Ihnen aufgerufenen Dienst einer vorhanden ist.
| Verwenden Sie HTTP Request, wenn … | Verwenden Sie einen Integrationsknoten, wenn … |
|---|---|
| Die API verfügt in der Knotenpalette über keinen dedizierten Connector. | Für den Dienst ist ein Connector vorhanden, z. B. Slack, Salesforce oder HubSpot. |
| Sie benötigen die vollständige Kontrolle über Header, Abfrageparameter und das Body-Format. | Sie möchten vorgefertigte, typisierte Eingaben und Ausgaben ohne manuelle Konfiguration. |
| Sie erstellen einen Prototyp für eine neue API oder einen internen Dienst. | Sie möchten die automatische Authentifizierung und Token-Aktualisierung über Integration Service nutzen. |
| Die API verwendet ein nicht standardmäßiges Authentifizierungsschema. | Sie möchten einen wartbaren Prozess, der nicht beeinträchtigt wird, wenn die API ihren Vertrag ändert. |
Faustregel: Suchen Sie zuerst in der Knotenpalette nach einem Connector. Greifen Sie nur dann auf HTTP Request zurück, wenn für Ihren Zieldienst kein entsprechender Connector vorhanden ist.
Zugehörige Seiten
- Script-Knoten – HTTP-Antwortdaten transformieren und verarbeiten
- Decision-Knoten – Verzweigung anhand von Bedingungen als Alternative zu Antwortverzweigungen
- Variablen und Datenfluss –
$vars, Ausdruckssyntax und Variablen-Scope
- Was es tut
- Zwei HTTP-Knoten
- Konfigurationsreferenz
- Credentials
- Manuelle Authentifizierung
- Integration Service-Connector
- Beispiele
- Beispiel 1 – Grundlegende GET-Anforderung
- Beispiel 2 – POST-Anforderung mit einem JSON-Body
- Beispiel 3 – Antworten mit Verzweigungen weiterleiten
- Wann Sie dies anstelle eines Integrationsknotens verwenden sollten
- Zugehörige Seiten