UiPath Documentation
maestro
latest
false
Benutzerhandbuch zu Maestro
Wichtig :
Es kann 1–2 Wochen dauern, bis die Lokalisierung neu veröffentlichter Inhalte verfügbar ist.

HTTP-Anfrage (HTTP Request)

Konfiguration von HTTP-Anforderungsknoten, Authentifizierung und Antwortverzweigungsmuster.

Was es tut

Sendet eine HTTP-Anforderung an eine URL und stellt die Antwort nachgelagerten Knoten zur Verfügung.

Zwei HTTP-Knoten

Der Flow bietet zwei HTTP-Knoten. Wählen Sie je nachdem, wie Sie die Authentifizierung behandeln möchten:

  • HTTP-Anforderung (core.action.http) – Konfigurieren Sie die Methode, URL, Header, Text und Authentifizierung inline. Verwenden Sie sie für jeden externen REST-Endpunkt, an dem Sie Anmeldeinformationen selbst verwalten, z. B. einen API-Schlüsselheader oder ein Bearer-Token. Dies ist der Knoten, der auf dieser Seite dokumentiert ist.
  • Verwaltete HTTP-Anforderung (core.action.http.v2) – Stellt die Anforderung über eine von Integration Service verwaltete Verbindung bereit, sodass die Authentifizierung über diese Verbindung übernommen und nicht inline konfiguriert wird. Verwenden Sie sie, wenn Sie eine zentrale Anmeldeinformationsverwaltung für einen Dienst wünschen, den Sie über Integration Service verbunden haben.

Konfigurationsreferenz

FeldErforderlichStandardBeschreibung
ModeJaManuellWie die Anforderung konfiguriert ist. 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 importierenNeinKeineAnalysiert einen cURL-Befehl und füllt die Methode, die URL, die Header und den Text automatisch aus. Wählen Sie die Taste cURL in der Symbolleiste über den Konfigurationsfeldern.
HTTP-MethodeJaGETHTTP-Methode für die Anforderung. Unterstützte Werte sind GET, POST, PUT, PATCH und DELETE.
URLJaKeineVollständige URL, an die die Anforderung gesendet werden soll, einschließlich des Schemas https:// . Unterstützt z. B. Variablenausdrücke https://api.example.com/users/$vars.userId.
HeaderNeinKeineSchlüssel-Wert-Paare, die als HTTP-Anforderungsheader gesendet werden. Header-Namen und -Werte unterstützen Variablenausdrücke.
AbfrageparameterNeinKeineSchlüssel-Wert-Paare, die als Abfragezeichenfolge an die URL angefügt wurden. Namen und Werte unterstützen Variablenausdrücke.
InhaltstypNeinapplication/jsonMultizweck-Internet-Mail-Erweiterungen (MIME) des Anforderungstexts. Unterstützte Werte sind application/json, application/xml, text/plain und application/x-www-form-urlencoded.
TextNeinLeerAnforderungstext für die Anforderungen POST, PUT und PATCH . Geben Sie den Wert direkt im Code-Editor ein oder verwenden Sie Variablenausdrücke.
VerzweigungenNeinNur StandardausgabeAntwortverzweigungen, die den Prozess basierend auf Antworteigenschaften weiterleiten. Jede Verzweigung hat einen Namen und einen Bedingungsausdruck.
ZeitüberschreitungNeinPT15MMaximale Zeit, die für eine Antwort gewartet werden soll, im Dauerformat gemäß ISO 8601 (Internet Organization for Standardization).
Anzahl der WiederholungenNein0Anzahl der Wiederholungen der Anforderung, wenn sie fehlschlägt. Wiederholungen verwenden den Timeoutwert als Backoff-Intervall.

Der Editor schlägt gängige Headernamen wie Authorization, Content-Type, Accept, X-Api-Key und andere vor. Bei Abfrageparametern wird beim Hinzufügen eines Parameters mit dem Namen page und dem Wert 2 die Anforderung 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 Prozess der Standardausgabe .

Verzweigungsbedingungen-Ausdrücke verwenden dieselbe JavaScript-Syntax wie Entscheidungs- 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 als separate Ausgabe-Handle auf der Arbeitsfläche neben der Standard- Handle angezeigt.

Häufige Timeout-Werte:

  • PT30S – 30 Sekunden
  • PT5M – 5 Minuten
  • PT15M – 15 Minuten
  • PT1H – 1 Stunde

Credentials

Sie können Anforderungen auf zwei Arten authentifizieren.

Manuelle Authentifizierung

