流程引擎-v1-接口描述文档

flowable-全接口形式

调试接口工具: postman

基本rest

声明

统一声明

tenantId (string, optional) 租户id

响应数据类型为: json

"content-type": "application/json;charset=UTF-8"

响应码:

401	没有权限访问接口
403 forbidden(拒绝访问),一般发生在没有传入非get请求的实体参数对象
500 代码异常

# 查询
200 请求成功
404 查询的数据不存在(访问的资源不存在)

# 新增
201 创建成功
400 错误的请求,没有传入必须的参数
409 必须传入的参数和数据库中某条记录的值重复

# 修改

# 删除



查询:

参数说明

参数方式:

query: 查询类型,该数据在url或者请求体中
path:	路径类型,该数据在url中且不在?之后

请求url:

url中以{}包裹则说明为字符串占位,例如 /identity/users/{userId} 替换为 /identity/users/tristan_id

参数类型:

string: 字符串,以"" 或者 ''包裹的数据
Array: 数组,以[]包裹的数据
file	文件,用户通过前端上传文件
formData	表单数据
boolean		布尔值,取true或者false
integer		整数

参数是否必传:

optional: 可选值,可传可不传

查询声明

请求方式

get

一些具有公共特征的动态查询参数

——值取自模型参数名

sort			排序	
xxxLike			模糊查询,内容需要手动拼接,例如: %xxx%
xxxLikeIgnoreCase 模糊查询并忽略大小写,内容需要手动拼接,例如: %xxx%
xxxNotEquals	不相等
withoutXxx		是否有

查询列表得到的响应数据的解析格式
成功
{
  "data": [
    {
      "属性key":"属性value"
    }
  ],
  "total": 1,
  "start": 0,
  "sort": "id",
  "order": "asc",
  "size": 1
}

data: 数据列表

total: 数据数量

sort:排序字段

order: 排序顺序

失败
{
    "message": "",
    "exception": ""
}
基于id的精确查询

成功响应:

200

失败响应:

404

{
  "message": "提示信息",
  "exception": "异常信息"
}

用户

实体模型:

id (string, optional),用户id
firstName (string, optional),用户姓氏
lastName (string, optional),用户名称
displayName (string, optional),显示名称
url (string, optional),访问该用户信息的地址
email (string, optional),邮件地址
tenantId (string, optional),租户id
pictureUrl (string, optional),图片地址
password (string, optional)密码

查询

GET /identity/users 200成功

请求

参数 描述 参数类型 数据类型
id 用户id query string
firstName 姓氏 query string
lastName 名称 query string
displayName 显示名称 query string
email 邮件地址 query string
firstNameLike 姓氏模糊查询 query string
lastNameLike 名称模糊查询 query string
displayNameLike 显示名称模糊查询 query string
emailLike 邮件模糊查询 query string
memberOfGroup 组织id query string
tenantId 租户id query string
potentialStarter query string
sort id firstName lastname email displayName 排序字段 query string

响应

id (string, optional),
firstName (string, optional),
lastName (string, optional),
displayName (string, optional),
url (string, optional),
email (string, optional),
tenantId (string, optional),
pictureUrl (string, optional),
password (string, optional)

基于id的精确查询

GET /identity/users/{userId}

请求:

{userId}: 用户id

响应:

用户实体

创建

POST /identity/users

201成功 数据已经被创建

400失败 用户id缺失

请求

id (string, optional),
firstName (string, optional),
lastName (string, optional),
displayName (string, optional),
url (string, optional),
email (string, optional),
tenantId (string, optional),
pictureUrl (string, optional),
password (string, optional)

响应

id (string,optional),
firstName (string, optional),
lastName (string, optional),
displayName (string, optional),
url (string, optional),
email (string, optional),
tenantId (string, optional),
pictureUrl (string, optional),
password (string, optional)

修改

PUT /identity/users/{userId}

{userId}: 用户id

响应码:

200 成功

404 资源不存在,更新失败

409 并发更新失败,需要稍后重试,发生的几率小

请求:

{userId}: 用户id

用户实体

响应:

用户实体

删除

DELETE /identity/users/{userId}

响应码:

204 删除成功,删除后的资源为空

404 删除失败,资源不存在

请求:

{userId}: 用户id

流程图

访问 http://localhost:5000/flowable-idm admin/test 进行登录

访问 http://localhost:5000/flowable-modeler 管理流程图

查询所有

查询具体

查看指定流程的版本

查看流程描述文件,下载xml

查看流程图形化文件,下载png

新增(拖拽设计)

