深入理解LoonFlow工作流API接口指南

深入理解LoonFlow工作流API接口指南

前言

LoonFlow作为一个优秀的工作流引擎,提供了丰富的API接口供开发者调用。本文将详细介绍LoonFlow中工作流相关的核心API接口,帮助开发者更好地理解和使用这些功能。

工作流列表获取接口

接口概述

获取系统中所有可用的工作流列表是创建工作流工单的第一步。通过这个接口,我们可以获取系统中所有已配置的工作流基本信息。

请求方式

  • 请求方法:GET
  • 请求路径:api/v1.0/workflows

请求参数详解

| 参数名 | 类型 | 必填 | 说明 | |----------|---------|------|-----------------------------| | page | int | 否 | 页码,默认为1 | | per_page | int | 否 | 每页显示数量,默认为10 | | name | varchar | 否 | 支持根据工作流名称进行模糊查询 |

典型应用场景

  1. 用户需要创建工单时,首先获取所有可选的工作流类型
  2. 系统管理员需要查看当前系统中所有工作流的基本信息
  3. 与其他系统集成时,建立工作流ID的映射关系

返回数据结构解析

返回的JSON数据包含以下关键信息:

  • total: 总工作流数量
  • page: 当前页码
  • per_page: 每页数量
  • value: 工作流列表数组,每个元素包含:
    • name: 工作流名称
    • creator: 创建者
    • description: 工作流描述
    • gmt_created: 创建时间

最佳实践建议

  1. 对于大型系统,建议使用分页查询,避免一次性获取过多数据
  2. 前端系统可以缓存工作流列表,减少API调用次数
  3. 与其他系统集成时,建议建立工作流ID的映射表

工作流初始状态获取接口

接口概述

获取工作流的初始状态信息是创建工单的关键步骤。这个接口返回创建工单时需要填写的表单内容以及可以执行的提交操作。

请求方式

  • 请求方法:GET
  • 请求路径:api/v1.0/workflows/{workflow_id}/init_state

使用场景

  1. 用户选择特定工作流后,获取该工作流的初始状态信息
  2. 前端系统根据返回的表单字段动态生成创建界面
  3. 系统需要了解某个工作流的初始状态配置

返回数据结构深度解析

返回数据中的data对象包含丰富的信息:

  1. 基本状态信息

    • order_id: 排序ID
    • workflow_id: 所属工作流ID
    • name: 状态名称
    • participant_type_id: 参与者类型ID
    • distribute_type_id: 分配类型ID
    • participant: 具体参与者
  2. 操作信息

    • transition: 可执行的操作列表,包含操作ID和名称
  3. 表单字段信息

    • field_list: 表单字段数组,每个字段包含:
      • field_key: 字段键名
      • field_attribute: 字段属性
      • field_type_id: 字段类型ID
      • field_name: 字段显示名称
      • field_choice: 字段选项(适用于选择型字段)

字段类型说明

从示例中可以看到多种字段类型:

  1. 文本输入(field_type_id:5): 如"标题"、"请假天数"
  2. 日期选择(field_type_id:30): 如"开始时间"、"结束时间"
  3. 下拉选择(field_type_id:40): 如"请假类型"
  4. 人员选择(field_type_id:60): 如"代理人"
  5. 富文本(field_type_id:55): 如"请假原因及相关附件"

开发建议

  1. 根据field_type_id在前端渲染不同类型的表单控件
  2. 对于有field_choice的字段,应渲染为选择型控件
  3. 注意字段的order_id,可用于控制表单字段的显示顺序

工作流状态详情接口

接口概述

获取特定工作流状态的详细信息,包括状态的基本属性、参与人信息以及相关的表单字段配置。

请求方式

  • 请求方法:GET
  • 请求路径:api/v1.0/workflows/states/{state_id}

数据解析

返回数据中的关键信息:

  1. 状态基本信息

    • id: 状态ID
    • name: 状态名称
    • workflow_id: 所属工作流ID
    • participant_type_id: 参与者类型ID
    • participant: 具体参与者
  2. 字段权限信息

    • state_field: 对象,键为字段名,值为字段权限标识

权限标识说明

从示例中可以看到字段权限标识为数字,常见的含义可能包括:

  • 1: 只读
  • 2: 可编辑
  • 3: 必填

(注:具体含义应以实际系统文档为准)

工作流状态列表接口

接口概述

获取特定工作流的所有状态列表,包含每个状态的详细信息。

请求方式

  • 请求方法:GET
  • 请求路径:api/v1.0/workflows/{workflow_id}/states

使用场景

  1. 工单查询时,按状态筛选
  2. 管理员干预工单时,选择目标状态
  3. 工作流配置查看

数据深度解析

返回的value数组包含每个状态的详细信息:

  1. 状态基本信息

    • id: 状态ID
    • name: 状态名称
    • is_hidden: 是否隐藏
    • order_id: 排序ID
  2. 参与者信息

    • participant_type_id: 参与者类型ID
    • participant: 具体参与者
    • participant_info: 参与者详细信息,包含:
      • participant_type_name: 参与者类型名称
      • participant_alias: 参与者别名
  3. 字段权限

    • state_field_str: 字段权限配置对象

参与者类型说明

从示例中可以看到多种参与者类型:

  1. 个人(participant_type_id:1): 指定具体用户
  2. 变量(participant_type_id:5): 如"工单创建人"、"工单创建人的TL"
  3. 空(participant_type_id:0): 如结束状态

总结

LoonFlow的工作流API提供了完整的工作流管理能力,从获取工作流列表、查看初始状态到查询状态详情,形成了一套完整的工作流操作体系。开发者可以根据这些接口:

  1. 构建动态的工作流创建界面
  2. 实现灵活的工作流查询功能
  3. 开发工作流管理工具
  4. 与其他系统深度集成

在实际开发中,建议:

  1. 合理使用分页参数,优化性能
  2. 根据字段类型和权限标识正确渲染表单
  3. 缓存常用数据,减少API调用
  4. 关注状态间的流转关系,构建完整的工作流体验

通过深入理解这些API接口,开发者可以充分发挥LoonFlow工作流引擎的强大能力,构建出高效、灵活的工作流应用系统。

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

童霆腾Sorrowful

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值