logo
開發者文件
搜尋
執行工作流程

執行工作流程

啟用工作流程 API 並建立 API Key 後,您可以透過 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} 使用 Authorization: Bearer ${API Key} 進行授權驗證;API Key 可於 API Keys 頁面取得。
Content-Type application/json 資料類型,固定值為 application/json

主體

欄位 類型 必填 描述
userId String 用於標記本次請求的使用者 ID。
input Object 工作流程 "start" 節點的輸入。此物件需包含與 "start" 節點配置一致的輸入參數結構。
isAsync Boolean 是否以非同步方式執行。
- true:非同步執行
- false(預設):同步執行
說明:若為 true,可透過「查詢工作流程運行結果」取得結果,或將結果發送至 Webhook(Web 鉤子)指定的網址,兩種方式可並行使用。
webhook Array Object 執行非同步操作時,可將工作流程執行結果發送至指定的 Webhook(Web 鉤子),最多可定義 5 個項目。
webhook[].method String Webhook 請求方法。
webhook[].url String Webhook URL(地址)。
webhook[].headers Object Webhook 請求標頭,可依需求自訂。

回應

範例

若為同步執行,回傳結果如下:

{ "workflowId": "xxxxxxxx", "workflowName": "todayNews", "workflowVersion": "1.0.1", "workflowRunId": "xxxxxxxx", "input": { "topic": "News" }, "output": { "news": [ { "summary": "致命車禍導致 Haleiwa 主要高速公路封閉。根據緊急醫療服務部門,救護人員於週三早上趕赴事故現場。", "media": "Hawaii News Now", "title": "Hawaii News Now - 即時新聞、最新消息、天氣與交通" }, { "summary": "夏威夷犯罪:65 歲男子在 Waikīkī 襲擊中重傷。Jamil Hart 在 Mililani 謀殺案中被判有罪。HPD 突襲 Nanakuli 非法賭博房。", "media": "KHON2", "title": "KHON2:夏威夷新聞、天氣、體育、突發新聞與即時" } ] }, "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": "致命車禍導致 Haleiwa 主要高速公路封閉。根據緊急醫療服務部門,救護人員於週三早上趕赴事故現場。",
                "media": "Hawaii News Now",
                "title": "Hawaii News Now - 即時新聞、最新消息、天氣與交通"
            },
            {
                "summary": "夏威夷犯罪:65 歲男子在 Waikīkī 襲擊中重傷。Jamil Hart 在 Mililani 謀殺案中被判有罪。HPD 突襲 Nanakuli 非法賭博房。",
                "media": "KHON2",
                "title": "KHON2:夏威夷新聞、天氣、體育、突發新聞與即時"
            }
        ]
    },
    "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 本次執行消耗的總 Token 數。
startTime Number 開始時間戳(毫秒)。
endTime Number 結束時間戳(毫秒)。