Workflow ausführen – API-Anleitung
Workflow ausführen – API-Anleitung
Nachdem Sie die Workflow-API aktiviert und einen API-Schlüssel erstellt haben, können Sie den Workflow über API-Anfragen aufrufen und die Ausführungsergebnisse des Workflows abrufen.
Methode
POST
URL
https://api-${endpoint}.gptbots.ai/v1/workflow/invoke
Authentifizierung
Details zur Authentifizierung finden Sie in der API-Übersicht.
Anfrage
Beispiel
curl -X POST 'https://api-${endpoint}.gptbots.ai/v1/workflow/invoke' \
-H 'Authorization: Bearer ${API Key}' \
-H 'Content-Type: application/json' \
-d '{
"userId": "<your_user_id>",
"input": {
<your_workflow_input_params>
},
"isAsync": true,
"webhook": [
{
"method": "POST",
"url": "https://example-1.com",
"headers": {
"Accept": "application/json",
"Authorization": "Bearer <your_token>"
}
},
{
"method": "GET",
"url": "https://example-2.com?fr=google",
"headers": {
"Accept": "application/json",
"Authorization": "Bearer <your_token>"
}
}
]
}'
curl -X POST 'https://api-${endpoint}.gptbots.ai/v1/workflow/invoke' \
-H 'Authorization: Bearer ${API Key}' \
-H 'Content-Type: application/json' \
-d '{
"userId": "<your_user_id>",
"input": {
<your_workflow_input_params>
},
"isAsync": true,
"webhook": [
{
"method": "POST",
"url": "https://example-1.com",
"headers": {
"Accept": "application/json",
"Authorization": "Bearer <your_token>"
}
},
{
"method": "GET",
"url": "https://example-2.com?fr=google",
"headers": {
"Accept": "application/json",
"Authorization": "Bearer <your_token>"
}
}
]
}'
Dieser Codeblock im schwebenden Fenster
Header
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| Authorization | Bearer ${API Key} | Ja | Validierung der Anfrage mit Authorization: Bearer ${API Key}; den Schlüssel erhalten Sie auf der Seite für API-Schlüssel als API Key. |
| Content-Type | application/json | Ja | Datentyp, fester Wert ist application/json. |
Body
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| userId | String | Nein | Dient zur Identifizierung der Benutzer-ID dieser Anfrage. |
| input | Object | Ja | Start-Knoten des Workflows. Dieses Objekt muss eine Struktur der Eingabeparameter enthalten, die exakt mit der im Start-Knoten des Workflows konfigurierten Struktur übereinstimmt. |
| isAsync | Boolean | Nein | Legt fest, ob diese Anfrage asynchron ausgeführt wird. - true: asynchrone Ausführung.- false (Standard): synchrone Ausführung.Sie können das Ergebnis entweder über die Funktion „Workflow-Ausführungsergebnis abfragen“ abrufen oder es an die im Webhook definierte Adresse senden lassen. Beide Methoden können parallel genutzt werden. |
| webhook | Array Object | Nein | Bei asynchroner Ausführung kann das Ergebnis an die angegebene Webhook-Adresse gesendet werden. Es können bis zu 5 Webhook-Einträge definiert werden. |
| webhook[].method | String | Ja | HTTP-Methode für den Webhook-Aufruf. |
| webhook[].url | String | Ja | Webhook-URL (Adresse). |
| webhook[].headers | Object | Nein | Header für den Webhook-Aufruf, nach Bedarf definierbar. |
Antwort
Beispiel
Bei synchroner Ausführung wird das Ergebnis wie folgt angezeigt:
{
"workflowId": "xxxxxxxx",
"workflowName": "todayNews",
"workflowVersion": "1.0.1",
"workflowRunId": "xxxxxxxx",
"input": {
"topic": "News"
},
"output": {
"news": [
{
"summary": "Tödlicher Unfall legt wichtige Autobahn in Haleiwa lahm. Laut Emergency Medical Services waren Sanitäter:innen am Mittwochmorgen am Unfallort im Einsatz.",
"media": "Hawaii News Now",
"title": "Hawaii News Now - Breaking News, Latest News, Weather & Traffic"
},
{
"summary": "Kriminalität in Hawaii: Mann (65) bei Angriff in Waikīkī lebensgefährlich verletzt. Jamil Hart im Mordfall Mililani schuldig gesprochen. Polizei hebt illegales Glücksspiel in Nanakuli aus.",
"media": "KHON2",
"title": "KHON2: Hawaii News, Weather, Sports, Breaking News & Live"
}
]
},
"workflowExecutionTime": 8.347,
"status": "SUCCEED",
"totalCost": 0.6928,
"totalTokens": 1.745,
"startTime": 1.758.765.323.024,
"endTime": 1.758.765.331.373
}
{
"workflowId": "xxxxxxxx",
"workflowName": "todayNews",
"workflowVersion": "1.0.1",
"workflowRunId": "xxxxxxxx",
"input": {
"topic": "News"
},
"output": {
"news": [
{
"summary": "Tödlicher Unfall legt wichtige Autobahn in Haleiwa lahm. Laut Emergency Medical Services waren Sanitäter:innen am Mittwochmorgen am Unfallort im Einsatz.",
"media": "Hawaii News Now",
"title": "Hawaii News Now - Breaking News, Latest News, Weather & Traffic"
},
{
"summary": "Kriminalität in Hawaii: Mann (65) bei Angriff in Waikīkī lebensgefährlich verletzt. Jamil Hart im Mordfall Mililani schuldig gesprochen. Polizei hebt illegales Glücksspiel in Nanakuli aus.",
"media": "KHON2",
"title": "KHON2: Hawaii News, Weather, Sports, Breaking News & Live"
}
]
},
"workflowExecutionTime": 8.347,
"status": "SUCCEED",
"totalCost": 0.6928,
"totalTokens": 1.745,
"startTime": 1.758.765.323.024,
"endTime": 1.758.765.331.373
}
Dieser Codeblock im schwebenden Fenster
Bei asynchroner Ausführung gibt die API sofort folgende Antwort zurück:
{
"workflowId": "xxxxxxxx",
"workflowName": "todayNews",
"workflowVersion": "1.0.1",
"workflowRunId": "xxxxxxxx",
"status": "PENDING"
}
{
"workflowId": "xxxxxxxx",
"workflowName": "todayNews",
"workflowVersion": "1.0.1",
"workflowRunId": "xxxxxxxx",
"status": "PENDING"
}
Dieser Codeblock im schwebenden Fenster
Sie können das Ausführungsergebnis asynchron mit der erhaltenen workflowRunId abrufen.
Body
| Feld | Typ | Beschreibung |
|---|---|---|
| workflowId | String | Workflow-ID. |
| workflowName | String | Name des Workflows. |
| workflowVersion | String | Versionsnummer des Workflows. |
| workflowRunId | String | Workflow-Ausführungs-ID, dient zur eindeutigen Identifikation dieses Durchlaufs. |
| input | Object | Eingaben für den Start-Knoten, identisch mit der Anfrage. |
| output | Object | Ausgaben des End-Knotens, enthält die Ergebnisse der Workflow-Ausführung. |
| workflowExecutionTime | Number | Benötigte Zeit für die Workflow-Ausführung in Millisekunden. |
| status | String | Status der Workflow-Ausführung, mögliche Werte: - SUCCEED: erfolgreich - FAILED: fehlgeschlagen - PENDING: in Warteschlange - RUNNING: läuft |
| totalCost | Number | Gesamtkosten (Credits) für diesen Durchlauf. |
| totalTokens | Number | Insgesamt verbrauchte Token für diesen Durchlauf. |
| startTime | Number | Startzeitpunkt in Millisekunden (Timestamp). |
| endTime | Number | Endzeitpunkt in Millisekunden (Timestamp). |
