- Erste Schritte
- Erstellen
- Fügen Sie einen KI-Agent zu einem Workflow hinzu
- Rufen Sie eine externe API auf
- Eingehende E-Mails verarbeiten
- Einen Slack-Benachrichtigungs-Workflow erstellen
- Eine menschliche Genehmigung zu einem Workflow hinzufügen
- Erstellen Sie einen Chat Agent-Workflow
- Fehler behandeln
- Grundlagen des Debuggens
- Human-in-the-Loop: Eskalation oder menschlicher Schritt
- Auswerten Ihrer Workflows
- Bereitstellen und ausführen
- Beispiele
- Referenz (Reference)
HTTP-Anfrage (HTTP Request)
Der Knoten „HTTP-Anforderung“ sendet eine Anforderung mit seiner Konfiguration, Authentifizierung und Antwortverzweigung an eine Webadresse.
Was es tut
Sendet eine HTTP-Anforderung an eine URL und stellt die Antwort den Knoten danach zur Verfügung.
Authentifizierungsoptionen
Ein HTTP-Anforderungsknoten deckt beide Authentifizierungsmethoden ab, die Sie im Feld Authentifizierung auswählen:
- Manuelle Authentifizierung: Die Methode, URL, Header, Text und Anmeldeinformationen werden inline konfiguriert. Es passt zu jedem externen REST-Endpunkt (Repräsentation State Status), bei dem die Anmeldeinformationen im Knoten verwaltet werden, z. B. ein API-Schlüsselheader oder ein Bearer-Token.
- Connector-basierte Authentifizierung: Die Anforderung läuft über eine Verbindung, sodass die Verbindung die Authentifizierung verarbeitet und die Anmeldeinformationen nicht auf dem Knoten konfiguriert sind. Es passt zur zentralisierten Anmeldeinformationsverwaltung für einen Dienst, der über Integration Service verbunden ist.
Konfigurationsreferenz
| Feld | Erforderlich | Standard | Beschreibung |
|---|---|---|---|
| Import oder Export | Nein | Keine | Ein Menü über den Feldern. Import from cURL analysiert einen cURL-Befehl und füllt die Methode, die URL, die Header und den Text automatisch aus. |
| Authentication | Ja | Manuelle Authentifizierung | Wie die Anforderung authentifiziert wird. Bei der manuellen Authentifizierung werden die Anmeldeinformationen in den Anforderungsheadern übergeben. Die Connector-basierte Authentifizierung sendet die Anforderung über eine Verbindung, wie unten beschrieben. |
| Method | 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 Schemas https:// . In ein Feld Fester Wert wird ein Wert mit doppelten geschweiften Klammern eingefügt, 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. |
| Registerkarte Verzweigungen | Nein | Nur Standardausgabe | Antwortverzweigungen, die den Workflow basierend auf Antworteigenschaften weiterleiten. Jede Verzweigung hat einen Namen und einen Bedingungsausdruck. |
| Timeout (Registerkarte Erweitert ) | Nein | PT15M | Maximale Wartezeit auf eine Antwort im Dauerformat der International Organization for Standardization (ISO) 8601. |
| Anzahl der Wiederholungen (Registerkarte Erweitert ) | Nein | 0 | Anzahl der Wiederholungen der Anforderung, wenn sie fehlschlägt. Wiederholungen verwenden den Timeout-Wert als Backoff-Intervall. |
Connector-basierte Authentifizierung
Wenn die Authentifizierung eine Connector-basierte Authentifizierung ist, zeigt der Bereich diese Felder anstelle der manuellen an:
| Feld | Erforderlich | Beschreibung |
|---|---|---|
| Connector | Ja | Der Connector, über den die Anforderung gesendet werden soll, z. B. Slack. |
| Verbindung (benannt nach dem Connector, z. B. Slack-Verbindung) | Ja | Die zu verwendende Verbindung. |
| Method | Ja | Die HTTP-Methode für die Anforderung. |
| Basis-URL | Nein | Die Basis-URL des Connectors, angezeigt als Platzhalter, z. B. https://slack.com/api. |
| Pfad | Nein | Der Endpunktpfad für die REST-API-Anforderung. |
| Header | Nein | Schlüssel-Wert-Paare, bis zu 20. Der Connector fügt automatisch seine eigenen Authorization, Accept - und Content-Type -Header hinzu. |
| Abfrageparameter | Nein | Schlüssel-Wert-Paare, bis zu 20. |
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 Reihenfolge nach aus und folgt der ersten Übereinstimmung. Wenn keine Verzweigung übereinstimmt, folgt der Workflow der Standardausgabe .
Verzweigungsbedingungsausdrücke verwenden dieselbe JavaScript-Syntax wie Decisions- und Switch-Knoten:
$vars.httpRequest1.output.code === 200
$vars.httpRequest1.output.code === 200
$vars.httpRequest1.output.code >= 400
$vars.httpRequest1.output.code >= 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 Sekunden.PT5M: 5 Minuten.PT15M: 15 Minuten.PT1H: 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.
Connector-basierte Authentifizierung
Wählen Sie eine Verbindung im Eigenschaftenbereich aus. Die Verbindung fügt Anmeldeinformationen automatisch in die Anforderung ein, sodass Sie Header nicht selbst verwalten müssen.
Eine Verbindung eignet sich für zentralisierte Anmeldeinformationsverwaltung, automatische Tokenaktualisierung und Fälle, in denen mehrere Workflows dieselbe API-Anmeldeinformationen verwenden.
Create a connection describes how to create one.
Beispiele
Beispiel 1: Grundlegende GET-Anforderung
Rufen Sie eine einzelne Ressource aus einer öffentlichen API ab.
Der Knoten ist so konfiguriert, dass die Methode auf GET und die URL auf https://jsonplaceholder.typicode.com/posts/1 festgelegt ist. Alle anderen Felder behalten ihre Standardwerte bei.
Die Antwort ist in einem nachgelagerten Script-Knoten verfügbar:
const body = $vars.httpRequest1.output.body;
const status = $vars.httpRequest1.output.code;
return {
title: body.title,
userId: body.userId,
status: status
};
const body = $vars.httpRequest1.output.body;
const status = $vars.httpRequest1.output.code;
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 geparste Antworttext.$vars.httpRequest1.output.code: Der HTTP-Statuscode, z. B.200.$vars.httpRequest1.output.headers: ein Objekt, das die Antwortheader enthält.
Beispiel 2: POST-Anforderung mit einem JSON-Textkörper
Erstellen Sie eine neue Ressource, indem Sie eine JSON-Nutzlast senden.
Der Knoten wird so konfiguriert, dass Methode auf POST, URL auf https://api.example.com/orders, ein Authorization -Header mit dem Wert Bearer {{ $vars.apiToken }} und der Inhaltstyp links auf application/json festgelegt ist. Der Text:
{
"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 lassen den Workflow verschiedenen Pfaden basierend auf der Antwort der API ohne einen separaten Entscheidungsknoten folgen.
Der Knoten ist so konfiguriert, dass Methode auf GET, URL auf https://api.example.com/users/{{ $vars.userId }} und zwei Verzweigungen auf der Registerkarte Verzweigung festgelegt ist: Success mit Bedingung $vars.httpRequest1.output.code === 200 und Not Found mit Bedingung $vars.httpRequest1.output.code === 404.
Der Knoten hat jetzt drei Output-Handles auf der Arbeitsfläche:
- Erfolg: Stellt eine Verbindung mit den Knoten her, die die Benutzerdaten verarbeiten.
- Nicht gefunden: Stellt eine Verbindung mit den Knoten her, die den fehlenden Benutzer verarbeiten.
- Standard: 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 };
Auswahl zwischen HTTP-Anforderung und einem Integrationsknoten
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 hat keinen dedizierten Connector im Bereich Knoten hinzufügen | A connector exists for the service, such as Slack, Salesforce, or HubSpot CRM |
| 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, dass eine Verbindung die Anmeldung und Tokenaktualisierung für Sie übernimmt |
| Die API verwendet ein nicht standardmäßiges Authentifizierungsschema. | Sie möchten einen wartbaren Workflow, der nicht unterbrochen wird, wenn die API ihren Vertrag ändert |
In der Regel ist es die bessere Reihenfolge, im Panel Knoten hinzufügen zuerst nach einem Connector zu suchen, mit HTTP-Anforderung als Fallback, wenn für den Zieldienst nichts vorhanden ist.
Nächste Schritte
- Skriptknoten: Transformieren und Verarbeiten von HTTP-Antwortdaten.
- Entscheidungsknoten: Verzweigungen nach Bedingungen als Alternative zu Antwortverzweigungen.
- Variablen und Datenfluss:
$vars, Ausdruckssyntax und Variablen-Scoping. - Community: Stellen Sie Fragen und teilen Sie Workflows mit anderen Buildern im UiPath Forum.
- Was es tut
- Authentifizierungsoptionen
- Konfigurationsreferenz
- Connector-basierte Authentifizierung
- Credentials
- Manuelle Authentifizierung
- Connector-basierte Authentifizierung
- Beispiele
- Beispiel 1: Grundlegende GET-Anforderung
- Beispiel 2: POST-Anforderung mit einem JSON-Textkörper
- Beispiel 3: Antworten mit Verzweigungen weiterleiten
- Auswahl zwischen HTTP-Anforderung und einem Integrationsknoten
- Nächste Schritte