logo
Development
検索
ワークフローを実行

ワークフローを実行

ワークフロー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": { "id": "123", "doc": { "format": "pdf", "base64_content": "..." } }, "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": {
        "id": "123",
        "doc": {
            "format": "pdf",
            "base64_content": "..."
        }
    },
    "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 ワークフローの「開始」ノードです。このオブジェクトには、ワークフローの「開始」ノードで設定されているものと完全に一致する入力パラメータ構造を含める必要があります。
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 リクエストのヘッダー。必要に応じて定義できます。

input

入力パラメータに file タイプのフィールドが含まれている場合、以下の方法で入力できます:

一、string タイプで直接 URL を入力します。例:

{ "doc": "https://example.com/hello.pdf" }
                      
                      {
    "doc": "https://example.com/hello.pdf"
}

                    
このコードブロックをポップアップで表示

二、base64 json 形式で入力します。例:

{ "doc": { "format": "pdf", "base64_content": "base64..." } }
                      
                      {
    "doc": {
        "format": "pdf",
        "base64_content": "base64..."
    }
}

                    
このコードブロックをポップアップで表示

レスポンス

例

実行が同期の場合、結果は以下に表示されます:

{ "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 終了タイムスタンプ(ミリ秒)。