Übergeben Sie Anmeldeinformationen direkt in Anforderungsheadern. Fügen Sie für die API-Schlüsselauthentifizierung einen Header mit dem Namen X-Api-Key und einem für Ihren Schlüssel festgelegten Wert hinzu. Fügen Sie für die Authentifizierung mit Bearer-Token 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 zu hartcodieren.

Integration Service-Connector

Wählen Sie im Eigenschaftenbereich eine vorkonfigurierte Integration Service-Verbindung aus. Die Verbindung fügt Anmeldeinformationen automatisch in die Anforderung ein, sodass Sie Header nicht selbst verwalten müssen.

Verwenden Sie einen Integration Service-Connector, wenn Sie eine zentrale Verwaltung von Anmeldeinformationen, eine automatische Tokenaktualisierung oder wenn mehrere Prozesse dieselben API-Anmeldeinformationen verwenden.

Hinweis:

Integration Service-Connectors werden im UiPath Automation Cloud Portal konfiguriert. Anweisungen zur Einrichtung finden Sie in der Dokumentation zum Integration Service.

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 behalten ihre Standardwerte bei.

Die Antwort ist in einem nachgelagerten Skriptknoten 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 geparste Antworttext
  • $vars.httpRequest1.output.statusCode – der HTTP-Statuscode, z. B. 200
  • $vars.httpRequest1.output.headers – ein Objekt, das die Antwortheader enthält

Beispiel 2 – POST-Anforderung mit JSON-Textkörper

Erstellen Sie eine neue Ressource, indem Sie eine JSON-Nutzlast senden.

Der Knoten ist so konfiguriert, dass eine HTTP-Methode auf POST, eine URL auf https://api.example.com/orders, ein Authorization -Header mit dem Wert Bearer $vars.apiToken und der Inhaltstyp links festgelegt application/json 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 Anforderung fehlschlägt und Sie ein Fehler-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:

  • code
  • message
  • detail
  • category
  • status

Beispiel 3 – Antworten mit Verzweigungen weiterleiten

Antwortverzweigungen ermöglichen es dem Prozess, verschiedenen Pfaden basierend auf der Antwort der API ohne separaten Entscheidungsknoten zu folgen.

Der Knoten ist so konfiguriert, dass HTTP-Methode auf GET, URL auf https://api.example.com/users/$vars.userId und zwei Verzweigungen im Abschnitt Verzweigungen festgelegt ist: Success mit Bedingung $vars.httpRequest1.output.statusCode === 200 und Not Found mit Bedingung $vars.httpRequest1.output.statusCode === 404.

Der Knoten verfügt jetzt über drei Ausgabe-Handles auf der Arbeitsfläche:

  • Success – stellt eine Verbindung mit Knoten her, die die Benutzerdaten verarbeiten
  • Nicht gefunden – Stellt eine Verbindung mit Knoten her, die den fehlenden Benutzerfall verarbeiten
  • Standard – Stellt eine Verbindung mit einem Fallback-Pfad für jeden anderen Statuscode her

Jeder nachgelagerte Pfad erhält die vollständige Antwort. Zum Beispiel auf der Verzweigung Erfolg:

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 dieser im Vergleich zu einem Integrationsknoten verwendet werden sollte

Verwenden Sie den HTTP Request-Knoten als Allzwecktool zum Aufrufen einer beliebigen API. Verwenden Sie einen dedizierten Integrationsknoten, wenn einer für den aufgerufenen Dienst vorhanden ist.

HTTP-Anforderung verwenden, wenn…Integrationsknoten verwenden, wenn…
Die API hat keinen dedizierten Connector in der KnotenpaletteFür den Dienst ist ein Connector vorhanden, z. B. Slack, Salesforce oder HubSpot
Sie benötigen die volle Kontrolle über Header, Abfrageparameter und das TextformatSie möchten vorgefertigte typisierte Eingaben und Ausgaben ohne manuelle Konfiguration
Sie erstellen ein Prototyp für eine neue API oder einen internen DienstSie möchten eine automatische Authentifizierung und Tokenaktualisierung über den Integration Service
Die API verwendet ein nicht standardmäßiges AuthentifizierungsschemaSie möchten einen wartbaren Prozess, der nicht unterbrochen wird, wenn die API ihren Vertrag ändert

Regel: Durchsuchen Sie zuerst die Knotenpalette nach einem Connector. Greifen Sie nur dann auf die HTTP-Anforderung zurück, wenn für Ihren Zieldienst nichts vorhanden ist.

War diese Seite hilfreich?

Verbinden

Benötigen Sie Hilfe? Support

Möchten Sie lernen? UiPath Academy

Haben Sie Fragen? UiPath-Forum

Auf dem neuesten Stand bleiben