
# 保存申请单草稿 - saveAsDraftNew
#### 功能介绍
本接口用于保存流程申请单的草稿数据，适用于暂存未提交审批的业务申请单信息，支持后续继续编辑或正式提交流程。与[启动流程实例 - startProcessInstance](https://support.huaweicloud.com/api-idme/startProcessInstance.html)接口配合，可实现"草稿保存→编辑完善→正式提交"的完整申请单生命周期管理。
#### 接口约束
- 本接口支持基础版和体验版数据建模引擎-流程引擎场景。
  
- "blockType"为"participant"的区块用于预配置流程启动时的参与者信息，需在流程元模板中预先定义参与者角色（如"MarketingManager"）。
  
 
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-idme/idme_api_0003.html)。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-idme/idme_api_0017.html)。
- 如果使用身份策略授权，当前API调用无需身份策略权限。
 
#### URI
POST /console/servicetask/api/localMethod/save_process_draft/saveAsDraftNew
#### 请求参数
表1请求Header参数 
| 参数               | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| X-Auth-Token     | 是    | String | **参数解释：** IAM用户的token。 通过调用IAM服务[获取用户Token](https://support.huaweicloud.com/api-iam/iam_30_0001.html)接口获取（即响应消息头中X-Subject-Token的值）。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                   |
| X-Application-Id | 是    | String | **参数解释：** 应用ID。 您可以在应用设计态的"应用中心 \> 应用发布"页面获取，详情请参见[应用发布](https://support.huaweicloud.com/usermanual-idme/idme_usermanual_0085.html)。 **约束限制：** 不涉及。 **取值范围：** 由英文字母和数字组成，且长度为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服务的[获取用户信息](https://support.huaweicloud.com/api-orgid/ShowOauth2UserInfo.html)接口获取。 **约束限制：** 仅基础版数据建模引擎-流程引擎需要配置此参数。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                |
   
表2请求Body参数 
| 参数       | 是否必选 | 参数类型                                                                                                 | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|:---|
| \[数组元素\] | 否    | Array of [DefinitionArrayParam] objects | **参数解释：** 启动流程入参集合，包含业务组件、参与者、附件等各类区块数据。数组中至少需包含一个"blockType"为"save_process_draft"的区块。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值** 不涉及。 |
   
 表3DefinitionArrayParam 
| 参数        | 是否必选 | 参数类型             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
|:---|:---|:---|:---|
| 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：失败，具体错误码请参见[错误码](https://support.huaweicloud.com/api-idme/WorkFlow-Engine-ErrorCode.html)。    |
| data    | [data] object | **参数解释：** 接口响应数据，包含保存草稿后的申请单完整信息。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| orderID | String                                                      | **参数解释：** 请求跟踪流水号，用于唯一标识本次接口请求，便于问题排查和链路追踪。 遇到问题时，请提供此ID联系技术支持。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                              |
   
 表5data 
| 参数                     | 参数类型             | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|
| currentUserCN          | String           | **参数解释：** 当前用户名称。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| lastUpdateDate         | Integer          | **参数解释：** 最后更新日期，Unix时间戳格式。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                |
| modifier               | String           | **参数解释：** 修改人UUID（Universally Unique Identifier）。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                          |
| processTemplateName    | String           | **参数解释：** 流程模板编号名称，用于标识当前申请单所使用的流程模板。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                      |
| templateId             | String           | **参数解释：** 流程模板编号，用于唯一标识流程模板。与"processTemplateName"通常一致。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                    |
| currentUserUuid        | String           | **参数解释：** 当前用户UUID（Universally Unique Identifier）。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                         |
| currentUserId          | Integer          | **参数解释：** 当前用户ID。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| bizSeqExtAttrs         | Array of strings | **参数解释：** 业务对象拓展属性集合，用于存储业务自定义扩展字段。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                        |
| lastUpdateUserCN       | String           | **参数解释：** 最后更新人名称。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| scope                  | String           | **参数解释：** 区域信息，用于标识业务数据所属的区域范围。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                            |
| rowIdx                 | Integer          | **参数解释：** 行号索引，用于标识数据在列表中的位置序号。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                            |
| processTitle           | String           | **参数解释：** 流程实例名称，用于展示当前申请单的标题信息。系统默认生成格式为{模板名}_{时间戳}。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                      |
| bizSeqExtType          | String           | **参数解释：** 业务对象拓展类型名称，用于标识业务序列的扩展类型。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                        |
| creationUserCN         | String           | **参数解释：** 创建人名称。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| lastUpdatedBy          | Integer          | **参数解释：** 最后更新人ID。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| creator                | String           | **参数解释：** 创建人UUID（Universally Unique Identifier）。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                          |
| appName                | String           | **参数解释：** 应用名称，标识当前申请单所属的应用系统。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                             |
| entityType             | String           | **参数解释：** 关联类型，用于标识申请单与流程的关联关系。 **取值范围：** business：表示关联到流程。                                                                                                                                                                                                                                                                                                                                                                                                               |
| processTemplateVersion | String           | **参数解释：** 流程模板版本，用于标识当前申请单使用的流程模板版本号。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                      |
| holdableList           | Array of strings | **参数解释：** 模型集合，包含当前申请单关联的业务模型类全限定名列表。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                      |
| finished               | Boolean          | **参数解释：** 生命周期状态是否结束，标识当前申请单流程是否已完成。 **取值范围：** - true：是。   - false：否。                 |
| creationDate           | Integer          | **参数解释：** 创建日期，Unix时间戳格式。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| creationUserUuid       | String           | **参数解释：** 创建人UUID（Universally Unique Identifier）。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                          |
| holderId               | Integer          | **参数解释：** 表单Holder ID，用于唯一标识表单数据持有者。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                       |
| createdBy              | Integer          | **参数解释：** 创建人ID。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| businessKey            | String           | **参数解释：** 业务流水号，用于关联外部业务系统的业务标识。如请求中未传入，系统可能自动生成。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                          |
| holderType             | String           | **参数解释：** 表单Holder类型，用于标识表单数据所属的业务对象类型。 **取值范围：** - business：申请单级别。   - task：任务级别。    |
   
**状态码：400**
表6响应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/save_process_draft/saveAsDraftNew
[ {
  "blockType" : "save_process_draft",
  "nodeId" : "",
  "blockId" : "",
  "data" : [ {
    "processTemplateName" : "ProcessSyyy240307_1",
    "processTemplateVersion" : "4",
    "businessKey" : ""
  } ]
}, {
  "nodeId" : "StartEvent_1",
  "blockType" : "participant",
  "blockId" : "256cf56f",
  "data" : [ {
    "MarketingManager" : "1008600000046223908"
  } ]
}, {
  "nodeId" : "StartEvent_1",
  "blockType" : "attachment",
  "blockId" : "67c0f8e6",
  "data" : [ {
    "id" : "607281682566889472",
    "nodeId" : "StartEvent_1",
    "size" : 32071,
    "fileName" : "findmytask.xlsx",
    "nodeName" : "启动流程",
    "uploadTime" : "2024-03-07 18:40:35",
    "creator" : "hid_fje4j2nvnue3xwp"
  } ]
} ]
```
#### 响应示例
**状态码：200**
OK
```
{
  "code" : 0,
  "data" : {
    "currentUserCN" : "hid_fje4j2nvnue3xwp",
    "lastUpdateDate" : 1710422023229,
    "modifier" : "1008600000065234815",
    "processTemplateName" : "WXR2024031201",
    "templateId" : "WXR2024031201",
    "currentUserUuid" : "1008600000065234815",
    "currentUserId" : 0,
    "bizSeqExtAttrs" : [ ],
    "lastUpdateUserCN" : " ",
    "scope" : null,
    "rowIdx" : -1,
    "processTitle" : "WXR2024031201_2024-03-14T21:13:41.984+0800",
    "bizSeqExtType" : "WfBusinessSeq",
    "id" : "609856930319441920",
    "state" : "DRAFT",
    "creationUserCN" : " ",
    "lastUpdatedBy" : 1008600000065234800,
    "creator" : "1008600000065234815",
    "appName" : "WfWorkflowDemoService",
    "entityType" : "business",
    "processTemplateVersion" : "5",
    "holdableList" : [ "com.huawei.it.plm.workflow.framework.model.WfFormData", "com.huawei.it.plm.workflow.framework.model.WfAttachment", "com.huawei.it.plm.workflow.framework.model.WfBusinessObject" ],
    "finished" : false,
    "creationDate" : 1710422023229,
    "creationUserUuid" : "1008600000065234815",
    "holderId" : 609856930319441900,
    "createdBy" : 1008600000065234800,
    "businessKey" : "P10000548",
    "holderType" : "business"
  },
  "orderID" : "fc9243bb67eb4a8cbe34e6eb87e8e1f7"
}
```
**状态码：400**
Bad Request
```
{
  "error_code" : "500",
  "error_msg" : "origin is not allowed!",
  "result" : "FAIL",
  "trace_id" : "2509bee60b3e40asdf9f741d9e23466a9"
}
```
#### 状态码
| 状态码 | 描述          |
|:---|:---|
| 200 | OK          |
| 400 | Bad Request |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-idme/WorkFlow-Engine-ErrorCode.html)。
