
# 启动流程 - StartProcessInstance
#### 功能介绍
发起流程。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-craftartsipdcenter/ipdcenter_06_0034.html)。
#### URI
POST /console/servicetask/api/localMethod/start_process/startProcessInstance
示例接口地址：{域名（有文根需带文根）}/pdmcore/ipdcworkflowservice/console/servicetask/api/localMethod/start_process/startProcessInstance
#### 请求头
使用机机认证调用接口时需传入header：Authorization，其值为机机鉴权token。
#### 请求参数
表1请求Body参数 
| 参数       | 是否必选 | 参数类型                                                                                                          | 描述                   |
|:---|:---|:---|:---|
| \[数组元素\] | 否    | Array of [DefinitionArrayParam] objects | DefinitionArrayParam |
   
 表2DefinitionArrayParam 
| 参数        | 是否必选 | 参数类型             | 描述                                                                                                                                                                                    |
|:---|:---|:---|:---|
| blockId   | 否    | String           | 区块ID或页面组件的ref                                                                                                                                                                         |
| nodeId    | 否    | String           | 节点ID                                                                                                                                                                                  |
| blockType | 否    | String           | 区块类型：xdm/业务组件serverKey。为xdm时需要将数据保存到xdm对应模块中，详情参见[表3](https://support.huaweicloud.com/api-craftartsipdcenter/ipdcenter_06_0103.html#ZH-CN_TOPIC_0000001832200934__table5563192218910) |
| data      | 否    | JSONArray object | 携带模型数据                                                                                                                                                                                |
   
#### 响应参数
**状态码： 200**
表3响应Body参数 
| 参数      | 参数类型                                                                                | 描述      |
|:---|:---|:---|
| code    | Integer                                                                             | 接口返回码   |
| data    | [Data] object | 接口响应数据  |
| orderID | String                                                                              | 请求跟踪流水号 |
   
 表4Data 
| 参数                    | 参数类型                                                                                                        | 描述       |
|:---|:---|:---|
| processInstanceId     | String                                                                                                      | 流程实例ID   |
| businessKey           | String                                                                                                      | 申请单key   |
| taskList              | Array of [TaskList] objects | 任务列表     |
| processDefinitionName | String                                                                                                      | 流程模板定义名称 |
| version               | Integer                                                                                                     | 流程模板定义版本 |
   
 表5TaskList 
| 参数                  | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|
| processDefinitionId | String  | 流程模板ID                                                                                                                                                                                                                                                                                                                                                    |
| processInstanceId   | String  | 实例ID                                                                                                                                                                                                                                                                                                                                                      |
| suspensionState     | Integer | 挂起状态： - **1未挂起**  - **2已挂起**   |
| taskDefinitionKey   | String  | 任务节点key                                                                                                                                                                                                                                                                                                                                                   |
| businessKey         | String  | 业务单据ID                                                                                                                                                                                                                                                                                                                                                    |
| name                | String  | 名称                                                                                                                                                                                                                                                                                                                                                        |
| assignee            | String  | 审核人                                                                                                                                                                                                                                                                                                                                                       |
| priority            | Integer | 优先级                                                                                                                                                                                                                                                                                                                                                       |
| transferSign        | Boolean | -                                                                                                                                                                                                                                                                                                                                                         |
| id                  | String  | -                                                                                                                                                                                                                                                                                                                                                         |
   
#### 请求示例
```
[{
"blockType": "start_process",
"nodeId": "",
"blockId": "",
"data": [{
"processTemplateName": "Test0425",
"processTemplateVersion": "6"
}]
}, {
"nodeId": "StartEvent_1",
"blockType": "participant",
"blockId": "eb3b8c37",
"data": [{
"mainReview": "1008600000063295115",
"expertReview": "05209014da3a49faa68056102da7ba35"
}]
}, {
"nodeId": "StartEvent_1",
"blockType": "attachment",
"blockId": "67c0f8e6",
"data": []
}, {
"nodeId": "StartEvent_1",
"blockType": "EcChangeTypeTemplate",
"blockId": "fee5a374",
"data": [{
"EcChangeType": "1212",
"Version": "2222"
}]
}]
```
#### 响应示例
**状态码： 200**
```
{
    "code": 0,
    "data": {
        "processInstanceId": "f6483177-0a16-11f0-8e03-d24aa7462b46",
        "businessKey": "P10000031",
        "taskList": [
            {
                "processDefinitionId": "Test20250326001:1:88c99420548b4f3bb3104329d136c35d",
                "processInstanceId": "f6483177-0a16-11f0-8e03-d24aa7462b46",
                "suspensionState": 1,
                "taskDefinitionKey": "Activity_0sqf3co",
                "transferSign": false,
                "businessKey": "P10000031",
                "name": "用户任务001",
                "assignee": "u.sysadmin",
                "id": "f6635aac-0a16-11f0-8e03-d24aa7462b46",
                "priority": 50
            },
            {
                "processDefinitionId": "Test20250326001:1:88c99420548b4f3bb3104329d136c35d",
                "processInstanceId": "f6483177-0a16-11f0-8e03-d24aa7462b46",
                "suspensionState": 1,
                "taskDefinitionKey": "SubmitTask_1",
                "transferSign": false,
                "businessKey": "P10000031",
                "name": "提交任务",
                "assignee": "u.sysadmin",
                "id": "f6496a02-0a16-11f0-8e03-d24aa7462b46",
                "priority": 0
            }
        ],
        "processDefinitionName": "Test20250326001",
        "version": 1
    },
    "orderID": "ad76bb08-6267-49d3-a9b9-930ac1a15e24"
}
```
#### 状态码
| 状态码 | 描述   |
|:---|:---|
| 200 | 接口返参 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-craftartsipdcenter/ErrorCode.html)。
#### 使用说明
如果需要获得正常的反参，则需在页面上运行一个真实存在的流程，在开始节点单击提交按钮，从接口中取得相应的入参。否则接口返回是200，返回信息中不会有真实模板的信息。