新增版本

复制模型

导入

修改是否作为最新版本使用(默认最近)

修改信息

修改流程

删除

部署对象

模型

id (string, optional),
name (string, optional),
deploymentTime (string, optional),
category (string, optional),
parentDeploymentId (string, optional),
url (string, optional),
tenantId (string, optional)

查询所有部署对象

GET /repository/deployments

响应码:

​ 200 成功

请求:

​ 模型体

响应:

​ 模型体

查询具体部署对象

GET /repository/deployments/{deploymentId}

响应码:

​ 200成功

​ 404没找到

请求

{deploymentId} 	部署id

响应

​ 模型体

​ 异常体

查询对应指定部署对象的流程定义(最新)——链接

GET /repository/process-definitions

响应码:

​ 200成功,查询

​ 400失败,入参类型不对

Parameter Value Description Parameter Type Data Type
deploymentId 部署对象id query string

流程图创建后直接上传——xxx——不存在的接口

如果保存就上传,那么会产生过多的部署对象,导致版本层级过多,严重影响多人操作时,因为部署对象只有最高版本才能用

用户上传部署对象

POST /repository/deployments

响应码:

​ 201成功,已创建

​ 500服务器异常

请求:

Parameter Value Description Parameter Type Data Type
deploymentKey query string
deploymentName query string
tenantId query string
file 文件 formData file

删除部署对象

DELETE /repository/deployments/{deploymentId}

请求:

{deploymentId}	部署id
参数名称 描述 参数类型 数据类型
cascade true false 是否级联删除模型定义 query boolean

响应码:

​ 204成功,删完之后该内容已经不存在了

​ 404失败,没找到这个需要删除的资源

流程定义

补充一点:

​ 模型必须要上传之后才有模型定义

​ 多个版本的模型只有最近一次上传的模型才能使用

模型

id (string, optional),			流程定义id
url (string, optional),			通过rest接口查看该流程定义具体信息的url
key (string, optional),			方便业务使用的key
version (integer, optional),	版本号
name (string, optional),		流程定义名称
description (string, optional),	流程定义的描述
tenantId (string, optional),	租户id
deploymentId (string, optional),	部署id
deploymentUrl (string, optional),	查看该部署的信息的rest url
resource (string, optional): 		查看该资源文件(bpmn描述文件)定义的url
diagramResource (string, optional): 查看该展示图(png文件)图片的url
category (string, optional),		分类
graphicalNotationDefined (boolean, optional): 是否有图形符号定义
suspended (boolean, optional),	是否挂起状态(非运行/激活 状态)
startFormDefined (boolean, optional) 是否有开始表单的部署对象

查询所有流程定义

GET /repository/process-definitions

响应码:

​ 200查询成功

​ 400入参格式错误

请求:

Parameter Value Description Parameter Type Data Type
version 版本号,默认为1 query integer
name 名称 query string
nameLike 模糊匹配的名称 query string
key 业务key query string
keyLike 模糊匹配的业务key query string
resourceName 资源文件名称 query string
resourceNameLike 模糊匹配的资源文件名称 query string
category 类别名称 query string
categoryLike 模糊匹配的类别名称 query string
categoryNotEquals 类别名称不为入参时 query string
deploymentId 部署对象id query string
startableByUser Only selects process definitions which given userId is authorized to start(仅选择授权userId启动的流程定义)??? query string
latest true false 是否是最后一个版本 query boolean
suspended true false 是否挂起(是否处于非激活状态) query boolean
sort name id key category deploymentId version 排序字段 query string

响应:

​ 模型体列表

查看最新版本的流程定义对象列表

GET /repository/process-definitions

响应码:

​ 200查询成功

​ 400入参格式错误

请求:

Parameter Value Description Parameter Type Data Type
latest true false 是否是最后一个版本 query boolean

查询具体流程定义对象

GET /repository/process-definitions/{processDefinitionId}

响应码:

​ 200成功,查询

​ 404失败,资源不存在

请求:

{processDefinitionId}	流程定义id

响应:

​ 模型体

查看该流程定义的部署对象——链接

GET /repository/process-definitions

响应码:

​ 200查询成功

​ 400入参格式错误

请求:

Parameter Value Description Parameter Type Data Type
deploymentId 部署对象id query string

响应:

​ 模型体

查看流程定义图片——类似

方式一: (不推荐)

取流程定义对象中diagramResource属性值,该值为可访问url

请求: 直接作为图片控件的src值

响应: 图片二进制

方式二: (推荐)

访问地址,例如:

