流程 API
本协议约定低代码平台流程引擎需要提供的相关API接口的规范,包括请求接口参数,返回值等规则。
接口验证
调用接口需要在请求的Headers中添加用户身份验证信息,详情请参阅 接口验证。
API 清单
名称 | 请求操作 |
---|---|
发起审批 | POST |
暂存审批单 | POST |
提交草稿中申请单 | POST |
提交审批中申请单 | POST |
API 规范
以下是各个流程 API 的详细规范。
发起审批
新建一个草稿状态的审批单。
URI
/api/workflow/v2/draft
Method
POST
请求参数
请求该接口时需要传入以下参数。
名称 | 类型 | 描述 |
---|---|---|
instance | object | 审批单字段值 |
其中instance属性描述如下:
名称 | 类型 | 描述 |
---|---|---|
space | string | 工作区_id |
flow | string | 流程_id |
applicant | string | 申请人_id |
{
"instance": {
"space": "hKdnwE55WcnWveYxS",
"flow": "BayiYu3sk2hv3M2HW",
"applicant": "62ede4f62161e377e35de58c"
}
}
返回值
- 该API接口请求成功时返回值格式如下:
名称 | 类型 | 描述 |
---|---|---|
instance | object | 审批单字段值 |
其中instance属性描述如下:
名称 | 类型 | 描述 |
---|---|---|
_id | string | 创建成功的申请单_id |
space | string | 工作区_id |
flow | string | 流程_id |
flow_version | string | 流程版本_id |
form | string | 表单版本_id |
form_version | string | 表单版本_id |
{
"instance": {
"_id": "zMiGNe2sJm9KuruvM",
"space": "hKdnwE55WcnWveYxS",
"flow": "BayiYu3sk2hv3M2HW",
"flow_version": "Nvc5wjsgHYkXnNHhk",
"form": "Pdq8neQvT7fv5aTyd",
"form_version": "thX4kKBAx6iCgciWD"
}
}
instance中返回的是创建成功的审批单记录信息。
暂存草稿审批单
URI
/api/workflow/v2/instance/save
Method
POST
请求参数
请求该接口时需要传入以下参数。
名称 | 类型 | 描述 |
---|---|---|
instance | object | 审批单字段值 |
其中instance属性描述如下:
名称 | 类型 | 描述 |
---|---|---|
_id | string | 申请单_id |
space | string | 工作区_id |
flow | string | 流程_id |
flow_version | string | 流程版本_id |
form | string | 表单版本_id |
form_version | string | 表单版本_id |
applicant | string | 申请人_id |
applicant_name | string | 申请人姓名 |
applicant_organization | string | 申请人所属组织_id |
applicant_organization_name | string | 申请人所属组织名称 |
applicant_organization_fullname | string | 申请人所属组织全称 |
code | string | 申请单Code |
traces | [object] | 签核历程 |
submit_date | datetime | 提交时间 |
其中traces属性描述如下:
名称 | 类型 | 描述 |
---|---|---|
_id | string | 签核历程_id |
approves | [object] | 审批历程 |
其中approves属性描述如下:
名称 | 类型 | 描述 |
---|---|---|
_id | string | 审批历程_id |
description | string | 审批内容 |
values | object | 申请单字段值 |
next_steps | [object] | 下一步骤信息 |
其中next_steps属性描述如下:
名称 | 类型 | 描述 |
---|---|---|
step | string | 下一步骤_id |
users | [string] | 下一步骤处理人 |
{
"instance": {
"_id": "zMiGNe2sJm9KuruvM",
"space": "hKdnwE55WcnWveYxS",
"flow": "BayiYu3sk2hv3M2HW",
"flow_version": "Nvc5wjsgHYkXnNHhk",
"form": "Pdq8neQvT7fv5aTyd",
"form_version": "thX4kKBAx6iCgciWD",
"applicant": "62ede4f62161e377e35de58c",
"applicant_name": "xxx",
"applicant_organization": "XypyNbzGCJbHMNyWv",
"applicant_organization_name": "xxx",
"applicant_organization_fullname": "xxx",
"code": "",
"traces": [
{
"_id": "7f316cb404fddf2098c8fd2d",
"approves": [
{
"_id": "97628d0b9a33b541816caeeb",
"description": "",
"values": {
"field1": "xx",
"field2": "xx",
"field3": "xx"
},
"next_steps": [
{
"step": "e28faf97-a1c4-4bdd-90e5-1b43d42aa10b",
"users": []
}
]
}
]
}
],
"submit_date": xxx
}
}
返回值
- 该API接口请求成功时返回值格式如下:
名称 | 类型 | 描述 |
---|---|---|
instance | boolean | 是否成功 |
{
"instance": true
}
提交草稿中申请单
把草稿状态的申请单提交到下一步骤。
URI
/api/workflow/submit
Method
POST
请求参数
请求该接口时需要传入以下参数。
名称 | 类型 | 描述 |
---|---|---|
Instances | object[] | 申请单内容 |
以下表格描述了Instances中的对象键值信息:
名称 | 类型 | 描述 |
---|---|---|
_id | string | 审批单_id |
flow | string | 当前流程_id |
name | string | 审批单名称 |
applicant | string | 申请人_id |
submitter | string | 提交人_id |
inbox_users | string[] | 待审核人_id集合 |
traces | object[] | 签核历程 |
以下表格描述了 traces 中的对象键值信息:
名称 | 类型 | 描述 |
---|---|---|
_id | string | 签核历程_id |
step | string | 签核历程步骤_id |
approves | object[] | 审批历程 |
以下表格描述了 approves 中的对象键值信息:
名称 | 类型 | 描述 |
---|---|---|
_id | string | 审批历程_id |
description | string[] | 审批 意见 |
values | object | 申请单字段值 |
next_steps | string[] | 下一步骤信息 |
attachments | string[] | 附件 |
以下表格描述了 next_steps 中的对象键值信息:
名称 | 类型 | 描述 |
---|---|---|
step | string | 下一步骤_id |
users | [string] | 下一步骤处理人 |
{
"Instances": [{
"_id": "e6viWhvARgo4xSxBC",
"inbox_users": [],
"name": "Test",
"submitter": "62ede4f62161e377e35de58c",
"flow": "BayiYu3sk2hv3M2HW",
"applicant": "62ede4f62161e377e35de58c",
"traces": [{
"_id": "0aed02a8113d7e1a22d5a245",
"step": "Ryu58zkQKrFLdvWpw",
"approves": [{
"_id": "5865e212c0e80024005090f9",
"description": "",
"values": {
"field1": "xxx",
"field2": "xxx",
"field3": "xxx"
},
"next_steps": [{
"step": "e28faf97-a1c4-4bdd-90e5-1b43d42aa10b",
"users": [
"62ede4f62161e377e35de58c"
]
}]
}]
}]
}]
}
traces 是每个步骤的签核历程,approves 则是每个签核历程中的审批历程,里面记录了详细的审批表单信息。
返回值
- 该API接口请求成功时返回值格式如下:
{
"result": [...]
}
result中返回的是一个对象数组,该数组中包含的键值信息如下所示:
名称 | 类型 | 描述 |
---|---|---|
alerts | string | 提示信息 |
alerts中主要是提示流程版本是否已升级。
- 该API接口请求失败时返回值格式如下:
{
errors: [{ errorMessage: "..." }]
}
提交审批中申请单
把审批中的申请单提交到下一步骤。
URI
/api/workflow/engine
Method
POST