工单中心需求

1. 背景与目标

工单中心用于承接客服问题的统一受理、跟进、分派、回访、关闭和质检管理。当前阶段暂不考虑协同团队,所有工单处理都在客服组织内部完成,通过客服队列、坐席和主管完成流转。

核心目标:

  • 客服可创建工单、记录跟进、预约回访和关闭工单。
  • 主管可查看跨客户、跨 App、跨队列的工单进度、SLA 风险和坐席负载。
  • 工单与客户 360 打通,支持从客户上下文查看和创建工单。
  • 关键操作必须可审计,满足敏感信息访问和管理追踪要求。

2. 用户角色

角色主要诉求权限范围
一线客服创建工单、记录跟进、查看客户和订单上下文查询客户、创建工单、添加跟进、预约回访、关闭普通工单
客服主管分派工单、查看队列、处理 SLA 风险、质检关闭结果工单分派、改派、关闭复核、质检、报表
系统管理员配置角色权限、审计、数据范围工单权限配置、审计查询、导出控制
系统任务根据告警或异常自动创建工单自动创建工单,按规则进入队列

3. 信息架构

3.1 工单中心

全局工单管理入口,面向客服主管和一线客服。

功能模块:

  • 工单指标:未结工单、高优先级、SLA 风险、待主管处理。
  • 全局工单列表:支持按工单号、客户、订单、状态、优先级、队列、负责人筛选。
  • 队列看板:展示各客服处理队列的工单数量和负载。
  • 坐席负载:展示坐席当前工单数、高优先级工单数、排班入口。
  • SLA 监控:按到期时间排序展示临期和超时工单。

3.2 新建工单

新建工单作为独立页面,不在工单中心列表中内嵌复杂表单。

支持能力:

  • 客户/手机号:可选择客户 360 中已有用户,也可自定义输入手机号。
  • App:下拉选择。
  • 问题类型:下拉选择。
  • 优先级:下拉选择。
  • 关联订单或流水:支持下拉筛选和模糊搜索。
  • 客户诉求:支持预设诉求选择,也支持自定义输入。
  • 可由系统自动分配,主管可手动指定负责人。

3.3 工单详情

核心区域:

  • 工单基础信息:App、客户、来源渠道、联系方式、关联订单、关联流水、优先级、负责人、处理队列、创建时间、SLA 到期、下次跟进。
  • 客户诉求:展示客户原始问题和期望处理结果。
  • 客服口径:展示当前可对客户解释的话术。
  • 工单处理动作:添加跟进、分派负责人、预约回访、关闭工单。
  • 跟进链路:按时间展示创建、关联、处理、回访、关闭等记录。
  • 客服管理:结案标准、附件凭证、质检关注、最新记录。

4. 工单状态流转

状态说明可执行动作
待认领工单已创建,尚未分派负责人分派负责人、关闭无效工单
处理中负责人正在处理添加跟进、预约回访、关闭
待客户回复已回复客户,等待客户补充材料或确认添加跟进、预约回访、关闭
已解决问题已处理完成,等待关闭或质检关闭、质检退回
已关闭工单结束,不允许普通客服继续编辑查看详情、重开申请

状态流转规则:

  • 高优先级工单关闭前需要主管复核。
  • 关闭工单必须填写结案结果和结案说明。
  • 已关闭工单原则上不可编辑,如需继续处理应走重开流程。

5. 工单流转状态机

stateDiagram-v2
  [*] --> 待认领: 创建工单且未分配
  [*] --> 处理中: 创建工单并同步分配

  待认领 --> 处理中: 分派负责人
  待认领 --> 已关闭: 无效工单/重复工单

  处理中 --> 待客户回复: 已回复客户/等待材料
  处理中 --> 已解决: 问题处理完成
  处理中 --> 已关闭: 无需继续处理

  待客户回复 --> 处理中: 客户回复/补充材料
  待客户回复 --> 已关闭: 超时未回复/无需继续处理

  已解决 --> 已关闭: 关闭工单
  已解决 --> 处理中: 主管复核退回

  已关闭 --> 处理中: 重开工单
  已关闭 --> [*]

5.1 允许流转表