http://localhost:8086/flowable-rest/service/repository/deployments/c8237785-3bce-11e9-8870-7845c42f05a4/resources/test_model1.test_model1.png

GET /repository/deployments/{processDefinitionId}/resources/{processDefinitionKey}.{processDefinitionName}.png

processDefinitionId		流程定义id
processDefinitionKey	流程定义key
processDefinitionName	流程定义name

请求: 直接作为图片控件的src值

修改指定流程定义的信息

PUT /repository/process-definitions/{processDefinitionId}

响应码:

​ 400失败,入参类型错误或者缺少参数

​ 404失败,该修改的对象不存在

​ 409失败,已经挂起或者激活

请求:

{processDefinitionId}	流程定义id

action (string): 修改的动作,activate 或者 suspend
includeProcessInstances (boolean, optional): 是否包括流程定义
date (string, optional): 推迟生效的时间,默认为立刻生效
category (string, optional) 分类

响应:

​ 模型体

查看流程实例——链接

GET /runtime/process-instances

响应码:

​ 200成功

​ 400入参类型错误

Parameter Value Description Parameter Type Data Type
processDefinitionId 流程定义id query string

流程实例

id (string, optional),							流程实例id
url (string, optional),							查看该流程实例详细信息的url
name (string, optional),						流程实例名称
businessKey (string, optional),					业务key
suspended (boolean, optional),					是否挂起状态
ended (boolean, optional),						是否结束状态
processDefinitionId (string, optional),			流程定义id,关联id
processDefinitionUrl (string, optional),		查看该流程具体信息的url
processDefinitionName (string, optional),		流程定义名称
processDefinitionDescription (string, optional),流程定义描述
activityId (string, optional),					活动id
startUserId (string, optional),					启动本流程实例的用户的id
startTime (string, optional),					启动时间
variables (Array[RestVariable], optional),		参数列表
callbackId (string, optional),					回调id
callbackType (string, optional),				回调类型
tenantId (string, optional),					租户id
completed (boolean, optional)					是否已经完成

RestVariable {
    name (string, optional): 名称,
    type (string, optional): 类型 ,
    value (object, optional): 值 ,
    valueUrl (string, optional) 查看该值的url,
    scope (string, optional) 作用范围,local/global 局部或者全局
}

启动流程实例

POST /runtime/process-instances

不建议使用tenantId租户id

不建议使用message

响应码:

​ 201成功,已创建,已部署

​ 400失败:

​ 入参未传

​ 入参类型不对

​ scope的值只能为local/global

​ processDefinitionId和processDefinitionKey和message同时只能有一个被设值

​ tenantId必须用于设置了processDefinitionKey 或者 message的时候

​ 数据库中不存在该processDefinitionId的值

​ 数据库中不存在该processDefinitionKey的值

​ 数据库中不存在该message的值

​ 当传入processDefinitionKey时tenantId的值在数据库中没有找到

​ 500失败:

​ 该流程定义被挂起

请求:

processDefinitionId (string, optional),				流程定义id,用来表示启动哪个流程
processDefinitionKey (string, optional),			流程定义key
message (string, optional),							备注消息
name (string, optional),							流程实例名称
businessKey (string, optional),						业务key
variables (Array[RestVariable], optional),			启动参数列表
transientVariables (Array[RestVariable], optional),	瞬间参数
startFormVariables (Array[RestVariable], optional),	启动表单的参数
outcome (string, optional),			accepted/rejected 设置表单 完结/认领 后结果,要么为接受/拒绝
tenantId (string, optional),		租户id
overrideDefinitionTenantId (string, optional),		覆盖的流程定义租户id
returnVariables (boolean, optional)					是否返回设置的参数

RestVariable {
    name (string, optional): 名称,
    type (string, optional): 类型 ,
    value (object, optional): 值 ,
    valueUrl (string, optional) 查看该值的url,
    scope (string, optional) 作用范围,local/global 局部或者全局
}

查询流程实例列表

GET /runtime/process-instances

响应码:

​ 200成功

​ 400入参类型错误

