获取流程变量 - getVariablesByProcInstIdQuery
功能介绍
本接口用于通过流程实例ID获取流程变量,适用于查询流程执行过程中产生的所有变量数据,包括流程级变量(全局变量)和任务级变量(局部变量)。流程变量是流程引擎中用于存储和传递业务数据的核心机制,在流程流转、条件判断、任务分配等场景中发挥关键作用。
与查询复杂流程图数据 - queryActInstInfoByProcId接口配合,可将变量数据与节点执行状态结合,完整还原流程的执行上下文;与完成任务 - completeTask接口配合,可验证变量是否正确传递和存储。
接口约束
本接口支持基础版和体验版数据建模引擎-流程引擎场景。
调用方法
请参见如何调用API。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权,具体权限要求请参见权限和授权项。
- 如果使用身份策略授权,当前API调用无需身份策略权限。
URI
GET /services/workflow/processInstance/instance/getVariables
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| processInstanceId | 是 | String | 参数解释: 流程实例ID,用于指定需要查询流程图数据的流程实例。 约束限制: 不涉及。 取值范围: 最大长度100字符。 默认取值: 不涉及。 |
| pageSize | 是 | String | 参数解释: 分页大小,即每页返回的变量记录数。需与curPage同时传入。 约束限制: 建议设置为50-100,过大的分页值可能影响接口性能。 取值范围: 正整数,取值范围1-100。 默认取值: 不涉及。 |
| curPage | 是 | String | 参数解释: 当前页码,用于指定分页查询的页数。需与pageSize同时传入才生效,从1开始计数。 约束限制: 不涉及。 取值范围: 正整数,取值范围1-1000。 默认取值: 不涉及。 |
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| X-Auth-Token | 是 | String | 参数解释: IAM用户的token。 通过调用IAM服务获取用户Token接口获取(即响应消息头中X-Subject-Token的值)。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| X-Application-Id | 是 | String | 参数解释: 应用ID。 您可以在应用设计态的“应用中心 > 应用发布”页面获取,详情请参见应用发布。 约束限制: 不涉及。 取值范围: 由英文字母和数字组成,且长度为32个字符。 默认取值: 不涉及。 |
| X-Tenant-Id | 是 | String | 参数解释: 数据建模引擎运行态租户ID。 您可以从访问流程引擎编排服务的浏览器地址栏中获取。 流程编排服务地址:http://{承载流程编排服务的服务器域名或IP地址}:{流程编排服务的端口号}/{流程编排服务文根}/index.html#/processApplicationForm?tenantId={数据建模引擎运行态租户ID}&applicationId={应用ID} 例如tenantId=-1,表示数据建模引擎运行态默认租户“basicTenant”的租户ID为-1。 约束限制: 不涉及。 取值范围: 不涉及。 默认取值: 不涉及。 |
| X-User-Id | 是 | String | 参数解释: 请求当前接口时上下文中的用户ID,即OrgID的用户ID。 通过调用OrgID服务的获取用户信息接口获取。 约束限制: 仅基础版数据建模引擎-流程引擎需要配置此参数。 取值范围: 不涉及。 默认取值: 不涉及。 |
响应参数
状态码:200
| 参数 | 参数类型 | 描述 |
|---|---|---|
| code | String | 参数解释: 返回状态码,标识接口调用的执行结果。 注意:本接口使用字符串类型的状态码,与其他接口的Integer类型不同。 取值范围: |
| message | String | 参数解释: 返回信息,描述接口调用的结果说明。当code为“500”时,此字段包含具体的错误描述。 取值范围: 不涉及。 |
| result | Array of ProcessInstanceVariablesVO objects | 参数解释: 返回响应数据列表,包含流程实例的所有变量信息。按createTime升序排列。 取值范围: 不涉及。 |
| pageVO | AdaptPageVO object | 参数解释: 返回单个响应数据,包含当前分页的元数据(总记录数、当前页、页大小、总页数等)。 取值范围: 不涉及。 |
| orderId | String | 参数解释: 全局日志追踪ID,用于唯一标识本次接口请求,便于问题排查和链路追踪。遇到问题时,请提供此ID联系技术支持。 取值范围: 不涉及。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| id | String | 参数解释: 流程变量ID,用于唯一标识变量记录。在审计场景中可用于追溯单条变量记录。 取值范围: 不涉及。 |
| processDefinitionId | String | 参数解释: 该流程的流程模板key+版本+流程实例ID。格式为{processTemplateKey}:{version}:{deploymentId},用于唯一标识流程定义模板。 取值范围: 不涉及。 |
| processDefinitionKey | String | 参数解释: 流程模板ID(Key),用于标识流程模板的唯一标识。与流程设计态中的模板Key一致。 取值范围: 不涉及。 |
| rootProcessInstanceId | String | 参数解释: 历史事件触发时的父流程ID。对于主流程实例,此字段与processInstanceId一致;对于子流程实例,此字段指向父流程实例ID。 取值范围: 不涉及。 |
| processInstanceId | String | 参数解释: 流程实例ID,标识变量所属的流程实例。与请求参数中的processInstanceId一致。 取值范围: 不涉及。 |
| taskId | String | 参数解释: 流程任务ID,标识变量所属的具体任务。若为流程级变量(全局变量),此字段为null。 取值范围: 不涉及。 |
| tenantId | String | 参数解释: 租户ID,标识变量所属的数据建模引擎租户。与请求Header中的X-Tenant-Id对应。 取值范围: 不涉及。 |
| executionId | String | 参数解释: 流程执行段ID,标识变量所属的执行上下文。在并行分支或子流程场景中,不同分支可能具有不同的executionId。 取值范围: 不涉及。 |
| activityInstanceId | String | 参数解释: 活动实例ID,标识变量关联的活动实例。与流程引擎内部的活动实例跟踪机制对应。 取值范围: 不涉及。 |
| name | String | 参数解释: 流程变量名,标识变量的业务含义。常见变量名包括: 取值范围: 不涉及。 |
| caseDefinitionKey | String | 参数解释: 案例定义Key,用于CMMN(案例管理模型和标记法)场景。当前流程引擎场景中通常为null。 取值范围: 不涉及。 |
| caseDefinitionId | String | 参数解释: 案例定义ID,用于CMMN场景。当前流程引擎场景中通常为null。 取值范围: 不涉及。 |
| caseInstanceId | String | 参数解释: 案例实例ID,用于CMMN场景。当前流程引擎场景中通常为null。 取值范围: 不涉及。 |
| caseExecutionId | String | 参数解释: 案例执行ID,用于CMMN场景。当前流程引擎场景中通常为null。 取值范围: 不涉及。 |
| revision | Integer | 参数解释: 流程变量修改版本,标识变量被修改的次数。首次创建时版本为0,每次更新后版本递增。用于乐观锁控制和并发冲突检测。 取值范围: 不涉及。 |
| createTime | String | 参数解释: 流程变量创建时间,标识变量首次被设置的时间。格式为ISO 8601标准时间字符串(yyyy-MM-dd'T'HH:mm:ss.SSSXXX)。 取值范围: 不涉及。 |
| value | String | 参数解释: 国际化数据key对应的value值,即翻译后的显示文本。前端根据当前语言环境匹配对应的value值进行展示。 取值范围: 不涉及。 |
| textValue2 | String | 参数解释: 流程变量文本值,用于存储变量的附加文本信息。通常为null,仅在特定类型的变量(如长文本、JSON字符串)中使用。 取值范围: 不涉及。 |
| type | String | 参数解释: 流程变量类型,标识变量值的Java数据类型。调用方需根据此字段进行类型转换和解析。 取值范围: 不涉及。 |
| state | String | 参数解释: 流程变量状态,标识变量的生命周期状态。 取值范围: 不涉及。 |
| taskDefinitionKey | String | 参数解释: 模板中节点(任务)的编号,标识变量关联的节点定义。若为流程级变量,通常为“Global”。 取值范围: 不涉及。 |
| taskDefinitionName | String | 参数解释: 模板中节点(任务)的名称,标识变量关联的节点名称。若为流程级变量,通常为“Global”。 取值范围: 不涉及。 |
| taskDefinitionType | String | 参数解释: 模板中节点(任务)的类型,标识变量的作用域范围。 取值范围: |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| totalRows | Integer | 参数解释: 数据总数,即符合查询条件的流程变量总记录数。用于前端计算总页数。 取值范围: 非负整数。 |
| curPage | Integer | 参数解释: 当前页码,用于指定分页查询的页数。需与pageSize同时传入才生效,从1开始计数。 取值范围: 不涉及。 |
| pageSize | Integer | 参数解释: 页大小,与请求参数中的pageSize一致。 取值范围: 不涉及。 |
| totalPages | Integer | 参数解释: 总页数,计算公式为ceil(totalRows / pageSize)。 取值范围: 非负整数。 |
| startIndex | Integer | 参数解释: 开始下标,当前页第一条记录在总记录中的索引(从1开始)。 取值范围: 正整数。 |
| endIndex | Integer | 参数解释: 结束下标,当前页最后一条记录在总记录中的索引。 取值范围: 正整数。 |
| offset | Integer | 参数解释: 偏移量,当前页第一条记录在总记录中的偏移量(从0开始)。计算公式为(curPage - 1) * pageSize。 取值范围: 非负整数。 |
状态码:400
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 错误码。 |
| error_msg | String | 错误描述。 |
| result | String | 结果。 |
| trace_id | String | 追踪ID。 |
请求示例
GET https://dme.cn-north-4.huaweicloud.cn/workflowRuntime/services/workflow/processInstance/instance/getVariables?processInstanceId=154a5392-ad56-11ef-94c2-fa163e3e9614&pageSize=100&curPage=1
响应示例
状态码:200
OK
{
"code": 200,
"message": "success",
"pageVO": {
"totalRows": 8,
"curPage": 1,
"pageSize": 100,
"startIndex": 1,
"endIndex": 100,
"offset": 0,
"totalPages": 1
},
"result": [
{
"id": "154aa1ba-ad56-11ef-94c2-fa163e3e9614",
"processDefinitionId": "Process_xiejia_1126_2:1:a60b112ee2304d84a5432b94e86d81ec",
"processDefinitionKey": "Process_xiejia_1126_2",
"rootProcessInstanceId": "154a5392-ad56-11ef-94c2-fa163e3e9614",
"processInstanceId": "154a5392-ad56-11ef-94c2-fa163e3e9614",
"taskId": null,
"tenantId": 10000243,
"executionId": "154a5392-ad56-11ef-94c2-fa163e3e9614",
"activityInstanceId": "154a5392-ad56-11ef-94c2-fa163e3e9614",
"name": "Activity_16kgz9u",
"caseDefinitionKey": null,
"caseDefinitionId": null,
"caseInstanceId": null,
"caseExecutionId": null,
"revision": 0,
"createTime": 2024-11-28T06: 57: 50.778+0000,
"value": "93172bbfd0f64437956d4c9de9345386",
"textValue2": null,
"type": "string",
"state": "CREATED",
"taskDefinitionKey": "Global",
"taskDefinitionName": "Global",
"taskDefinitionType": "processInstance"
},
{
"id": "154aa1bb-ad56-11ef-94c2-fa163e3e9614",
"processDefinitionId": "Process_xiejia_1126_2:1:a60b112ee2304d84a5432b94e86d81ec",
"processDefinitionKey": "Process_xiejia_1126_2",
"rootProcessInstanceId": "154a5392-ad56-11ef-94c2-fa163e3e9614",
"processInstanceId": "154a5392-ad56-11ef-94c2-fa163e3e9614",
"taskId": null,
"tenantId": 10000243,
"executionId": "154a5392-ad56-11ef-94c2-fa163e3e9614",
"activityInstanceId": "154a5392-ad56-11ef-94c2-fa163e3e9614",
"name": "applicant",
"caseDefinitionKey": null,
"caseDefinitionId": null,
"caseInstanceId": null,
"caseExecutionId": null,
"revision": 0,
"createTime": 2024-11-28T06: 57: 50.778+0000,
"value": "XDM_Developer",
"textValue2": null,
"type": "string",
"state": "CREATED",
"taskDefinitionKey": "Global",
"taskDefinitionName": "Global",
"taskDefinitionType": "processInstance"
},
{
"id": "154aa1b9-ad56-11ef-94c2-fa163e3e9614",
"processDefinitionId": "Process_xiejia_1126_2:1:a60b112ee2304d84a5432b94e86d81ec",
"processDefinitionKey": "Process_xiejia_1126_2",
"rootProcessInstanceId": "154a5392-ad56-11ef-94c2-fa163e3e9614",
"processInstanceId": "154a5392-ad56-11ef-94c2-fa163e3e9614",
"taskId": null,
"tenantId": 10000243,
"executionId": "154a5392-ad56-11ef-94c2-fa163e3e9614",
"activityInstanceId": "154a5392-ad56-11ef-94c2-fa163e3e9614",
"name": "_mail_cc",
"caseDefinitionKey": null,
"caseDefinitionId": null,
"caseInstanceId": null,
"caseExecutionId": null,
"revision": 0,
"createTime": 2024-11-28T06: 57: 50.778+0000,
"value": null,
"textValue2": null,
"type": null,
"state": "CREATED",
"taskDefinitionKey": "Global",
"taskDefinitionName": "Global",
"taskDefinitionType": "processInstance"
}
],
"orderId": "estgjvuk56sc3o34qonmqwlpo3j65kgc"
} 状态码:400
Bad Request
{
"error_code" : "500",
"error_msg" : "origin is not allowed!",
"result" : "FAIL",
"trace_id" : "2509bee60b3e40asdf9f741d9e23466a9"
} 状态码
| 状态码 | 描述 |
|---|---|
| 200 | OK |
| 400 | Bad Request |
错误码
请参见错误码。