当前状态目标状态触发动作触发角色前置条件
待认领处理中分派负责人客服主管/系统已选择负责人和处理队列
待认领已关闭关闭工单客服主管工单无效、重复或无需处理,并填写关闭原因
处理中待客户回复添加跟进一线客服跟进记录中标记等待客户回复
处理中已解决添加跟进/标记解决一线客服已填写处理结果,客户问题已解决
处理中已关闭关闭工单一线客服/主管低/中优先级可直接关闭;高优先级需主管复核
待客户回复处理中添加跟进一线客服客户已回复或补充材料
待客户回复已关闭关闭工单一线客服/主管客户超时未回复或确认无需继续处理
已解决已关闭关闭工单一线客服/主管已填写结案说明;高优先级已质检
已解决处理中质检退回客服主管结案说明不足、证据不足或客户仍有争议
已关闭处理中重开工单客服主管客户再次反馈同一问题,填写重开原因

5.2 流转校验规则

通用校验:

  • 每次状态变化必须生成跟进记录。
  • 每次状态变化必须写入审计日志。
  • 工单必须有客户或手机号。
  • 工单必须有问题类型和优先级。
  • 工单关联资金类问题时,必须关联订单或流水。

分派校验:

  • 负责人必须在当前 App 授权范围内。
  • 负责人必须具备目标队列权限。
  • 处理队列必须与问题类型匹配,或填写手动改派原因。

关闭校验:

  • 必须填写结案结果。
  • 必须填写结案说明。
  • 高优先级工单必须主管复核后关闭。
  • 存在未完成预约回访时,需要确认是否取消回访。

重开校验:

  • 仅主管或具备重开权限的角色可重开。
  • 必须填写重开原因。
  • 重开后 SLA 重新计算或按原 SLA 延续,需由业务配置决定。

6. 问题类型与优先级

初始问题类型:

  • 还款争议
  • 放款未到账
  • 审批拒绝解释
  • 逾期金额解释
  • 结清咨询
  • 账户/认证问题

优先级:

优先级说明示例
影响资金、投诉、SLA 紧急风险放款 UNKNOWN、还款已付未销账
影响客户理解或后续还款行为逾期金额解释、审批拒绝解释
普通咨询或状态确认结清咨询、普通账户咨询

7. 工单分配方案

7.1 分配目标

  • 工单必须分配给有对应 App 数据权限的人员或队列。
  • 资金类、账务类、支付通道类问题优先进入专业客服队列。
  • 高优先级和 SLA 临期工单优先分配给在线且负载较低的坐席。
  • 同一客户或同一问题的连续工单优先分配给历史负责人。
  • 分配结果必须可解释、可追溯,并写入审计日志。

7.2 分配对象

分配对象说明示例
一线客服负责普通咨询、客户解释、基础查询和回访cs.amina、cs.mary
专业客服队列负责某类问题的集中处理账务处理队列、支付通道处理队列
客服主管负责兜底分配、强制改派、SLA 风险处理cs.lead

7.3 默认分配规则

  1. 判断 App 权限:仅分配给拥有该 App 数据权限的队列或人员。
  2. 判断问题类型:根据问题类型映射默认队列。
  3. 判断优先级:高优先级进入优先处理池,同时通知主管。
  4. 判断坐席在线状态:优先分配给当前在线人员。
  5. 判断坐席负载:优先分配给未结工单数较少、SLA 风险较低的人员。
  6. 判断历史归属:同一客户未关闭工单优先分配给原负责人。
  7. 找不到合适负责人时进入待认领队列,由主管手动分配。

7.4 创建时同步分配

创建方式是否同步分配说明
客服创建,不指定负责人是,系统自动分配按 App、问题类型、优先级、坐席负载自动分配;无法命中时进入待认领
客服创建,指定本人可以仅允许指定自己为负责人,且必须具备该 App 和问题类型处理权限
客服创建,指定他人默认不允许避免一线客服绕过队列规则;如需指定他人,应由主管分派
主管创建,指定负责人可以主管可指定负责人和队列,但仍需校验目标人员 App 权限
系统自动创建是,系统自动分配例如投诉、支付异常、销账异常自动生成工单

