# Streaming API-Endpunkt aufrufen

Mit dem Plugin <img src="https://2388870224-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8dtLKppxVG0mxVBzNFs6%2Fuploads%2FAW0GtJEygGgbnLc84ghV%2Fplugin-call-streaming-api-01.png?alt=media&#x26;token=d07609b3-175e-4c0c-b740-4b5ee3ff488d" alt="" data-size="line"> *Streaming API-Endpunkt aufrufen* können Sie Endpunkte ansprechen, die die Antwort nicht vollständig, sondern in einzelnen Teilen (Streaming) bereitstellen.

## Verarbeitungspattern

Im Gegensatz zum [API-Endpunkt aufrufen](https://help.aiaibot.com/robot/plugins/rest-apis-und-json/api-endpunkt-aufrufen) Plugin wird der Request im Hintergrund gestartet. Das bedeutet, dass der Workflow weiterläuft während die Response vom Endpunkt eintrifft. Um die einzelnen Teile zu verarbeiten, empfiehlt es sich, folgendes Pattern anzuwenden:

1. Aufruf des Streaming API-Endpunktes
2. Abfrage: Streaming noch nicht beenden oder Teile zum Verarbeiten vorhanden
3. Antwortteil aus Collection-Variable holen
4. Antwortteil verarbeiten
5. Zurück zu Schritt 2.

In einer Schleife werden die einzelnen Teile der Antwort ausgelesen und verarbeitet.

<figure><img src="https://2388870224-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8dtLKppxVG0mxVBzNFs6%2Fuploads%2FQiwqtFjUhrJhKwFJOx9x%2Fplugin-call-streaming-api-04.png?alt=media&#x26;token=aa59b02d-6bdc-46a0-bfcf-b5c82542192c" alt="" width="539"><figcaption><p>Pattern "Verarbeitung eines Streaming Endpunktes"</p></figcaption></figure>

## Eingabeparameter

<figure><img src="https://2388870224-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8dtLKppxVG0mxVBzNFs6%2Fuploads%2FzH6TlHPe7pvHwRjv8bFb%2Fplugin-call-streaming-api-02.png?alt=media&#x26;token=aca52ad1-c190-40ae-8fd5-27ff0610eb5c" alt="" width="290"><figcaption></figcaption></figure>

### Parameter "API"

Mit diesem Auswahlfeld wählen Sie ein API aus, die sie zuvor im Menüpunkt [API](https://help.aiaibot.com/robot/api-spezifikationen) festgelegt haben. Nachdem Sie eine Auswahl getroffen haben, wird der nächste Parameter *Endpoint* mit Auswahlmöglichkeiten befüllt.

### Parameter "Endpoint"

Diese Auswahlbox enthält die definierten Endpunkte der zuvor ausgewählten API.

### Parameter "Endpoint-Variablen"

In APIs und Endpunkten können [Platzhalter](https://help.aiaibot.com/robot/api-spezifikationen/platzhalter) definiert werden, die während der Ausführung des Workflows durch die Werte von Variablen ersetzt werden. Für jeden definierten Platzhalter wird ein Auswahlfeld angezeigt. Wählen Sie eine Variable aus, die den Platzhalter ersetzen soll.

## Ausgabeparameter

<figure><img src="https://2388870224-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8dtLKppxVG0mxVBzNFs6%2Fuploads%2FU0B6skbAlRLLMDWtTcbm%2Fplugin-call-streaming-api-03.png?alt=media&#x26;token=1a56b4c9-e5bb-486d-9634-59c862950646" alt="" width="294"><figcaption></figcaption></figure>

Im Unterschied zum Plugin [API-Endpunkt aufrufen](https://help.aiaibot.com/robot/plugins/rest-apis-und-json/api-endpunkt-aufrufen) können Sie hier keine Variable auswählen, in der der gesamte Response-Body gespeichert wird. Im Streaming-Modus liefert ein Endpunkt die Antwort in einzelnen Teilen. Diese Teile können Sie in einer Variable vom Typ `collection` speichern. Jeder Teil der Antwort wird am Ende der Collection eingefügt.

### Parameter "Response-Code"

Wählen Sie eine Variable vom Typ `integer` in dem der Response-Code gespeichert werden soll.

### Parameter "Response-Header"

Alle Response-Header können in einer Variable vom Typ `text` gespeichert werden. Ein Header wird im Format `headerName: headerWert` abgespeichert. Sollten mehrere Header in der Response enthalten sein, werden diese mit `\n` (Newline) separiert gespeichert.

Mit dem Plugin [Teilen eines Textes](https://help.aiaibot.com/robot/plugins/textverarbeitung/teilen-eines-textes) ist es möglich, die Header in einer Variable vom Typ `collection` umzuwandeln.

### Parameter "Abgeschlossen"

Um zu erkennen, wann das Streaming beendet ist, können Sie eine Variable vom Typ `boolean` verwenden, die Sie in diesem Auswahlfeld auswählen. Diese Variable wird auf **true** gesetzt, sobald der Endpunkt keine weiteren Daten mehr sendet.

### Parameter "Chunks"

Die einzelnen Teile der Antwort werden in der Variable gespeichert, die Sie in diesem Auswahlfeld auswählen. Die Reihenfolge der Teile bleibt dabei erhalten – neue Antworten werden stets am Ende der `collection` hinzugefügt.
