# 查询筛选字典

一次性拉取规则组、失分项、机器人、数据标签四类字典数据，用于初始化[洞察列表查询](https://avavox.com/docs/developer/insight/record-query.html)的筛选下拉框，以及把 `itemCode`、`robotId`、`tagId` 映射为可读名称。

<span style="display:inline-block;background:#e6f8ea;color:#22a366;border-radius:6px;padding:2px 8px;font-weight:bold;font-family:monospace;margin-right:8px;">GET</span>
`https://dashboard.avavox.com/open/api/v1/insight/dicts`

::: tip 数据变更低频，建议整体缓存
规则组、失分项、机器人、标签的变更频率远低于洞察记录，调用方可在会话或页面初始化时拉取一次并缓存，不必每次查询列表前都调用。
:::

## 请求头

<span style="font-family:monospace; color:#3451b2; ">Authorization </span> <code style="background:#f0f0f0; ">string</code> <span style="background:#dc3545; color:white; padding:2px 6px; border-radius:3px; font-size:12px;">必填</span>

- 填写格式：`Authorization: Bearer <App Key>`
- `<App Key>` 为控制台「App Key 管理」页面生成的 Key。
- 获取方式详见：[《App Key 创建与管理》](https://avavox.com/docs/developer/app-key.html)。

## 请求参数

<span style="font-family:monospace; color:#3451b2;">types</span> <code style="background:#f0f0f0;">string</code> <span style="background:#28a745; color:white; padding:2px 6px; border-radius:3px; font-size:12px;">可选</span>

需要返回的字典类型，多个用英文逗号分隔，**不传表示返回全部**。可选值：

| 值 | 说明 |
| --- | --- |
| `ruleGroup` | 规则组 |
| `deductItem` | 失分项（系统内置条目） |
| `robot` | 机器人 |
| `tag` | 数据标签 |

未请求的类型在响应中为 `null`，而非空数组。传入未定义的值将返回参数错误，不会被静默忽略。

## 响应数据

<span style="font-family:monospace; color:#3451b2;">code</span> <code style="background:#f0f0f0;">int</code>

状态码，200 为成功，其他状态均为失败。

---

<span style="font-family:monospace; color:#3451b2;">success</span> <code style="background:#f0f0f0;">boolean</code>

是否成功，`true` 表示成功，`false` 表示失败。

---

<span style="font-family:monospace; color:#3451b2;">message</span> <code style="background:#f0f0f0;">string</code>

描述信息。

---

<span style="font-family:monospace; color:#3451b2;">data</span> <code style="background:#f0f0f0;">object</code>

<details>
<summary>点击展开字段说明</summary>
<div style="margin: 16px 0; padding: 16px;  border-left: 1px solid #f0f0f0; border-radius: 6px;">

<span style="font-family:monospace; color:#3451b2;">ruleGroups</span> <code style="background:#f0f0f0;">array</code>

规则组列表，`types` 未包含 `ruleGroup` 时为 `null`。元素结构：

- `ruleGroupId`：规则组 ID，可用于列表查询的 `ruleGroupIds`
- `ruleGroupName`：规则组名称
- `enabled`：是否处于运行中

`enabled` 仅在规则组处于「进行中」时为 `true`。草稿与暂停中的规则组不会产生新的洞察记录，但其历史记录仍可查询，因此**筛选下拉框不建议直接隐藏 `enabled` 为 `false` 的规则组**。

---

<span style="font-family:monospace; color:#3451b2;">deductItems</span> <code style="background:#f0f0f0;">array</code>

失分项列表，`types` 未包含 `deductItem` 时为 `null`。元素结构：

- `itemCode`：**系统条目编码**（形如 `sys_item_0007`），即列表查询 `deductItemCodes` 的取值
- `itemName`：条目名称
- `level`：严重程度，`VETO` / `SEVERE` / `MINOR`

本列表**只包含系统内置条目**：其编码跨规则组、跨空间稳定，适合长期引用。用户在控制台自建的条目没有系统编码，不出现在字典中，也无法作为筛选条件，但它们仍会正常出现在[洞察详情](https://avavox.com/docs/developer/insight/record-detail.html)的诊断结果里。

同一系统条目被多个规则组引用时，字典按编码去重，**只出现一次**，因此条目不携带规则组信息。

---

<span style="font-family:monospace; color:#3451b2;">robots</span> <code style="background:#f0f0f0;">array</code>

机器人列表，`types` 未包含 `robot` 时为 `null`。元素结构：`robotId`（机器人 ID）、`robotName`（机器人名称）。

---

<span style="font-family:monospace; color:#3451b2;">tags</span> <code style="background:#f0f0f0;">array</code>

数据标签列表，`types` 未包含 `tag` 时为 `null`。元素结构：`tagId`（标签 ID）、`tagName`（标签名称）。

</div>
</details>

## 请求示例

拉取全部字典：

```shell
curl -X GET --location 'https://dashboard.avavox.com/open/api/v1/insight/dicts' \
--header 'Authorization: Bearer $Key'
```

只拉取规则组与失分项：

```shell
curl -X GET --location 'https://dashboard.avavox.com/open/api/v1/insight/dicts?types=ruleGroup,deductItem' \
--header 'Authorization: Bearer $Key'
```

## 响应示例

```json
{
  "code": 200,
  "success": true,
  "message": "操作成功",
  "data": {
    "ruleGroups": [
      { "ruleGroupId": "rg_1001", "ruleGroupName": "外呼合规通用组", "enabled": true }
    ],
    "deductItems": [
      { "itemCode": "sys_item_0001", "itemName": "向无关方泄露敏感信息",     "level": "VETO"   },
      { "itemCode": "sys_item_0003", "itemName": "未核实对象即继续敏感沟通", "level": "SEVERE" },
      { "itemCode": "sys_item_0007", "itemName": "明确拒绝后持续纠缠",       "level": "SEVERE" },
      { "itemCode": "sys_item_0012", "itemName": "展开无关话题沟通",         "level": "MINOR"  },
      { "itemCode": "sys_item_0015", "itemName": "错误回应AI身份测试",       "level": "MINOR"  }
    ],
    "robots": [
      { "robotId": "robot_default", "robotName": "默认机器人" }
    ],
    "tags": [
      { "tagId": "t_01", "tagName": "宽带满意度" }
    ]
  }
}
```
