文档首页/ 工业数字模型驱动引擎/ API参考/ API/ 流程引擎/ 流程运行/ 启动流程实例 - startProcessInstance
更新时间:2026-07-28 GMT+08:00
分享

启动流程实例 - startProcessInstance

功能介绍

本接口用于在流程引擎中发起流程实例,适用于启动审批流程、生产工单流程或业务流程等场景。

保存申请单草稿 - saveAsDraftNew接口配合,可实现“草稿暂存→正式提交→流程启动”的完整申请单生命周期管理;与完成任务 - completeTask接口配合,可实现流程的审批流转闭环。

接口约束

  • 本接口支持基础版和体验版数据建模引擎-流程引擎场景。

  • 流程启动后,系统将根据流程模板定义自动生成首个待办任务(若首节点为人工任务)。

  • 如使用已保存的草稿数据启动流程,需在“start_process”区块中传入与草稿一致的“businessKey”,系统将自动关联草稿数据。

  • 启动流程时传入的“businessKey”需全局唯一,重复的业务流水号可能导致流程关联异常。

调用方法

请参见如何调用API

授权信息

账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。

  • 如果使用角色与策略授权,具体权限要求请参见权限和授权项
  • 如果使用身份策略授权,当前API调用无需身份策略权限。

URI

POST /console/servicetask/api/localMethod/start_process/startProcessInstance

请求参数

表1 请求Header参数

参数

是否必选

参数类型

描述

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服务的获取用户信息接口获取。

约束限制:

仅基础版数据建模引擎-流程引擎需要配置此参数。

取值范围:

不涉及。

默认取值:

不涉及。

表2 请求Body参数

参数

是否必选

参数类型

描述

[数组元素]

Array of DefinitionArrayParam objects

参数解释:

启动流程入参集合,包含业务组件、参与者、附件等各类区块数据。数组中至少需包含一个“blockType”为“save_process_draft”的区块。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值

不涉及。

表3 DefinitionArrayParam

参数

是否必选

参数类型

描述

blockType

String

参数解释:

区块类型,用于标识当前数据区块的业务组件类型。

约束限制:

不涉及。

取值范围:

  • attachment:附件组件,用于上传任务相关的附件。

  • participant:设置参与者,用于预配置流程启动时的审批人信息。

  • start_process:启动流程,用于直接启动流程实例。

  • save_process_draft:保存草稿,用于保存申请单草稿数据。

默认取值:

不涉及。

nodeId

String

参数解释:

区块ID,用于标识流程节点在流程模型中的唯一标识。对于“save_process_draft”类型,可传空字符串。

约束限制:

不涉及。

取值范围:

最大长度100字符。

默认取值:

不涉及。

blockId

String

参数解释:

节点ID,用于标识业务组件实例的唯一标识。对于“save_process_draft”类型,可传空字符串。

约束限制:

不涉及。

取值范围:

最大长度100字符。

默认取值:

不涉及。

data

Array of strings

参数解释:

携带数据,包含当前区块需要保存的具体业务数据内容。数据结构取决于“blockType”类型。

约束限制:

不涉及。

取值范围:

不涉及。

默认取值:

不涉及。

响应参数

状态码:200

表4 响应Body参数

参数

参数类型

描述

code

Integer

参数解释:

接口返回码,标识接口调用的执行结果。

取值范围:

  • 200:成功。

  • 非200:失败,具体错误码请参见错误码

data

data object

参数解释:

接口响应数据,包含流程启动后的实例信息及待办任务列表。

取值范围:

不涉及。

orderID

String

参数解释:

请求跟踪流水号,用于唯一标识本次接口请求,便于问题排查和链路追踪。

遇到问题时,请提供此ID联系技术支持。

取值范围:

不涉及。

表5 data

参数

参数类型

描述

processInstanceId

String

参数解释:

流程实例ID,用于唯一标识本次启动的流程实例。后续查询流程状态、撤销流程等操作均需提供此ID。

取值范围:

不涉及。

businessKey

String

参数解释:

业务流水号,用于关联业务系统的业务标识。与请求中传入的“businessKey”一致,可用于业务系统与流程引擎的数据关联。

取值范围:

不涉及。

taskList

Array of taskList objects

参数解释:

任务列表,包含流程启动后生成的待办任务信息。如果流程首节点为自动任务(如脚本任务),列表可能为空,流程将自动流转至首个人工任务节点。

取值范围:

不涉及。

processDefinitionName

String

参数解释:

流程定义英文名称,用于标识当前流程的模板名称。与请求中的“processTemplateName”一致。

取值范围:

不涉及。

version

Integer

参数解释:

流程模板定义版本,用于标识当前流程使用的模板版本号。与请求中的“processTemplateVersion”一致。

取值范围:

不涉及。

表6 taskList

参数

参数类型

描述

processDefinitionId

String

参数解释:

流程模板ID,用于唯一标识流程定义模板。格式为{processTemplateName}:{version}:{deploymentId}。

取值范围:

不涉及。

processInstanceId

String

参数解释:

流程实例ID,用于标识当前任务所属的流程实例。与“data”中的“processInstanceId”一致。

取值范围:

不涉及。

suspensionState

Integer

参数解释:

挂起状态,标识当前任务或流程实例的执行状态。

取值范围:

  • 2:挂起

  • 4:完成

taskDefinitionKey

String

参数解释:

任务节点Key,用于标识任务在流程模型中的节点定义标识。

取值范围:

不涉及。

businessKey

String

参数解释:

业务单据ID,用于关联外部业务系统的业务标识。与流程实例的“businessKey”一致。

取值范围:

不涉及。

name

String

参数解释:

任务名称,用于展示当前待办任务的标题。

取值范围:

不涉及。

assignee

String

参数解释:

审核人,指定当前任务的负责人或处理人。格式为u.{userId},其中“userId”为OrgID用户标识。

取值范围:

不涉及。

id

String

参数解释:

任务ID,用于唯一标识当前待办任务。后续完成任务时需提供此ID。

取值范围:

不涉及。

priority

Integer

参数解释:

优先级,用于标识当前任务的处理紧急程度,数值越大优先级越高。

取值范围:

不涉及。

transferSign

Boolean

参数解释:

转审标识,标识当前任务是否在流程管理编辑中配置了转审组件。如配置转审,任务处理人可将任务转交给其他用户处理。

取值范围:

  • true:是,支持转审。

  • false:否,不支持转审。

状态码:400

表7 响应Body参数

参数

参数类型

描述

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

错误码

请参见错误码

相关文档