在线客服系统多客服账号分配逻辑源码实现
一、核心分配机制
-
主账号与子账号体系
- 主账号(商户账号)可创建子客服账号(如客服2),形成多客服协作体系。
- 主账号拥有全局视角:可查看所有子账号的访客记录,但无法直接替子账号回复消息。
-
四大分配规则
- 平均分配:不带客服ID参数的链接会按在线客服数量轮询分配。
- 接待数优先:系统自动分配给当前接待量最少的客服(需客服均在线)。
- 指定分配:链接携带客服ID参数时(如
?kefu_id=2
),强制分配给指定客服(若该客服在线)。 - 熟客延续:同一浏览器再次访问时,优先分配给上次接待的客服(通过本地存储记录)。
二、分配逻辑场景演示
场景 | 分配结果 | 说明 |
---|---|---|
新访客无参数访问 | 客服1或客服2轮询 | 无历史记录时按在线状态平均分配 |
客服2当前接待量少 | 优先分配客服2 | 动态平衡工作负载 |
链接带客服1参数 | 强制分配客服1 | 即使客服2空闲也无效 |
老客户再次访问 | 延续上次客服 | 除非该客服离线,才转给其他人 |
所有客服离线 | 分配给主账号 | 主账号作为兜底接待方 |
三、测试注意事项
-
浏览器隔离要求
- 必须使用无痕模式测试新访客分配,常规浏览器会因本地存储导致"伪熟客"现象。
- 不同客服账号需登录独立浏览器实例(普通无痕窗口仍共享存储,建议用Chrome多用户功能)。
-
重置测试环境
- 清除后访问链接可模拟全新访客行为。
-
多账号测试方案
- 方案A:使用不同浏览器(如Chrome+Firefox)
- 方案B:Chrome多用户模式(每个用户独立存储)
- 方案C:虚拟机/容器隔离环境
四、典型问题排查
- 消息未送达:主账号试图回复子账号的访客时,消息实际发送到子账号队列,需子账号在线处理。
- 分配不符合预期:检查链接参数、客服在线状态、浏览器缓存(特别是
localStorage
)。 - 账号互踢:同一浏览器登录多个账号会导致会话覆盖,需彻底隔离运行环境。
五、最佳实践建议
- 生成通用链接时不带客服ID参数,启用智能分配
- 特定场景(如VIP服务)使用带参数链接定向分配
- 定期监控各客服接待量,动态调整在线人数
- 培训客服及时更新状态(离线/在线),避免分配僵局
薇:llike620
gofly.v1kf.com
该分配系统通过动态权重算法平衡客服负载,同时保留人工干预入口,兼顾效率与灵活性。实际部署时建议结合业务流量特点微调策略参数。
十年开发经验程序员,离职全心创业中,历时三年开发出的产品《唯一客服系统》
一款基于Golang+Vue开发的在线客服系统,软件著作权编号:2021SR1462600。一套可私有化部署的网站在线客服系统,编译后的二进制文件可直接使用无需搭开发环境,下载zip解压即可,仅依赖MySQL数据库,是一个开箱即用的全渠道在线客服系统,致力于帮助广大开发者/公司快速部署整合私有化客服功能。
开源地址:唯一客服(开源学习版)
官网地址:唯一客服官网