创建时同步分配的状态规则:

  • 已成功分配负责人:工单状态为“处理中”。
  • 未成功分配负责人:工单状态为“待认领”。
  • 高优先级工单即使已自动分配,也需要通知主管。

7.5 问题类型与默认队列映射

问题类型默认队列说明
还款争议账务处理队列核对实还流水、销账状态、账务队列
放款未到账支付通道处理队列核对放款流水、通道回调、补查询结果
审批拒绝解释审批解释队列只展示可披露原因,不展示策略阈值
逾期金额解释逾期解释队列解释应还、已还、剩余应还和逾期天数
结清咨询普通咨询队列查询订单和还款计划即可答复
账户/认证问题账户认证队列核对 KYC、BVN、NIN、登录设备等信息

7.6 坐席负载计算

建议计算维度:

  • 未结工单数。
  • 高优先级工单数。
  • SLA 临期工单数。
  • 当日新增工单数。
  • 当前在线状态。
  • 最近 30 分钟处理量。
  • 是否正在处理同一客户或同一 App 的相关工单。

示例负载评分:

负载分 = 未结工单数 * 1
      + 高优先级工单数 * 2
      + SLA 临期工单数 * 3
      - 在线可接单加权
      - 同客户历史负责人加权

7.7 手动分配与改派

主管和具备 support.ticket.assign 权限的人员可以手动分派或改派工单。

手动分派必须填写:

  • 目标负责人。
  • 目标队列。
  • 分派原因。
  • 是否通知原负责人。

改派限制:

  • 已关闭工单不可改派。
  • 高优先级工单改派需要记录原因。
  • 跨 App 改派必须校验目标人员 App 数据权限。

8. 数据权限说明

8.1 权限目标

  • 按角色控制菜单和动作。
  • 按 App 控制数据范围。
  • 按队列控制工单处理范围。
  • 按敏感级别控制字段展示。
  • 所有越权、敏感查看、导出和状态变更都必须审计。

8.2 数据范围维度

维度说明示例
App 范围用户只能查看授权 App 下的客户、订单和工单RooVault 客服只能看 RooVault
队列范围用户只能处理所属队列或被分配给自己的工单账务处理队列成员只能处理账务类工单
角色范围不同角色可执行不同动作一线客服不能配置权限,主管可质检
工单归属坐席默认可查看自己负责的工单owner = cs.amina
敏感字段手机号、BVN、NIN、身份证照片、银行卡等需脱敏默认展示 maskedPhone

8.3 动作权限

动作权限点一线客服客服主管管理员
查看工单support.ticket.read
创建工单support.ticket.create
添加跟进support.ticket.follow_up
分派/改派support.ticket.assign无/受限
关闭工单support.ticket.close有,受优先级限制
质检工单support.ticket.quality_check
查看报表support.ticket.report
导出工单support.ticket.export有,需审批

8.4 创建工单权限

角色是否可创建工单创建范围是否可同步指定负责人
一线客服可以仅限本人授权 App、可见客户和可处理问题类型只能指定本人,或交给系统自动分配
客服主管可以所管理团队和授权 App 范围内可以指定团队内有权限的负责人
系统管理员可以,主要用于配置和测试全部 App,受后台配置限制可以,但生产操作应受审计和审批约束
系统任务可以告警、投诉、支付/账务异常等自动触发场景只能走自动分配规则

创建工单的权限校验:

  • 创建人必须拥有 support.ticket.create
  • 创建人必须拥有目标 App 的数据权限。
  • 关联订单或流水必须在创建人的数据权限范围内。
  • 指定负责人时,目标负责人必须拥有目标 App 和队列权限。
  • 指定负责人不是本人时,创建人必须拥有 support.ticket.assign

8.5 字段级权限

字段类型默认展示查看明文要求
手机号脱敏展示明文权限 + 查看原因 + 审计
BVN/NIN脱敏展示明文权限 + 查看原因 + 审计
身份照片不默认展示独立敏感权限 + 二次确认 + 审计
银行卡号脱敏展示明文权限 + 查看原因 + 审计
客户沟通内容授权工单内展示跨队列查看需主管权限
附件凭证文件名默认展示下载或查看原件需附件权限

9. 关键交互