Parameter Value Description Parameter Type Data Type
id 流程实例id query string
name 流程实例名称 query string
nameLike 模糊匹配流程实例名称 query string
nameLikeIgnoreCase 模糊匹配流程名称并忽略大小写 query string
processDefinitionKey 流程定义key query string
processDefinitionId 流程定义id query string
processDefinitionCategory 流程定义类别 query string
processDefinitionVersion 流程定义版本号 query integer
processDefinitionEngineVersion 流程定义引擎版本 query string
businessKey 业务key query string
startedBy 启动的用户的id query string
startedBefore 开始时间 query date-time
startedAfter 结束时间 query date-time
involvedUser 当前执行者的用户的id query string
suspended true false 是否挂起状态 query boolean
superProcessInstanceId 父流程实例id query string
subProcessInstanceId 子流程实例id query string
excludeSubprocesses true false 是否查具有子流程的实例 query boolean
includeProcessVariables true false 是否结果对象有参数 query boolean
callbackId 回调id query string
callbackType 回调类型 query string
tenantId 租户id query string
tenantIdLike 模糊匹配的租户id query string
withoutTenantId true false 是否不包含租户id query boolean
sort id processDefinitionId tenantId processDefinitionKey 排序 query string

查询指定流程定义名称的流程列表

GET /runtime/process-instances

请求:

Parameter Value Description Parameter Type Data Type
processDefinitionId 流程定义id query string

响应:

​ 模型体

查询流程实例具体信息

GET /runtime/process-instances/{processInstanceId}

响应码:

​ 200成功

​ 404查询资源不存在

请求:

{processInstanceId}		请求实例id

响应:

​ 模型体

查看指定流程实例的流程定义——链接

GET /repository/process-definitions/{processDefinitionId}

响应码:

​ 200成功,查询

​ 404失败,资源不存在

请求:

{processDefinitionId}	流程定义id

响应:

​ 模型体

查看任务列表——链接

查看流程实例的变量

GET /runtime/process-instances/{processInstanceId}

响应码:

​ 200成功

​ 404查询资源不存在

请求:

{processInstanceId}		请求实例id

响应:

​ 模型体.variables

查看流程实例运行情况——管理员操作

方式一

GET /runtime/process-instances/{processInstanceId}/diagram

{processInstanceId}		流程实例id

方式二

GET http://localhost:9988/flowable-admin/#/process-instance/{processInstanceId}

{processInstanceId}		流程实例id

点击 显示流程图片

改变指定流程实例当前活动的节点

POST /runtime/process-instances/{processInstanceId}/change-state

{processInstanceId}	流程实例Id

响应码:

​ 200成功,跳转成功

​ 400请求参数缺失

​ 404操作的流程不存在

​ 409操作已经完成

​ 500请求方法不存在

请求:

cancelActivityIds (Array[string], optional): 当前活动点的id,流程图中节点的id
startActivityIds (Array[string], optional):  目标活动点的id,流程图中节点的id

响应:

删除指定流程实例

DELETE /runtime/process-instances/{processInstanceId}

{processInstanceId}		流程实例id

响应码:

​ 204成功,资源已经不存在

​ 404失败,不存在资源

请求:

Parameter Value Description Parameter Type Data Type
deleteReason 删除原因 query string

流程任务

模型:

id (string, optional),			流程任务id
url (string, optional),			查看该流程任务信息的url
owner (string, optional),		任务的拥有者的用户id
assignee (string, optional),	任务的处理人的用户id
delegationState (string, optional): 委派状态,pending/resolved 填充/放弃
name (string, optional),		任务名称
description (string, optional),	任务描述
createTime (string, optional),	创建时间
dueDate (string, optional),,	完成时间	
priority (integer, optional),	优先级
suspended (boolean, optional),	是否挂起
claimTime (string, optional),	认领时间
taskDefinitionKey (string, optional),	任务定义key
scopeDefinitionId (string, optional),	返回定义id
scopeId (string, optional),		范围id
scopeType (string, optional),	范围类型
tenantId (string, optional),	租户id
category (string, optional),	类别
formKey (string, optional),		引用表单的id
parentTaskId (string, optional),	父节点任务id
parentTaskUrl (string, optional),	查看父节点任务信息的url
executionId (string, optional),		第一个执行的实例的id
executionUrl (string, optional),	查看第一个执行的实例的信息的url
processInstanceId (string, optional),流程实例id	
processInstanceUrl (string, optional),查看流程实例信息的url
processDefinitionId (string, optional),流程定义id
processDefinitionUrl (string, optional),查看流程定义信息的url
variables (Array[RestVariable], optional)	参数列表

查询流程任务列表

GET /runtime/tasks

响应码:

​ 200成功

​ 404资源不存在

请求:

