更新时间:2025-07-29 GMT+08:00
分享

调用工作流

功能介绍

通过调用创建好的工作流API,输入问题,将得到工作流执行的结果。

URI

POST /v1/{project_id}/workflows/{workflow_id}/conversations/{conversation_id}

获取URI方式请参见请求URI

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

参数解释:

项目ID,获取方法请参见获取项目ID

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

workflow_id

String

参数解释:

Workflow ID,获取方式如下:

在“Agent开发”页面,左侧导航栏选择“工作台 > 工作流”,在所需工作流中单击“ > 复制ID”。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

conversation_id

String

参数解释:

会话ID,唯一标识每个会话的标识符,可将会话ID设置为任意值,使用标准UUID格式。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

参数解释:

用户Token。

用于获取操作API的权限。如图4中响应消息头中X-Subject-Token的值即为Token。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

Content-Type

String

参数解释:

发送的实体的MIME类型。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

application/json

stream

Boolean

参数解释:

是否开启流式调用。

  • true:开启。
  • false:不开启。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表3 请求Body参数

参数

是否必选

参数类型

描述

inputs

Map<String, Object>

参数解释:

用户提出的问题,作为运行工作流的输入,与工作流开始节点输入参数对应。包含默认字段query为用户输入。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

plugin_configs

List<PluginConfig>

参数解释:

插件配置,当工作流有配置用户自定义插件节点时,可能需要配置鉴权信息等,具体结构定义详见表4

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表4 PluginConfig参数

参数

是否必选

参数类型

描述

plugin_id

String

参数解释:

插件Id,获取方式如下:

在“Agent开发”页面,左侧导航栏选择“工作台 > 插件”,在所需插件中单击“ > 复制ID”。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

config

Map<String, String>

参数解释:

插件配置信息。

  • 当工作流关联插件节点,并且插件是“用户级鉴权”时,需要在此配置对应的鉴权信息,例如针对如下插件,config可以配成:{"key2": "value"}。

  • 其他情况该参数无需传值,plugin_configs传空数组即可。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

响应参数

非流式(Header中的stream参数为false)

状态码: 200

表5 非流式输出的数据单元

参数

参数类型

描述

outputs

Map<String, Object>

参数解释:

工作流最终输出内容,支持多个参数。

说明:

outputs示例如下:

  • responseContent参数是默认有的,值取为工作流结束节点里的“指定回复”内容。
  • 支持用户在工作流结束节点的“输出参数”模块自定义配置参数,自定义配置参数将会会显示在user_fields参数里。
"outputs":{"user_fields":{"aaa":"1","vvv":[{"role":"user","content":"1"}]},"responseContent":"你好!\uD83D\uDE0A 你输入了“1”,请问有什么我可以帮助你的吗?如果有具体问题或需求,随时告诉我哦!"}

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

messages

List<Message>

参数解释:

工作流助手回复内容,如提问器节点问题消息,详见表6

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

status

Map<String, Object>

参数解释:

状态,包含状态码code,状态描述desc。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

start_time

Long

参数解释:

开始时间。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

end_time

Long

参数解释:

结束时间。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表6 Message

参数

参数类型

描述

role

String

参数解释:

会话角色,支持user、assistant。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

content

String

参数解释:

会话内容。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

流式(Header中的stream参数为true或不传)

状态码: 200

表7 流式输出的数据单元

参数

参数类型

描述

data

String

参数解释:

stream=true时,执行工作流的消息以流式形式返回。生成的内容以增量的方式逐步发送回来,每个data字段均包含一部分生成的内容,直到所有data返回,响应结束。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表8 流式输出的数据单元

参数

参数类型

描述

event

String

参数解释:

数据单元类型。

约束限制:

不涉及

取值范围:

  • workflow_started:工作流开始事件,表示工作流开始运行。
  • workflow_finished:工作流结束事件,表示工作流结束运行。
  • message:消息事件,表示工作流执行过程中流式返回的消息。
  • error:错误事件,表示工作流执行错误信息。
  • end:结束事件,标识请求结束。

默认取值:

不涉及

data

Object

参数解释:

消息块内容,不同event的消息块内容不同。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表9 workflow_started事件的数据单元

参数

参数类型

描述

start_time

Long

参数解释:

工作流开始时间。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表10 workflow_finished事件的数据单元

参数

参数类型

描述

start_time

Long

参数解释:

工作流开始时间。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

end_time

Long

参数解释:

工作流结束时间。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

outputs

Map<String, Object>

参数解释:

工作流最终输出内容,支持多个参数。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

status

Map<String, Object>

参数解释:

状态,包含状态码code,状态描述desc。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表11 message事件的数据单元

参数

参数类型

描述

text

String

