启动流程实例 - startProcessInstance
功能介绍
本接口用于在流程引擎中发起流程实例,适用于启动审批流程、生产工单流程或业务流程等场景。
与保存申请单草稿 - saveAsDraftNew接口配合,可实现“草稿暂存→正式提交→流程启动”的完整申请单生命周期管理;与完成任务 - completeTask接口配合,可实现流程的审批流转闭环。
接口约束
调用方法
请参见如何调用API。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权,具体权限要求请参见权限和授权项。
- 如果使用身份策略授权,当前API调用无需身份策略权限。
URI
POST /console/servicetask/api/localMethod/start_process/startProcessInstance
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| X-Auth-Token | 是 | String | 参数解释: IAM用户的token。 通过调用IAM服务获取用户Token接口获取(即响应消息头中X-Subject-Token的值)。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| X-Application-Id | 是 | String | 参数解释: 应用ID。 您可以在应用设计态的“应用中心 > 应用发布”页面获取,详情请参见应用发布。 约束限制: 不涉及。 取值范围: 由英文字母和数字组成,且长度为32个字符。 默认取值: 不涉及。 |
| X-Tenant-Id | 是 | String | 参数解释: 数据建模引擎运行态租户ID。 您可以从访问流程引擎编排服务的浏览器地址栏中获取。 流程编排服务地址:http://{承载流程编排服务的服务器域名或IP地址}:{流程编排服务的端口号}/{流程编排服务文根}/index.html#/processApplicationForm?tenantId={数据建模引擎运行态租户ID}&applicationId={应用ID} 例如tenantId=-1,表示数据建模引擎运行态默认租户“basicTenant”的租户ID为-1。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| X-User-Id | 是 | String | 参数解释: 请求当前接口时上下文中的用户ID,即OrgID的用户ID。 通过调用OrgID服务的获取用户信息接口获取。 约束限制: 仅基础版数据建模引擎-流程引擎需要配置此参数。 取值范围: 不涉及。 默认取值: 不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| [数组元素] | 否 | Array of DefinitionArrayParam objects | 参数解释: 启动流程入参集合,包含业务组件、参与者、附件等各类区块数据。数组中至少需包含一个“blockType”为“save_process_draft”的区块。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值 不涉及。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| blockType | 是 | String | 参数解释: 区块类型,用于标识当前数据区块的业务组件类型。 约束限制: 不涉及。 取值范围: 默认取值: 不涉及。 |
| nodeId | 是 | String | 参数解释: 区块ID,用于标识流程节点在流程模型中的唯一标识。对于“save_process_draft”类型,可传空字符串。 约束限制: 不涉及。 取值范围: 最大长度100字符。 默认取值: 不涉及。 |
| blockId | 是 | String | 参数解释: 节点ID,用于标识业务组件实例的唯一标识。对于“save_process_draft”类型,可传空字符串。 约束限制: 不涉及。 取值范围: 最大长度100字符。 默认取值: 不涉及。 |
| data | 否 | Array of strings | 参数解释: 携带数据,包含当前区块需要保存的具体业务数据内容。数据结构取决于“blockType”类型。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
响应参数
状态码:200
| 参数 | 参数类型 | 描述 |
|---|---|---|
| code | Integer | 参数解释: 接口返回码,标识接口调用的执行结果。 取值范围:
|
| data | data object | 参数解释: 接口响应数据,包含流程启动后的实例信息及待办任务列表。 取值范围: 不涉及。 |
| orderID | String | 参数解释: 请求跟踪流水号,用于唯一标识本次接口请求,便于问题排查和链路追踪。 遇到问题时,请提供此ID联系技术支持。 取值范围: 不涉及。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| processInstanceId | String | 参数解释: 流程实例ID,用于唯一标识本次启动的流程实例。后续查询流程状态、撤销流程等操作均需提供此ID。 取值范围: 不涉及。 |
| businessKey | String | 参数解释: 业务流水号,用于关联业务系统的业务标识。与请求中传入的“businessKey”一致,可用于业务系统与流程引擎的数据关联。 取值范围: 不涉及。 |
| taskList | Array of taskList objects | 参数解释: 任务列表,包含流程启动后生成的待办任务信息。如果流程首节点为自动任务(如脚本任务),列表可能为空,流程将自动流转至首个人工任务节点。 取值范围: 不涉及。 |
| processDefinitionName | String | 参数解释: 流程定义英文名称,用于标识当前流程的模板名称。与请求中的“processTemplateName”一致。 取值范围: 不涉及。 |
| version | Integer | 参数解释: 流程模板定义版本,用于标识当前流程使用的模板版本号。与请求中的“processTemplateVersion”一致。 取值范围: 不涉及。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| processDefinitionId | String | 参数解释: 流程模板ID,用于唯一标识流程定义模板。格式为{processTemplateName}:{version}:{deploymentId}。 取值范围: 不涉及。 |
| processInstanceId | String | 参数解释: 流程实例ID,用于标识当前任务所属的流程实例。与“data”中的“processInstanceId”一致。 取值范围: 不涉及。 |
| suspensionState | Integer | 参数解释: 挂起状态,标识当前任务或流程实例的执行状态。 取值范围: |
| taskDefinitionKey | String | 参数解释: 任务节点Key,用于标识任务在流程模型中的节点定义标识。 取值范围: 不涉及。 |
| businessKey | String | 参数解释: 业务单据ID,用于关联外部业务系统的业务标识。与流程实例的“businessKey”一致。 取值范围: 不涉及。 |
| name | String | 参数解释: 任务名称,用于展示当前待办任务的标题。 取值范围: 不涉及。 |
| assignee | String | 参数解释: 审核人,指定当前任务的负责人或处理人。格式为u.{userId},其中“userId”为OrgID用户标识。 取值范围: 不涉及。 |
| id | String | 参数解释: 任务ID,用于唯一标识当前待办任务。后续完成任务时需提供此ID。 取值范围: 不涉及。 |
| priority | Integer | 参数解释: 优先级,用于标识当前任务的处理紧急程度,数值越大优先级越高。 取值范围: 不涉及。 |
| transferSign | Boolean | 参数解释: 转审标识,标识当前任务是否在流程管理编辑中配置了转审组件。如配置转审,任务处理人可将任务转交给其他用户处理。 取值范围: |
状态码:400
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 错误码。 |
| error_msg | String | 错误描述。 |
| result | String | 结果。 |
| trace_id | String | 追踪ID。 |
请求示例
POST https://dme.cn-north-4.huaweicloud.cn/workflowRuntime/console/servicetask/api/localMethod/start_process/startProcessInstance
[ {
"blockType" : "start_process",
"nodeId" : "SubmitTask_1",
"blockId" : "",
"data" : [ {
"processTemplateName" : "Test_20260629_0001",
"processTemplateVersion" : "1"
} ]
}, {
"nodeId" : "SubmitTask_1",
"blockType" : "WXR2024031201",
"blockId" : "97d4decd",
"data" : [ ]
}, {
"nodeId" : "SubmitTask_1",
"blockType" : "attachment",
"blockId" : "67c0f8e6",
"data" : [ ]
}, {
"nodeId" : "SubmitTask_1",
"blockType" : "participant",
"blockId" : "256cf56f",
"data" : [ {
"Activity_1170mvn" : "548985778c8d4b7c860066b19a38d17c"
} ]
} ] 响应示例
状态码:200
OK
{
"code" : 0,
"data" : {
"processInstanceId" : "2b263825-e206-11ee-b9f9-7804e3968f51",
"businessKey" : "P10000548",
"taskList" : [ {
"processDefinitionId" : "WXR2024031201:5:32ff36dd48024b9b8da61e8b44dd27df",
"processInstanceId" : "2b263825-e206-11ee-b9f9-7804e3968f51",
"suspensionState" : 1,
"taskDefinitionKey" : "Activity_0g0ayay",
"transferSign" : false,
"businessKey" : "P10000548",
"name" : "用户任务",
"assignee" : "u.hid_fje4j2nvnue3xwp",
"id" : "2b542501-e206-11ee-b9f9-7804e3968f51",
"priority" : 50
} ],
"processDefinitionName" : "WXR2024031201",
"version" : 5
},
"orderID" : "d05ef61428014dd3804038ae6a9a9aea"
} 状态码:400
Bad Request
{
"error_code" : "500",
"error_msg" : "origin is not allowed!",
"result" : "FAIL",
"trace_id" : "2509bee60b3e40asdf9f741d9e23466a9"
} 状态码
| 状态码 | 描述 |
|---|---|
| 200 | OK |
| 400 | Bad Request |
错误码
请参见错误码。