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, 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​

FeldErforderlichStandardBeschreibung
ModeJaManuellWie 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 importierenNeinKeineAnalysiert 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-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 https://-Schemas. Unterstützt Variablenausdrücke, z. B. https://api.example.com/users/$vars.userId.
HeaderNeinKeineSchlüssel-Wert-Paare, die als HTTP Request-Header gesendet werden. Header-Namen und -Werte unterstützen Variablenausdrücke.
AbfrageparameterNeinKeineSchlüssel-Wert-Paare, ie als Abfragezeichenfolge an die URL angehängt werden. Namen und Werte unterstützen Variablenausdrücke.
InhaltstypNeinapplication/jsonMultipurpose Internet Mail Extensions (MIME)-Typ des Anforderungstexts. Unterstützte Werte sind application/json, application/xml, text/plain und application/x-www-form-urlencoded.
TextNeinLeerAnforderungstext für POST, PUT und PATCH Anforderungen. Geben Sie den Wert direkt in den 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 Wartezeit auf eine Antwort im Dauerformat der International Organization for Standardization (ISO) 8601.
Anzahl der WiederholungenNein0Anzahl 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 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.

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.

Hinweis:

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:

  • code
  • message
  • detail
  • category
  • status

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.

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