满意度评价(CSAT)

1. CSAT 流程

通话结束
    │
    ▼
播放 IVR 提示音 ("请对本次服务进行评价...")
    │
    ├── 按键 1 = 非常满意
    ├── 按键 2 = 满意
    ├── 按键 3 = 一般
    ├── 按键 4 = 不满意
    ├── 按键 5 = 非常不满意
    │
    ▼
记录评价 (cc_csat)
    │
    ▼
播放感谢语 → 挂断

2. 配置

CSAT 作为独立 IVR 应用,在路由或队列配置中引用:

2.1 队列配置

[[queue]]
name = "sales-queue"

[queue.after_call]
csat_enabled = true
csat_ivr = "csat-survey"

2.2 全局默认与转接抑制(0.5+)

CSAT 增加了全局配置与技能组级覆盖,并优化了调查对象的选择:

  • 全局默认(cc 配置中的 [proxy.cc.csat] 风格设置)定义调查 IVR、提示音(随插件内置)与启用状态——技能组可覆盖全局行为。
  • 转接后可选参与:默认情况下,被转接的通话不再进入 CSAT 调查——客户对被转手的通话很难给出公正评分。仍希望收集转接反馈的技能组可打开 after-transfer 开关;否则 MarkTransferred 命令会抑制调查。
  • 转接状态随通话携带(transferred-call 标记),跨咨询转链路后抑制依然生效。

2.2 自定义 CSAT IVR

CSAT 使用标准 IVR Step 协议,可通过 IVR Editor 自定义流程:

步骤说明
播放提示“请对本次服务评分,1-5”
收集按键等待 DTMF 输入
确认“您评了 X 分”
感谢“感谢您的评价”
挂断结束通话

3. CSAT API

3.1 提交评价

POST /cc/csat/{call_id}
Body: {
  "score": 5,
  "comment": "服务很好",
  "agent_id": "agent-001",
  "queue_id": "sales-queue"
}

3.2 查询坐席评价

GET /cc/csat/agent/{agent_id}

返回该坐席的所有 CSAT 评分:

  • 平均分
  • 评价数量
  • 评分分布

3.3 查询队列评价

GET /cc/csat/queue/{queue_id}

4. CSAT 统计

4.1 坐席维度

指标说明
平均 CSAT该坐席的平均评分
评价数收到评价的总数
评分分布1-5 分各多少
趋势近 N 天的评分变化

4.2 队列维度

指标说明
队列平均 CSAT该队列的整体满意度
坐席排名队列内坐席按 CSAT 排名

5. 数据库

CSAT 数据存储在 cc_csat 表:

字段说明
id记录 ID
call_id关联通话 ID
agent_id坐席 ID
queue_id队列 ID
score评分 (1-5)
comment文字评价
created_at时间戳

6. CSAT 结果服务

CSAT Result Service 后台服务:

  • 聚合每日/每周/每月的 CSAT 统计
  • 计算坐席排名
  • 生成趋势数据供报表 API 查询