ワークフローを実行
ワークフローを実行
ワークフローAPIを有効化してAPIキーを作成すると、API入力を通じてワークフローを呼び出し、ワークフロー実行の結果を取得できます。
メソッド
POST
URL
https://api-${endpoint}.gptbots.ai/v1/workflow/invoke
認証
認証方法の詳細は、API概要 を参照してください。
リクエスト
例
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>"
}
}
]
}'
このコードブロックをポップアップで表示
ヘッダ
フィールド | 型 | 必須 | 説明 |
---|---|---|---|
Authorization | Bearer ${API Key} | Y | Authorization: Bearer ${API Key} を使用して呼び出しを検証します。APIキーはAPIキーのページでAPI Key として取得します。 |
Content-Type | application/json | Y | データ型、固定値は application/json 。 |
ボディ
フィールド | 型 | 必須 | 説明 |
---|---|---|---|
userId | String | N | このリクエストのユーザーIDをタグ付けするために使用されます。 |
input | Object | Y | ワークフローの "start" ノード。 このオブジェクトは、ワークフローの "start" ノードで設定されているものと完全に一致する入力パラメータ構造を含める必要があります。 |
isAsync | Boolean | N | このリクエストが非同期で実行されるかどうかを定義します。 - true : 非同期実行。- false (デフォルト): 同期実行。注: true の場合、"ワークフロー実行結果の照会" を使用して結果を取得するか、または "Webhook" で定義されたアドレスに結果を送信することができます。これら二つの方法は競合しません。 |
webhook | Array Object | N | 非同期操作を行う場合、ワークフロー実行結果を指定された Webhook に送信できます。最大5つの Webhook エントリを定義できます。 |
webhook[].method | String | Y | Webhook リクエストのメソッド。 |
webhook[].url | String | Y | Webhook の URL(アドレス)。 |
webhook[].headers | Object | N | Webhook リクエストのヘッダー。必要に応じて定義できます。 |
レスポンス
例
実行が同期の場合、結果は以下に表示されます:
{
"workflowId": "xxxxxxxx",
"workflowName": "todayNews",
"workflowVersion": "1.0.1",
"workflowRunId": "xxxxxxxx",
"input": {
"topic": "News"
},
"output": {
"news": [
{
"summary": "Fatal crash shuts down major highway in Haleiwa. According to Emergency Medical Services, paramedics responded to the scene of the crash Wednesday morning.",
"media": "Hawaii News Now",
"title": "Hawaii News Now - Breaking News, Latest News, Weather & Traffic"
},
{
"summary": "Hawaii Crime: Man, 65, critically injured in Waikīkī assault. Jamil Hart found guilty in Mililani murder case. HPD busts illegal gambling room in Nanakuli.",
"media": "KHON2",
"title": "KHON2: Hawaii News, Weather, Sports, Breaking News & Live"
}
]
},
"workflowExecutionTime": 8347,
"status": "SUCCEED",
"totalCost": 0.6928,
"totalTokens": 1745,
"startTime": 1758765323024,
"endTime": 1758765331373
}
{
"workflowId": "xxxxxxxx",
"workflowName": "todayNews",
"workflowVersion": "1.0.1",
"workflowRunId": "xxxxxxxx",
"input": {
"topic": "News"
},
"output": {
"news": [
{
"summary": "Fatal crash shuts down major highway in Haleiwa. According to Emergency Medical Services, paramedics responded to the scene of the crash Wednesday morning.",
"media": "Hawaii News Now",
"title": "Hawaii News Now - Breaking News, Latest News, Weather & Traffic"
},
{
"summary": "Hawaii Crime: Man, 65, critically injured in Waikīkī assault. Jamil Hart found guilty in Mililani murder case. HPD busts illegal gambling room in Nanakuli.",
"media": "KHON2",
"title": "KHON2: Hawaii News, Weather, Sports, Breaking News & Live"
}
]
},
"workflowExecutionTime": 8347,
"status": "SUCCEED",
"totalCost": 0.6928,
"totalTokens": 1745,
"startTime": 1758765323024,
"endTime": 1758765331373
}
このコードブロックをポップアップで表示
実行が非同期の場合、このAPIは直ちに以下のような結果を返します:
{
"workflowId": "xxxxxxxx",
"workflowName": "todayNews",
"workflowVersion": "1.0.1",
"workflowRunId": "xxxxxxxx",
"status": "PENDING"
}
{
"workflowId": "xxxxxxxx",
"workflowName": "todayNews",
"workflowVersion": "1.0.1",
"workflowRunId": "xxxxxxxx",
"status": "PENDING"
}
このコードブロックをポップアップで表示
取得した workflowRunId
を使用して、実行結果を非同期に照会できます。
ボディ
フィールド | 型 | 説明 |
---|---|---|
workflowId | String | ワークフローID。 |
workflowName | String | ワークフロー名。 |
workflowVersion | String | ワークフローのバージョン番号。 |
workflowRunId | String | ワークフロー実行ID。この実行を一意に識別するために使用されます。 |
input | Object | "start" ノードの入力。リクエスト内の入力と同一です。 |
output | Object | "end" ノードの出力。ワークフロー実行の結果が含まれます。 |
workflowExecutionTime | Number | ワークフローの実行に要した時間(ミリ秒)。 |
status | String | ワークフロー呼び出しのステータス。可能な値は: - SUCCEED: 成功 - FAILED: 失敗 - PENDING: キュー内 - RUNNING: 実行中 |
totalCost | Number | この実行の合計コストクレジット。 |
totalTokens | Number | この実行で消費されたトークンの合計。 |
startTime | Number | 開始タイムスタンプ(ミリ秒)。 |
endTime | Number | 終了タイムスタンプ(ミリ秒)。 |