
# 查询复杂流程图数据 - queryActInstInfoByProcId
#### 功能介绍
本接口用于通过流程实例ID查询复杂流程图数据，适用于获取流程执行的详细节点信息、路由路径、操作历史及国际化信息，支持复杂流程（含子流程、并行分支、多实例等）的可视化展示和审计追溯。
与[获取导航树 - getNavigateTree](https://support.huaweicloud.com/api-idme/getNavigateTree.html)接口配合，可展示流程的节点结构；与[查询评审记录 - findAllRecord](https://support.huaweicloud.com/api-idme/findAllRecord.html)接口配合，可还原流程的完整操作历史；与[根据流程实例ID查询关联评审数据列表 - listReviewDatasByInstanceId](https://support.huaweicloud.com/api-idme/listReviewDatasByInstanceId.html)接口配合，可同时展示流程的业务数据和执行轨迹。
#### 接口约束
本接口支持基础版和体验版数据建模引擎-流程引擎场景。
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-idme/idme_api_0003.html)。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-idme/idme_api_0017.html)。
- 如果使用身份策略授权，当前API调用无需身份策略权限。
 
#### URI
GET /services/workflow/processInstance/queryActInstInfoByProcId
表1Query参数 
| 参数                | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|:---|
| processInstanceId | 是    | String | **参数解释：** 流程实例ID，用于指定需要查询流程图数据的流程实例。 可通过[我的任务](https://support.huaweicloud.com/api-idme/mytasks.html)、[我发起的流程](https://support.huaweicloud.com/api-idme/myprocesses.html)等接口获取。 **约束限制：** 不涉及。 **取值范围：** 最大长度100字符。 **默认取值：** 不涉及。 |
   
#### 请求参数
表2请求Header参数 
| 参数               | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
|:---|:---|:---|:---|
| X-Auth-Token     | 是    | String | **参数解释：** IAM用户的token。 通过调用IAM服务[获取用户Token](https://support.huaweicloud.com/api-iam/iam_30_0001.html)接口获取（即响应消息头中X-Subject-Token的值）。 **约束限制：** 不涉及。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                                   |
| X-Application-Id | 是    | String | **参数解释：** 应用ID。 您可以在应用设计态的"应用中心 \> 应用发布"页面获取，详情请参见[应用发布](https://support.huaweicloud.com/usermanual-idme/idme_usermanual_0085.html)。 **约束限制：** 不涉及。 **取值范围：** 由英文字母和数字组成，且长度为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服务的[获取用户信息](https://support.huaweicloud.com/api-orgid/ShowOauth2UserInfo.html)接口获取。 **约束限制：** 仅基础版数据建模引擎-流程引擎需要配置此参数。 **取值范围：** 不涉及。 **默认取值：** 不涉及。                                                                                                                                                                                                |
   
#### 响应参数
**状态码：200**
表3响应Body参数 
| 参数        | 参数类型                                                                                  | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|
| code      | String                                                                                | **参数解释：** 返回状态码，标识接口调用的执行结果。 注意：本接口使用字符串类型的状态码，与其他接口的Integer类型不同。 **取值范围：** - 200：成功。   - 500：失败。    |
| message   | String                                                                                | **参数解释：** 返回信息，描述接口调用的结果说明。当code为"500"时，此字段包含具体的错误描述。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| resultObj | [ActInstanceResult] object | **参数解释：** 返回单个响应数据，包含流程图的核心信息（路由列表、节点详情、国际化信息等）。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   
 表4ActInstanceResult 
| 参数                   | 参数类型                                                                                      | 描述                                                                                                                                                                                                                                                                       |
|:---|:---|:---|
| routeList            | Array of strings                                                                          | **参数解释：** 流程中的路由信息列表，包含节点之间的顺序流（Sequence Flow）信息。用于绘制流程图的连接线，展示节点之间的流转路径。数组元素为JSON字符串格式，需解析后获取源节点和目标节点信息。 **取值范围：** 不涉及。 |
| activityInfo         | Array of [ActivityInfoVO] objects | **参数解释：** 流程中节点详细信息列表，包含每个节点的执行状态、操作历史、操作人信息等。按startTime升序排列，即按流程执行的时间顺序展示。 **取值范围：** 不涉及。                               |
| processDefinitionId  | String                                                                                    | **参数解释：** 该流程的流程模板Key+版本+流程实例ID。格式为{processTemplateKey}:{version}:{deploymentId}，用于唯一标识流程定义模板。 **取值范围：** 不涉及。            |
| processDefinitionKey | String                                                                                    | **参数解释：** 该流程的流程模板ID（Key），用于标识流程模板的唯一标识。与流程元模板中的模板Key一致。 **取值范围：** 不涉及。                                                  |
| i18n                 | Array of [I18nDisplay] objects       | **参数解释：** 国际化信息列表，包含节点名称、描述等字段的多语言翻译。用于前端根据当前语言环境渲染对应的显示文本。 **取值范围：** 不涉及。                                               |
   
 表5ActivityInfoVO 
| 参数             | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
|:---|:---|:---|
| taskDefineKey  | String  | **参数解释：** 流程节点ID（任务定义Key），用于唯一标识流程模型中的节点定义。与流程元模板中的节点ID一致，可用于关联节点配置和导航树。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| taskDefineName | String  | **参数解释：** 流程节点名，用于展示当前节点的标题。可在流程元模板中配置，或通过i18n字段获取多语言版本。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| startTime      | String  | **参数解释：** 流程节点的开始时间，标识节点被创建或开始执行的时间。格式为ISO 8601标准时间字符串（yyyy-MM-dd'T'HH:mm:ss.SSSXXX）。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| userAccount    | String  | **参数解释：** 流程节点操作人的Account（账号名），标识执行当前操作的用户登录账号。与userId和userCN共同标识操作人信息。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| userCN         | String  | **参数解释：** 流程节点操作人的中文名，用于展示操作人的可读名称。如果操作人未设置中文名，此字段可能为null。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| userId         | String  | **参数解释：** 流程节点操作人的用户ID（UUID），用于在分布式系统中唯一标识操作人。与[查询人员信息 - getUserInfos](https://support.huaweicloud.com/api-idme/getUserInfos.html)接口返回的uuid字段一致。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| type           | String  | **参数解释：** 流程节点的类型，标识当前节点在BPMN模型中的角色。用于前端渲染不同类型的节点图标和样式。 **取值范围：** - startEvent：开始事件（流程起点）。   - userTask：用户任务（需要人工处理）。   - manualTask：手工任务（需要手动执行的外部操作）。   - receiveTask：接收任务（等待外部信号触发）。   - subProcess：子流程（包含嵌套的子流程实例）。   - endEvent：结束事件（流程终点）。   - exclusiveGateway：排他网关（条件分支）。   - parallelGateway：并行网关（并行分支）。    |
| status         | String  | **参数解释：** 流程节点状态，标识当前节点的执行状态。用于前端渲染节点的颜色和高亮状态。 **取值范围：** - wait：等待中（节点已创建但尚未执行）。   - suspended：挂起（节点执行被暂停）。   - cancelled：已取消（节点执行被取消）。   - finished：已完成（节点执行完毕）。   - doing：进行中（节点正在执行中）。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| nodeOptCount   | Integer | **参数解释：** 流程节点操作次数，标识当前节点被执行或操作的累计次数。对于被驳回后重新执行的节点，此计数可能大于1。 **取值范围：** 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
   
 表6I18nDisplay 
| 参数    | 参数类型   | 描述                                                                                                                                                                                                                              |
|:---|:---|:---|
| key   | String | **参数解释：** 国际化数据key值，标识需要翻译的原始文本或标识符。通常为变量名称或描述字段的编码。 **取值范围：** 不涉及。             |
| value | String | **参数解释：** 国际化数据key对应的value值，即翻译后的显示文本。前端根据当前语言环境匹配对应的value值进行展示。 **取值范围：** 不涉及。 |
   
**状态码：400**
表7响应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/queryActInstInfoByProcId?processInstanceId=47e26735-74f7-11f1-b92f-fa163e3e960a
```
#### 响应示例
**状态码：200**
OK
```
{
  "code" : 200,
  "message" : "success",
  "resultObj" : {
    "activityInfo" : [ {
      "taskDefineKey" : "StartEvent_1",
      "taskDefineName" : "提交任务1",
      "startTime" : "2024-11-28T06: 57: 50.793+0000",
      "userAccount" : "XDM_Developer",
      "userCN" : null,
      "userId" : "93172bbfd0f64437956d4c9de9345386",
      "type" : "startEvent",
      "status" : "finished",
      "nodeOptCount" : 1
    }, {
      "taskDefineKey" : "SubmitTask_1",
      "taskDefineName" : "提交任务",
      "startTime" : "2024-11-28T06: 57: 50.794+0000",
      "userAccount" : "XDM_Developer",
      "userCN" : null,
      "userId" : "93172bbfd0f64437956d4c9de9345386",
      "type" : "userTask",
      "status" : "finished",
      "nodeOptCount" : 1
    }, {
      "taskDefineKey" : "Activity_16kgz9u",
      "taskDefineName" : "用户任务",
      "startTime" : "2024-11-28T06: 57: 50.970+0000",
      "userAccount" : "XDM_Developer",
      "userCN" : null,
      "userId" : "93172bbfd0f64437956d4c9de9345386",
      "type" : "userTask",
      "status" : "doing",
      "nodeOptCount" : 1
    } ],
    "routeList" : [ null ],
    "processDefinitionId" : "Process_xiejia_1126_2:1:a60b112ee2304d84a5432b94e86d81ec",
    "processDefinitionKey" : "Process_xiejia_1126_2",
    "i18n" : [ null ]
  }
}
```
**状态码：400**
Bad Request
```
{
  "error_code" : "500",
  "error_msg" : "origin is not allowed!",
  "result" : "FAIL",
  "trace_id" : "2509bee60b3e40asdf9f741d9e23466a9"
}
```
#### 状态码
| 状态码 | 描述          |
|:---|:---|
| 200 | OK          |
| 400 | Bad Request |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-idme/WorkFlow-Engine-ErrorCode.html)。