参数解释:

工作流输出内容消息块。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

index

Integer

参数解释:

消息块索引。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

node_id

String

参数解释:

节点id。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

node_type

String

参数解释:

节点类型。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

node_name

String

参数解释:

节点名。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表12 error事件的数据单元

参数

参数类型

描述

code

String

参数解释:

工作流执行错误码。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

message

String

参数解释:

工作流执行错误消息。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

node_id

String

参数解释:

节点id。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

node_type

String

参数解释:

节点类型。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

node_name

String

参数解释:

节点名。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

请求示例

POST https://{endpoint}/v1/{project_id}/agent-run/workflows/{workflow_id}/conversations/{conversation_id}

Request Header:   
Content-Type: application/json   
X-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG...  
stream: true
Request Body:
{ 
  "inputs": {
    "query": "你好"
  },
  "plugin_configs": [
    {
      "plugin_id": "xxxxxxxxx",
      "config": {
        "key": "value"
      }
    }
  ]
}

响应示例

非流式(Header中的stream参数为false)

输入节点返回:
{
    "conversation_id": "2c90493f-803d-431d-a197-57543d414317",
    "messages": [
        {
            "role": "assistant",
            "content": "{\"inputs\": [{\"actualType\": \"string\", \"sourceType\": \"null\", \"description\": \"姓名\", \"name\": \"name\", \"type\": \"string\", \"required\": true}]}",
            "nodeId": "node_1745928389632",
            "nodeType": "Input",
            "nodeName": "输入"
        }

    ],
    "status": {
        "code": 3,
        "desc": "waiting"
    },
    "start_time": 1734336269313,
    "end_time": 1734336270908
}

提问器节点返回:

{
    "conversation_id": "f9a5540f-0c92-4f28-bd6e-f96ce04f5cc81",
    "messages": [
        {
            "role": "assistant",
            "content": "请您提供姓名, 年龄相关的信息",
            "nodeId": "node_1745929628452",
            "nodeType": "Questioner",
            "nodeName": "提问器"
        }
    ],
    "status": {
        "code": 3,
        "desc": "waiting"
    },
    "start_time": 1745929778250,
    "end_time": 1745929779951
}

结束节点返回:

{
    "conversation_id": "2c90493f-803d-431d-a197-57543d414317",
    "outputs": {
        "responseContent": "你好!有什么我可以帮助你的吗?"
    },
    "messages": [],
    "status": {
        "code": 1,
        "desc": "succeeded"
    },
    "start_time": 1734337068533,
    "end_time": 1734337082545
}

流式(Header中的stream参数为true或不传)

输入节点返回:

data:{"event":"workflow_started","data":{"start_time":1745929087614}}

data:{"event":"message","data":{"text":"{\"inputs\": [{\"actualType\": \"string\", \"sourceType\": \"null\", \"description\": \"姓名\", \"name\": \"name\", \"type\": \"string\", \"required\": true}]}","index":0,"node_id":"node_1745928389632","node_type":"Input","node_name":"输入"}}

data:{"event":"message","data":{"text":"","node_id":"node_1745928389632","node_type":"Input","node_name":"输入","is_finished":true}}

data:{"event":"end"}

提问器节点返回:

data:{"event":"workflow_started","data":{"start_time":1745929709955}}

data:{"event":"message","data":{"text":"请您提供姓名, 年龄相关的信息","index":0,"node_id":"node_1745929628452","node_type":"Questioner","node_name":"提问器"}}

data:{"event":"message","data":{"text":"","node_id":"node_1745929628452","node_type":"Questioner","node_name":"提问器","is_finished":true}}

data:{"event":"end"}

结束节点返回:

data:{"event":"workflow_started","data":{"start_time":1745929897770}}

data:{"event":"message","data":{"text":"","index":0,"node_id":"node_end","node_type":"End","node_name":"结束"}}

data:{"event":"message","data":{"text":"你好","index":1,"node_id":"node_end","node_type":"End","node_name":"结束"}}

data:{"event":"message","data":{"text":"!","index":2,"node_id":"node_end","node_type":"End","node_name":"结束"}}

data:{"event":"message","data":{"text":"有什么我可以帮助你的吗?","index":3,"node_id":"node_end","node_type":"End","node_name":"结束"}}

data:{"event":"message","data":{"text":"","node_id":"node_end","node_type":"End","node_name":"结束","is_finished":true}}

data:{"event":"workflow_finished","data":{"status":{"code":1,"desc":"succeeded"},"outputs":{"responseContent":"你好!有什么我可以帮助你的吗?"},"start_time":1745929897770,"end_time":1745929898600}}

data:{"event":"end"}

状态码

请参见状态码

错误码

请参见错误码

相关文档