Skip to content

执行工作流

接口信息

接口地址:/api/v1/workflow/{id}/execute

请求方式:POST

请求数据类型:application/json

响应数据类型:*/*

接口描述:

运行指定的工作流,请求体为动态参数,根据工作流定义的入参传递

请求示例:

javascript
{
  "question": "用户输入的问题"
}

请求参数

请求头

参数名类型必填描述示例值
AuthorizationstringAPI KeyBearer ak-xxxxeyJhbGciOiJIUzI1NiJ9

路径参数:

参数名称参数说明是否必须数据类型
id工作流IDinteger(int64)

请求体参数:

动态参数,根据工作流定义的入参传递对应的 key-value 键值对。

响应参数:

参数名称参数说明类型schema
code业务状态码,0000 表示成功,其余失败string
displayCode源系统状态码,用于问题跟踪string
message错误描述信息string
data工作流执行返回的结果object
tid跟踪唯一标识string
successboolean

响应示例:

javascript
{
	"code": "0000",
	"displayCode": "0000",
	"message": "success",
	"data": {},
	"tid": "1234567890123456789",
	"success": true
}

CURL示例

shell
curl 'http://127.0.0.1:8081/api/v1/workflow/20/execute' \
  -X POST \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer ak-d1f2129c4ba24629b8448af3354f9dd0' \
  --data-raw '{"question": "用户输入问题"}'

{"code":"0000","displayCode":"0000","message":"success","data":{},"tid":"1234567890123456789","success":true}

测试用例

#场景状态码结果
1执行已发布的工作流0000成功,返回工作流执行结果
2执行不存在或未发布的工作流0001失败,提示"Error workflow id or not published"

TS模板示例

ts
// 响应接口
export interface WorkflowExecuteRes {
  code: string;
  displayCode: string;
  message: string;
  data: object | null;
  tid: string;
  success: boolean;
}

/** 
 * 执行工作流
 * @param {number} id - 工作流ID
 * @param {Record<string, unknown>} params - 工作流动态入参
 * @returns
 */
export function executeWorkflow(id: number, params: Record<string, unknown>): Promise<WorkflowExecuteRes> {
  return request.post(`/api/v1/workflow/${id}/execute`, params);
}