Parameter Value Parameter Type Data Type
name query string
nameLike query string
description query string
priority query string
minimumPriority query string
maximumPriority query string
assignee query string
assigneeLike query string
owner query string
ownerLike query string
unassigned query string
delegationState query string
candidateUser query string
candidateGroup query string
candidateGroups query string
involvedUser query string
taskDefinitionKey query string
taskDefinitionKeyLike query string
processInstanceId query string
processInstanceIdWithChildren query string
processInstanceBusinessKey query string
processInstanceBusinessKeyLike query string
processDefinitionId query string
processDefinitionKey query string
processDefinitionKeyLike query string
processDefinitionName query string
processDefinitionNameLike query string
executionId query string
createdOn query date-time
createdBefore query date-time
createdAfter query date-time
dueOn query date-time
dueBefore query date-time
dueAfter query date-time
withoutDueDate true false query boolean
excludeSubTasks true false query boolean
active true false query boolean
includeTaskLocalVariables true false query boolean
includeProcessVariables true false query boolean
scopeDefinitionId query string
scopeId query string
scopeType query string
tenantId query string
tenantIdLike query string
withoutTenantId true false query boolean
candidateOrAssigned query string
category que

响应:

​ 模型体

查询我的流程任务列表

GET /runtime/tasks

响应码:

​ 200成功

​ 404资源不存在

请求:

Parameter Value Description Parameter Type Data Type
assignee query string

响应:

​ 模型体

查询流程任务详细

GET /runtime/tasks/{taskId}

请求:

{taskId}		任务Id

响应码:

​ 200成功

​ 404资源不存在

响应:

模型体

查看所在流程实例——链接

GET /runtime/process-instances/{processInstanceId}

响应码:

​ 200成功

​ 404查询资源不存在

请求:

{processInstanceId}		请求实例id

响应:

​ 模型体

查看所在流程定义——链接

GET /repository/process-definitions/{processDefinitionId}

响应码:

​ 200成功,查询

​ 404失败,资源不存在

请求:

{processDefinitionId}	流程定义id

响应:

​ 模型体

查看所在流程任务的变量——链接

GET /runtime/tasks/{taskId}

请求:

{taskId}		任务Id

响应码:

​ 200成功

​ 404资源不存在

响应:

​ 模型体.variables

查看流程任务的子任务——链接

GET /runtime/tasks

请求:

parentTaskId 父任务id

响应码:

​ 200成功

响应:

​ 模型体

修改流程任务信息

PUT /runtime/tasks/{taskId}

响应码:

​ 200成功

​ 404资源不存在

​ 409已经修改

请求:

owner (string, optional),
assignee (string, optional),
delegationState (string, optional),
name (string, optional),
description (string, optional),
dueDate (string, optional),
priority (integer, optional),
parentTaskId (string, optional),
category (string, optional),
tenantId (string, optional),
formKey (string, optional),
ownerSet (boolean, optional),
assigneeSet (boolean, optional),
delegationStateSet (boolean, optional),
nameSet (boolean, optional),
descriptionSet (boolean, optional),
duedateSet (boolean, optional),
prioritySet (boolean, optional),
parentTaskIdSet (boolean, optional),
categorySet (boolean, optional),
tenantIdSet (boolean, optional),
formKeySet (boolean, optional)

认领流程任务(签收)

POST /runtime/tasks/{taskId}

请求数据模型

action (string): complete, claim, delegate or resolve  完结/认领/委派/返回
assignee (string, optional):认领人id/被委派者id
formDefinitionId (string, optional): 引用表单的id
outcome (string, optional): accepted/rejected 设置表单 完结/认领 后结果,要么为接受/拒绝
variables (Array[RestVariable], optional): 设置该节点的变量列表
transientVariables (Array[RestVariable], optional): 当前操作的变量列表

响应数据模型

name (string, optional): 变量名称
type (string, optional): 变量类型
value (object, optional): 变量值
valueUrl (string, optional):变量的地址
scope (string, optional): 范围

完成流程任务

{
	"action":"complete"
	,"variables":[{}]
	,"transientVariables":[{}]
}

认领任务

{
	"action":"claim"
	,"assignee":"认领人用户id"
	,"variables":[{}]
	,"transientVariables":[{}]
}

委派任务

{
	"action":"delegate"
	,"assignee":"被委派人用户id"
	,"variables":[{}]
	,"transientVariables":[{}]
}
抛弃该任务并且返回给任务的拥有者
{
	"action":"resolve"
	,"variables":[{}]
	,"transientVariables":[{}]
}

删除流程任务

DELETE /runtime/tasks/{taskId}

{taskId}	流程任务id

响应码:

​ 204成功,已经删除

​ 403禁止访问

​ 404除的资源不存在

猜你喜欢

转载自blog.csdn.net/qq_35559756/article/details/89446933