深入理解LoonFlow工作流API接口指南
前言
LoonFlow作为一个优秀的工作流引擎,提供了丰富的API接口供开发者调用。本文将详细介绍LoonFlow中工作流相关的核心API接口,帮助开发者更好地理解和使用这些功能。
工作流列表获取接口
接口概述
获取系统中所有可用的工作流列表是创建工作流工单的第一步。通过这个接口,我们可以获取系统中所有已配置的工作流基本信息。
请求方式
- 请求方法:GET
- 请求路径:
api/v1.0/workflows
请求参数详解
| 参数名 | 类型 | 必填 | 说明 | |----------|---------|------|-----------------------------| | page | int | 否 | 页码,默认为1 | | per_page | int | 否 | 每页显示数量,默认为10 | | name | varchar | 否 | 支持根据工作流名称进行模糊查询 |
典型应用场景
- 用户需要创建工单时,首先获取所有可选的工作流类型
- 系统管理员需要查看当前系统中所有工作流的基本信息
- 与其他系统集成时,建立工作流ID的映射关系
返回数据结构解析
返回的JSON数据包含以下关键信息:
total
: 总工作流数量page
: 当前页码per_page
: 每页数量value
: 工作流列表数组,每个元素包含:name
: 工作流名称creator
: 创建者description
: 工作流描述gmt_created
: 创建时间
最佳实践建议
- 对于大型系统,建议使用分页查询,避免一次性获取过多数据
- 前端系统可以缓存工作流列表,减少API调用次数
- 与其他系统集成时,建议建立工作流ID的映射表
工作流初始状态获取接口
接口概述
获取工作流的初始状态信息是创建工单的关键步骤。这个接口返回创建工单时需要填写的表单内容以及可以执行的提交操作。
请求方式
- 请求方法:GET
- 请求路径:
api/v1.0/workflows/{workflow_id}/init_state
使用场景
- 用户选择特定工作流后,获取该工作流的初始状态信息
- 前端系统根据返回的表单字段动态生成创建界面
- 系统需要了解某个工作流的初始状态配置
返回数据结构深度解析
返回数据中的data
对象包含丰富的信息:
-
基本状态信息:
order_id
: 排序IDworkflow_id
: 所属工作流IDname
: 状态名称participant_type_id
: 参与者类型IDdistribute_type_id
: 分配类型IDparticipant
: 具体参与者
-
操作信息:
transition
: 可执行的操作列表,包含操作ID和名称
-
表单字段信息:
field_list
: 表单字段数组,每个字段包含:field_key
: 字段键名field_attribute
: 字段属性field_type_id
: 字段类型IDfield_name
: 字段显示名称field_choice
: 字段选项(适用于选择型字段)
字段类型说明
从示例中可以看到多种字段类型:
- 文本输入(
field_type_id:5
): 如"标题"、"请假天数" - 日期选择(
field_type_id:30
): 如"开始时间"、"结束时间" - 下拉选择(
field_type_id:40
): 如"请假类型" - 人员选择(
field_type_id:60
): 如"代理人" - 富文本(
field_type_id:55
): 如"请假原因及相关附件"
开发建议
- 根据
field_type_id
在前端渲染不同类型的表单控件 - 对于有
field_choice
的字段,应渲染为选择型控件 - 注意字段的
order_id
,可用于控制表单字段的显示顺序
工作流状态详情接口
接口概述
获取特定工作流状态的详细信息,包括状态的基本属性、参与人信息以及相关的表单字段配置。
请求方式
- 请求方法:GET
- 请求路径:
api/v1.0/workflows/states/{state_id}
数据解析
返回数据中的关键信息:
-
状态基本信息:
id
: 状态IDname
: 状态名称workflow_id
: 所属工作流IDparticipant_type_id
: 参与者类型IDparticipant
: 具体参与者
-
字段权限信息:
state_field
: 对象,键为字段名,值为字段权限标识
权限标识说明
从示例中可以看到字段权限标识为数字,常见的含义可能包括:
- 1: 只读
- 2: 可编辑
- 3: 必填
(注:具体含义应以实际系统文档为准)
工作流状态列表接口
接口概述
获取特定工作流的所有状态列表,包含每个状态的详细信息。
请求方式
- 请求方法:GET
- 请求路径:
api/v1.0/workflows/{workflow_id}/states
使用场景
- 工单查询时,按状态筛选
- 管理员干预工单时,选择目标状态
- 工作流配置查看
数据深度解析
返回的value
数组包含每个状态的详细信息:
-
状态基本信息:
id
: 状态IDname
: 状态名称is_hidden
: 是否隐藏order_id
: 排序ID
-
参与者信息:
participant_type_id
: 参与者类型IDparticipant
: 具体参与者participant_info
: 参与者详细信息,包含:participant_type_name
: 参与者类型名称participant_alias
: 参与者别名
-
字段权限:
state_field_str
: 字段权限配置对象
参与者类型说明
从示例中可以看到多种参与者类型:
- 个人(
participant_type_id:1
): 指定具体用户 - 变量(
participant_type_id:5
): 如"工单创建人"、"工单创建人的TL" - 空(
participant_type_id:0
): 如结束状态
总结
LoonFlow的工作流API提供了完整的工作流管理能力,从获取工作流列表、查看初始状态到查询状态详情,形成了一套完整的工作流操作体系。开发者可以根据这些接口:
- 构建动态的工作流创建界面
- 实现灵活的工作流查询功能
- 开发工作流管理工具
- 与其他系统深度集成
在实际开发中,建议:
- 合理使用分页参数,优化性能
- 根据字段类型和权限标识正确渲染表单
- 缓存常用数据,减少API调用
- 关注状态间的流转关系,构建完整的工作流体验
通过深入理解这些API接口,开发者可以充分发挥LoonFlow工作流引擎的强大能力,构建出高效、灵活的工作流应用系统。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考