文档首页/ 工业数字模型驱动引擎/ API参考/ API/ 流程引擎/ 流程实例/ 获取流程变量 - getVariablesByProcInstIdQuery
更新时间:2026-07-28 GMT+08:00
分享

获取流程变量 - getVariablesByProcInstIdQuery

功能介绍

本接口用于通过流程实例ID获取流程变量,适用于查询流程执行过程中产生的所有变量数据,包括流程级变量(全局变量)和任务级变量(局部变量)。流程变量是流程引擎中用于存储和传递业务数据的核心机制,在流程流转、条件判断、任务分配等场景中发挥关键作用。

查询复杂流程图数据 - queryActInstInfoByProcId接口配合,可将变量数据与节点执行状态结合,完整还原流程的执行上下文;与完成任务 - completeTask接口配合,可验证变量是否正确传递和存储。

接口约束

本接口支持基础版和体验版数据建模引擎-流程引擎场景。

调用方法

请参见如何调用API

授权信息

账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。

  • 如果使用角色与策略授权,具体权限要求请参见权限和授权项
  • 如果使用身份策略授权,当前API调用无需身份策略权限。

URI

GET /services/workflow/processInstance/instance/getVariables

表1 Query参数

参数

是否必选

参数类型

描述

processInstanceId

String

参数解释:

流程实例ID,用于指定需要查询流程图数据的流程实例。

可通过我的任务我发起的流程等接口获取。

约束限制:

不涉及。

取值范围:

最大长度100字符。

默认取值:

不涉及。

pageSize

String

参数解释:

分页大小,即每页返回的变量记录数。需与curPage同时传入。

约束限制:

建议设置为50-100,过大的分页值可能影响接口性能。

取值范围:

正整数,取值范围1-100。

默认取值:

不涉及。

curPage

String

参数解释:

当前页码,用于指定分页查询的页数。需与pageSize同时传入才生效,从1开始计数。

约束限制:

不涉及。

取值范围:

正整数,取值范围1-1000。

默认取值:

不涉及。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

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

表3 响应Body参数

参数

参数类型

描述

code

String

参数解释:

返回状态码,标识接口调用的执行结果。

注意:本接口使用字符串类型的状态码,与其他接口的Integer类型不同。

取值范围:

  • 200:成功。

  • 500:失败。

message

String

参数解释:

返回信息,描述接口调用的结果说明。当code为“500”时,此字段包含具体的错误描述。

取值范围:

不涉及。

result

Array of ProcessInstanceVariablesVO objects

参数解释:

返回响应数据列表,包含流程实例的所有变量信息。按createTime升序排列。

取值范围:

不涉及。

pageVO

AdaptPageVO object

参数解释:

返回单个响应数据,包含当前分页的元数据(总记录数、当前页、页大小、总页数等)。

取值范围:

不涉及。

orderId

String

参数解释:

全局日志追踪ID,用于唯一标识本次接口请求,便于问题排查和链路追踪。遇到问题时,请提供此ID联系技术支持。

取值范围:

不涉及。

表4 ProcessInstanceVariablesVO

参数

参数类型

描述

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

参数解释:

流程变量名,标识变量的业务含义。常见变量名包括:

  • 节点相关:Activity_16kgz9u(节点ID作为变量名,存储节点处理人信息)。

  • 申请人相关:applicant(流程发起人账号)。

  • 邮件抄送:_mail_cc(邮件抄送人列表)。

  • 业务自定义:由流程设计者在流程设计态中定义。

取值范围:

不涉及。

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

参数解释:

模板中节点(任务)的类型,标识变量的作用域范围。

取值范围:

  • processInstance:流程实例级变量(全局变量,整个流程实例可见)。

  • userTask:用户任务级变量(局部变量,仅在当前任务及后续节点可见)。

  • serviceTask:服务任务级变量。

  • scriptTask:脚本任务级变量。

表5 AdaptPageVO

参数

参数类型

描述

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

表6 响应Body参数

参数

参数类型

描述

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

错误码

请参见错误码

相关文档