9.1 新建工单

  1. 用户点击“新建工单”。
  2. 系统打开独立新建页面。
  3. 用户选择或输入客户/手机号。
  4. 用户选择 App、问题类型、优先级。
  5. 用户通过可搜索下拉选择关联订单或流水。
  6. 用户选择客户诉求,也可补充自定义诉求。
  7. 用户提交工单。
  8. 系统生成工单号,写入工单中心、客户 360、审计日志。
  9. 系统按分配规则同步分配;无法分配时进入待认领。

9.2 工单详情操作

操作使用场景提交结果
添加跟进记录客户沟通、内部核查或处理进展追加跟进记录,更新最新记录
分派负责人转给其他坐席或专业队列更新负责人、队列,写入审计
预约回访约定下一次联系客户更新下次跟进时间,进入坐席待办
关闭工单问题已解决或满足结案标准校验结案说明,高优先级需复核

10. 字段设计

10.1 工单主表字段

字段说明
ticketId工单号
appId所属 App
customerId全局客户 ID
customerPhone客户手机号,默认脱敏展示
type问题类型
priority优先级
status工单状态
source来源,如来电、在线客服、WhatsApp
channel具体渠道
owner当前负责人
queue处理队列
relatedOrderId关联订单
relatedTxnId关联流水
customerNeed客户诉求
serviceScript客服口径
resolution结案标准或结案结果
slaSLA 时长
dueAtSLA 到期时间
nextFollowUpAt下次跟进时间
createdAt创建时间
updatedAt更新时间
closedAt关闭时间

10.2 跟进记录字段

字段说明
time跟进时间
actor操作人
action动作类型
note跟进说明
next下一步

11. 权限与审计

权限点:

  • support.ticket.read
  • support.ticket.create
  • support.ticket.follow_up
  • support.ticket.assign
  • support.ticket.close
  • support.ticket.quality_check
  • support.ticket.report
  • support.ticket.export

必须审计:

  • 创建工单
  • 查看敏感客户信息
  • 添加跟进
  • 改派负责人
  • 预约回访
  • 关闭工单
  • 质检工单
  • 导出报表

12. SLA 规则

优先级首响时限解决时限
15 分钟2-4 小时
30 分钟8-12 小时
2 小时24 小时

SLA 管理要求:

  • 工单创建后根据问题类型和优先级自动计算 SLA。
  • 临期前提醒负责人和主管。
  • 超时工单进入 SLA 风险列表。
  • 关闭时记录是否超时。

13. 与客户 360 的关系

  • 客户 360 可查看当前客户所有工单。
  • 客户 360 可从客户上下文跳转新建工单。
  • 工单详情可回看客户、订单、还款、放款、认证和登录记录。
  • 工单跟进记录应进入客户事件时间线。

14. 后续接口建议

  • GET /tickets:查询工单列表
  • POST /tickets:创建工单
  • GET /tickets/{ticketId}:查询工单详情
  • POST /tickets/{ticketId}/follow-ups:添加跟进
  • POST /tickets/{ticketId}/assign:分派负责人
  • POST /tickets/{ticketId}/callback:预约回访
  • POST /tickets/{ticketId}/close:关闭工单
  • POST /tickets/{ticketId}/reopen:重开工单
  • GET /tickets/dashboard:查询工单指标
  • GET /tickets/sla-risk:查询 SLA 风险工单
  • GET /tickets/agent-load:查询坐席负载
  • GET /tickets/assignment-candidates:查询可分配坐席
  • GET /ticket-permissions/context:查询当前用户工单数据权限上下文

15. 当前原型范围

当前原型已覆盖:

  • 工单中心独立页面。
  • 新建工单独立页面。
  • 客户 360 内工单视图。
  • 工单详情。
  • 跟进链路。
  • 工单列表独立筛选。
  • 工单基础指标展示。
  • 队列和负责人字段展示。
  • 从客户上下文关联工单。
  • 中英文切换。

当前原型不包含:

  • 真实数据保存。
  • 后端接口。
  • 文件上传。
  • 真实消息通知。
  • 导出文件生成。
  • 真实权限拦截。
  • 完整队列看板。
  • 坐席负载看板。
  • SLA 风险独立页面。
  • 分派、跟进、预约回访、关闭、质检等完整详情操作表单。