1.立项背景和目标传统电销行业普遍存在坐席外呼无序、客户线索分配混乱、通话过程无统一监管、业绩数据统计滞后等问题,多套线路、客户、台账系统相互独立,管理人员无法实时掌握团队外呼效率,客户跟进记录丢失导致重复骚扰、客户流失。本电销系统立项核心目标是打造一体化企业外销管理中台,整合线路通话、客户线索、坐席工作台、录音存档、业绩统计全链路能力,规范外呼流程,提升线索转化效率,实现通话全程可追溯、数据可视化管控,降低客户投诉风险,减少人工统计成本。
2.软件功能、核心功能模块
统划分为五大核心业务模块:坐席工作台模块、智能线索分配模块、线路外呼调度模块、通话录音存储转码模块、数据统计报表模块。坐席工作台支持一键外呼、通话弹屏、客户标签备注、跟进计划提醒;线索模块支持批量导入、智能分流、重复客户去重;外呼调度模块对接第三方语音线路,管控呼叫频次规避封号;录音模块自动留存全部通话音频,支持关键词检索回放;报表模块生成坐席接通率、通话时长、成交转化多维度可视化数据。
业务流程、功能路径描述
3.管理员登录后台后,先完成语音线路接入配置、坐席账号权限分配、客户线索批量导入;坐席登录工作台自动分配待跟进客户,一键发起外呼,通话过程同步记录沟通内容并自动录音;通话结束后系统自动更新客户跟进状态,标记意向等级;每日凌晨定时统计全量通话、转化数据生成报表,若坐席高频呼叫触发风控阈值,系统自动限制外呼权限,管理人员可在报表页面导出团队业绩、回放任意通话录音核查服务规范。
1.整体架构和设计思路,不同模块使用的技术栈
系统采用前后端分离微服务架构,按照业务领域拆分独立服务,实现模块解耦、独立扩容。后端核心技术栈为 Java、SpringBoot、SpringCloud、MyBatis-Plus;使用 MySQL 存储客户、坐席、业务台账数据,Redis 缓存在线坐席会话与高频线索信息,RabbitMQ 异步处理外呼任务、录音转码消息,Elasticsearch 存储通话录音文本用于关键词检索;前端采用 Vue+ElementPlus 搭建坐席与管理后台;独立拆分坐席服务、外呼调度服务、线索服务、录音服务、统计报表服务,各服务通过注册中心完成通信。
2.“我” 的负责模块和结果(量化)
本人独立负责外呼调度、线索智能分配、数据统计三大核心服务开发,设计限流防封号调度算法;重构批量外呼下发逻辑;设计线索权重分流策略,优质意向客户优先分配高绩效坐席;优化千万级通话记录统计查询逻辑,支持企业一键导出全周期业绩数据。
3.“我” 遇到的难点、坑,和解决方案
难点 1:批量外呼高峰期瞬时并发量大,大量呼叫消息堆积造成语音线路拥堵、高频呼叫触发运营商封号。解决方案:通过 RabbitMQ 搭建分层消息队列削峰,为呼叫任务设置分级权重,限制单线路单位时间呼叫阈值,新增失败呼叫死信队列做延时补偿,从源头降低封号概率。
难点 2:海量通话录音与日志数据存储后检索缓慢,人工查找指定客户通话耗时久。解决方案:按日期对通话表分表存储,录音文本同步写入 ES 索引,热点近 7 天通话数据缓存至 Redis,实现关键词、客户手机号快速检索,单次录音查询响应控制在 150ms 内。
难点 3:多坐席同时抢占优质线索造成分配冲突、重复拨打同一客户。解决方案:基于 Redis 分布式锁实现线索独占分配,增加客户呼叫冷却时间校验,自动过滤短期内重复拨打记录,减少客户投诉。