在工业数据发布、变更等流程运行过程中,用户可通过调用流程服务API,将部件、BOM(Bill Of Material,物料清单)、工艺路线等核心主数据高效、安全地传递给第三方系统(如ERP、MES、PLM等),实现上下游系统间的数据同步与业务协同。
通过流程服务编排功能,用户可自定义生成标准化的流程服务API。在后续的流程元模板“流程编辑”中调用该API,即可实现流程引擎与外部系统的深度对接,广泛应用于工业数据同步、跨系统集成、生产消息通知等典型场景。
前提条件
- 已登录流程引擎。
- 如果“服务来源”为“外部系统”,需提前在流程运行服务的中配置目标域名,确保网络可达。具体操作请参见通过流程运行服务管理域名。
步骤1:配置基本信息
- 在左侧导航栏中,选择,进入“流程服务编排”页面。
- 单击“创建”,展开“创建服务”页面。
- 选择“手动创建”页签,并在“基本信息”中,参照如下信息进行配置。
表1 手动创建-基本信息参数说明 | 参数 | 参数说明 |
| 服务名称 | 用户自定义。建议采用“业务模块_功能_版本”等命名规范(如:MES_BOM同步_V1),以明确该流程服务编排的用途。 |
| tag | 用户自定义。可根据业务用途、系统分组、所属流程等维度打标签,便于后续对海量接口进行敏捷分类与检索管理。 |
| 服务来源 | 定义接口的来源类型,支持以下三种: |
| 服务描述 | 用户自定义。用于简明扼要地说明该服务的作用与使用场景,便于团队内其他成员理解与复用。 长度不能超过64个字符。 |
- 完成配置后,单击“下一步”。
步骤2:配置流程服务编排
在“配置信息”页面,系统支持“HTTP”和“APIEDIT”两种服务类型。请根据实际对接需求,选择对应的配置方式。
- HTTP:适用于基于标准HTTP协议封装的常规接口对接。
- APIEDIT:适用于需通过自定义脚本处理复杂逻辑,或需编排多个内部接口的场景。
配置HTTP服务类型
- 在“服务类型”下拉框中选择“HTTP”。
图1 HTTP服务类型
- 配置“服务地址”。
填写调用外部服务的完整URL(含协议头),格式示例:
https://api.example.com/service/v1
- 格式要求:必须包含协议头。
- 字符长度:不能超过200个字符。
- 选择“方法类型”。
根据业务场景选择合适的HTTP请求方法:
表2 方法类型 | 方法 | 适用场景 |
| GET | 用于获取资源信息,如获取ERP库存状态、查询MES工单信息、获取设备实时状态。 |
| POST | 用于提交或创建数据,如向MES下发工艺参数、创建ERP物料主数据、上传质检报告。 |
| PUT | 用于更新已存在的资源,如更新WMS物料状态、修改ERP工艺路线信息。 |
- HTTP请求参数配置。
根据接口规范,在对应页签下配置参数。如需使用动态变量,请统一使用${变量名}格式(如${workOrderNo})。
- Header参数(请求头):用于传递元数据,如认证令牌(Authorization)、内容类型(Content-Type)等。
表3 Header参数(请求头) | 配置项 | 配置说明 |
| 参数名称 | Header参数的名称,如Set-Cookie。 |
| 参数值 | Header参数的值,如123456。支持使用变量,如${Cookie}。 |
| 加密 | 如需对参数值加密可开启此选项。开启后,参数值在界面上将掩码显示为“******”。 |
- Query参数(查询参数):附在URL后面的键值对,用于数据筛选、分页等操作。以?key=value的形式呈现,多个参数之间用&进行分隔(如?page=1&size=20)。
表4 Query参数(查询参数) | 配置项 | 配置说明 |
| 参数名称 | Query参数的名称,如page。 |
| 参数值 | Query参数的值,例如1。支持使用变量,如${page}。 |
| 加密 | 如需对参数值加密可开启此选项。开启后,参数值在界面上将掩码显示为“******”。 |
- Body参数(请求体):用于传递大量或复杂结构化数据。注意:GET方法不支持配置Body参数。
表5 Body参数(请求体) | 配置项 | 配置说明 |
| 参数类型 | - JSON:轻量级数据交换格式,适用于结构化数据交换,如BOM层级结构、工艺参数对象。
- FORM_DATA:表单数据编码机制,适用于文件上传场景,如上传CAD图纸、质检报告PDF。
|
| Rest模板 | 当“参数类型”选择“JSON”时显示。 根据实际业务需求,预先定义JSON结构,用于规范客户端发送给服务端的数据格式。支持使用${变量名}作为入参值。 模板示例: {
"username": "${stringUsername}",
"phone": "${stringPhone}",
"age": ${numberAge}
} |
| Form参数 | 当“参数类型”选择“FORM_DATA”时显示。 通过预设参数的方式提前定义好表单数据,以便在请求时直接使用。 - 参数名称:通常为表单元素的name属性值,如username。
- 参数值:通常为用户输入的数据或当前值,如${username}或John。
- 加密:如需对参数值加密可开启此选项。开启后,参数值在界面上将掩码显示为“******”。
|
- 配置“返参模板”。
定义下游系统返回数据的标准化解析格式,采用JSONPath语法。示例:
{
"userId": "$.user.id",
"userName": "$.user.name",
"lastLoginTime": "$.logs[0].timestamp"
} - (可选)配置“请求参数(Query/Header/Body)”。
此处的请求参数用于在调用流程服务编排时,向“流程元模板”传递入参(区别于4HTTP请求本身的参数)。默认不勾选。
勾选后,可预定义请求参数,以便后续在编排流程元模板的“UI编辑”页面中,为绑定的事件配置相应入参。
表6 请求参数(Query/Header/Body) | 配置项 | 配置说明 |
| 参数名 | 请求参数的名称,用户自定义。 |
| 类型 | 指定请求参数的数据类型。 支持:BOOLEAN(布尔型)、BYTE(字节型)、SHORT(短整型)、INTEGER(整型)、LONG(长整型)、STRING(字符串型)、FLOAT(浮点型)、DOUBLE(双精度浮点型)、OBJECT(对象型)、BIG_DECIMAL(大数值型)、DATE(日期型)和FILE(文件型)。 |
| 是否为数组 | 设置参数是否为数组形式。 - 是:数组类型,适用于处理复选框提交的数据或需要绑定多个同名参数的情况(如表单中多个选项被选中)。
- 否:非数组类型,默认为“否”。
|
| 位置 | 设置请求参数的传递方式,可选:QUERY(查询字符串)、HEADER(头部信息)和BODY(请求体)。 |
| 是否必填 | |
| 是否为模板 | |
| 默认值 | 参数的默认值,用户自定义。 |
| 描述 | 参数的用途说明,用户自定义。 |
- (可选)设置“响应参数”。
此处配置的是完成流程服务编排调用后,返回给“流程元模板”的数据。默认不勾选。
勾选后,可预定义响应参数,以便后续在编排流程元模板的“UI编辑”页面中,为绑定的事件配置相应出参。
表7 响应参数 | 配置项 | 配置说明 |
| 参数名 | 响应参数的名称,用户自定义。 |
| 类型 | 指定响应参数的数据类型。 支持:BOOLEAN(布尔型)、BYTE(字节型)、SHORT(短整型)、INTEGER(整型)、LONG(长整型)、STRING(字符串型)、FLOAT(浮点型)、DOUBLE(双精度浮点型)、OBJECT(对象型)、BIG_DECIMAL(大数值型)、DATE(日期型)和FILE(文件型)。 |
| 是否为数组 | 设置返回的数据是否为数组形式。 - 是:数组类型,常用于返回列表数据(如用户列表、订单集合等)。
- 否:非数组类型,默认为“否”。
|
| 描述 | 参数的用途说明,用户自定义。 |
配置APIEDIT服务类型
- 在“服务类型”下拉框中选择“APIEDIT”。
图2 APIEDIT服务类型
- 配置“执行流程”。
- 单击“编辑流程”,进入可视化配置页面。
- 根据业务逻辑,从左侧工具面板将所需组件拖拽至中央“在线编辑区”,逐个配置组件属性。具体操作请参见可视化配置流程服务编排的执行流程。
- 完成编排后,单击“保存”。
- 配置“入参模板”。
根据实际业务需求,输入JSON格式的入参模板,用于定义流程服务编排调用时接收的数据结构。
- 配置“返参模板”。
用于预定义流程服务编排调用后返回的标准化响应格式,明确返回数据的格式、结构及内容规则。支持配置JSON格式的返回参数,请根据实际业务需求进行设置。
示例:
{
"userId": "$.user.id",
"userName": "$.user.name",
"lastLoginTime": "$.logs[0].timestamp"
} - (可选)配置“请求参数(Query/Header/Body)”。
此处配置的是调用流程服务编排时,传递给“流程元模板”的入参。默认不勾选。
勾选后,可预定义请求参数,以便后续在编排流程元模板的“UI编辑”页面中,为绑定的事件配置相应入参。
表8 请求参数(Query/Header/Body) | 配置项 | 配置说明 |
| 参数名 | 请求参数的名称,用户自定义。 |
| 类型 | 指定请求参数的数据类型。 支持:BOOLEAN(布尔型)、BYTE(字节型)、SHORT(短整型)、INTEGER(整型)、LONG(长整型)、STRING(字符串型)、FLOAT(浮点型)、DOUBLE(双精度浮点型)、OBJECT(对象型)、BIG_DECIMAL(大数值型)、DATE(日期型)和FILE(文件型)。 |
| 是否为数组 | 设置参数是否为数组形式。 - 是:数组类型,适用于处理复选框提交的数据或需要绑定多个同名参数的情况(如表单中多个选项被选中)。
- 否:非数组类型,默认为“否”。
|
| 位置 | 设置请求参数的传递方式,可选:QUERY(查询字符串)、HEADER(头部信息)和BODY(请求体)。 |
| 是否必填 | |
| 是否为模板 | |
| 默认值 | 参数的默认值,用户自定义。 |
| 描述 | 参数的用途说明,用户自定义。 |
- (可选)设置“响应参数”。
此处配置的是完成流程服务编排调用后,返回给“流程元模板”的数据。默认不勾选。
勾选后,可预定义响应参数,以便后续在编排流程元模板的“UI编辑”页面中,为绑定的事件配置相应出参。
表9 响应参数 | 配置项 | 配置说明 |
| 参数名 | 响应参数的名称,用户自定义。 |
| 类型 | 指定响应参数的数据类型。 支持:BOOLEAN(布尔型)、BYTE(字节型)、SHORT(短整型)、INTEGER(整型)、LONG(长整型)、STRING(字符串型)、FLOAT(浮点型)、DOUBLE(双精度浮点型)、OBJECT(对象型)、BIG_DECIMAL(大数值型)、DATE(日期型)和FILE(文件型)。 |
| 是否为数组 | 设置返回的数据是否为数组形式。 - 是:数组类型,常用于返回列表数据(如用户列表、订单集合等)。
- 否:非数组类型,默认为“否”。
|
| 描述 | 参数的用途说明,用户自定义。 |
步骤3:保存或发布
完成所有编排与参数配置后,请根据实际业务需求执行如下操作:
- 单击“保存”:仅保存当前配置为“草稿”服务状态。服务尚未发布,不会生成可供调用的API,外部系统或流程模板无法使用此服务。
- 单击“保存并发布”:保存配置并立即将服务发布至系统。发布成功后,系统将生成唯一的API地址与凭证,该流程服务编排即刻生效,可被流程元模板调用或供第三方系统直接集成。