销售邦电话系统思维导图(文字版)
可渲染思维导图
拨打流程图
回调入库流程图
回调入库流程图
详细文字层级
销售邦电话系统
一、基础配置
- 接口配置
SALESBANG_BASE_URL:销售邦接口基础地址SALESBANG_APP_ID:销售邦应用 IDSALESBANG_SECRET_KEY:接口签名密钥SALESBANG_TIMEOUT:接口请求超时时间
- 回调配置
- 通话状态回调:
/api/dingtalk/callbak_xsb - AI 意向回调:仅写入文本日志,暂不处理业务
- 通话状态回调:
- 核心代码
- 控制器:
app/Http/Controllers/Dingtalk/SalesBangCallController.php - 服务层:
app/Services/SalesBangCallService.php - 权限模型:
app/Models/Crm/SalesBangCallPermission.php
- 控制器:
- 接口配置
二、开通与权限
- 城市开通
- 城市存在纯城市开启记录
dd_user_id=''caller_phone='1'status=1
- 或城市至少存在一名状态开启且在职的绑定人员
- 城市存在纯城市开启记录
- 人员开通
- 人员绑定记录状态为开启
- 人员处于在职状态
- 配置有效的 11 位拨号手机号
- 同一人员全局只能绑定一条记录
- 拨打范围
- 人员开通后,其能看到的业务数据即可拨打
- 不再按客户所属城市二次限制
- 后端拨号接口仍会再次校验人员权限和数据可见权限
- Redis 权限缓存
- 人员和城市权限缓存 5 分钟
- 权限记录保存或删除后更新缓存版本
- 旧版本缓存自动失效
- 城市开通
三、后台及业务系统管理
- Dcat Admin 后台
- 前缀:
e3v2k - 维护开启区域、绑定人员、拨号手机号和状态
- 支持只开启区域、不绑定人员
- 前缀:
- 业务系统快捷入口
- 入口名称:销售邦管理
- 可见角色
- 负责人
manager - 区域经理
area_manager - 区域人力
area_personnel - 管理员
admin
- 负责人
- 可执行操作
- 选择负责区域
- 查看已绑定人员
- 添加人员
- 修改手机号和状态
- 删除人员
- 限制
- 只能管理后台已开启区域
- 人员必须属于所选区域且在职
- 区域最后一名绑定人员不能从快捷入口删除
- Dcat Admin 后台
四、业务系统拨打入口
- 电话本
- 号码来源
- 主手机号
mobile - 其他电话
other_phones
- 主手机号
- 单号码直接确认拨打
- 多号码弹窗选择拨打
- 唯一支持电话标记的模块
- 列表直接使用
crm_lead.last_call_time
- 号码来源
- 意向客户与高端意向客户
- 共用销售邦拨打逻辑
- 号码来源
- 默认联系电话
mobile - 主联系人
user_name + user_mobile - 扩展联系人
con_contacts + con_phone
- 默认联系电话
- 按号码去重
- 号码与联系人相同时保留联系人姓名
- 默认号码不是联系人号码时显示“联系电话”
- 列表和详情均可拨打
- 记账户
- 号码来源
- 联系电话
customer_phone - 实际负责人手机号
actual_person_phone - 法人电话
faren_phone
- 联系电话
- 列表和详情均可拨打
- 不限制只有会计岗位才能拨打
- 号码来源
- 拨号盘
- 电话本、意向客户、高端意向客户、记账户均提供
- 拨号盘拨打统一算作临时通话
- 不自动关联具体客户
- 电话本
五、Android App 拨打入口
- 拨打模式
- 默认模式:手机拨打
- 已开通销售邦的人员可在个人设置切换
- 模式保存到 Storage
salesbang_call_enabledsalesbang_call_modesalesbang_call_user_id
- 退出登录后清除模式,下次登录恢复手机拨打
- 已接入页面
- 电话本:
pages/clues/list.vue - 临时通话:
pages/client/calltopnhoe.vue - 意向客户:
pages/client/index.vue - 高端意向客户:
pages/client/gaoduan_index.vue - 意向/高端意向详情:
pages/client/customerDetails.vue - 记账户列表:
pages/bka/list.vue - 记账户详情:
pages/bka/bkadetail.vue
- 电话本:
- 分流规则
- 手机模式
- 继续执行原本机拨号
- 保留通话监听、录音和上传逻辑
- 销售邦模式
- 号码校验后调用销售邦接口
- 不执行本机拨号和本地录音逻辑
- 请求失败不自动回退手机拨打,防止重复呼叫
- 手机模式
- 拨打模式
六、发起拨号流程
- 第一步:前端选择最终被叫号码
- 第二步:调用后端对应接口
- 电话本:
call_lead - 意向/高端意向:
call_customer - 记账户:
call_bookkeeping - 临时通话:
call_temporary
- 电话本:
- 第三步:后端校验
- 当前登录身份
- 销售邦人员权限
- 防止短时间重复请求
- 业务数据可见权限
- 所选号码属于当前业务数据
- 第四步:服务层生成鉴权参数
appId- 毫秒时间戳
- 随机
seqNo digest
- 第五步:调用销售邦
clickToDial- 销售邦先呼叫员工绑定手机号
- 员工接听后再呼叫客户
- 返回唯一
callId
- 第六步:写临时通话记录
- 表:
crm_call_to_log type='销售邦'sesssion_id=callIdtem_data保存业务类型和正式入库所需字段
- 表:
七、销售邦回调处理
- 中间状态
CallingCallerCallingCalleeConnected- 只记录回调日志,不正式入库
- 最终状态
- 仅处理
Disconnected - 必须存在录音地址
recordingId - 必须满足
callDuration > 0
- 仅处理
- Redis 重复推送保护
- 仅对有效最终回调去重
- Redis 键:
salesbang:callback:disconnected:{callId} - 使用原子
add抢占处理资格 - 有效期:24 小时
- 重复推送直接返回
OK - 临时记录不存在时释放去重键
- 数据库处理异常时释放去重键
- 释放后允许销售邦继续重试,避免漏单
- 中间状态
八、正式通话记录
- 电话本、意向客户、高端意向客户、临时通话
- 正式表:
crm_ryzn_calls service_providers_type=5session_id=callId- 保存主叫、被叫、时长、挂断原因和远程录音地址
- 正式表:
- 记账户
- 正式表:
crm_booking_callback_calls service_providers_type=5session_id=callIdcall_duration保存毫秒duration保存秒- 同步更新
crm_service_bookkeeping.last_call_time
- 正式表:
- 临时记录完成标记
- 正式入库成功后更新
crm_call_to_log.status=1
- 正式入库成功后更新
- 电话本、意向客户、高端意向客户、临时通话
九、跟进记录与录音关联
- 意向客户和高端意向客户
- 新增
crm_customer_follow follow_source=1
- 新增
- 记账户
- 新增
crm_customer_follow follow_source=2- 关联
bka_id和bka_group_name
- 新增
- 录音
- 远程录音地址写入
crm_files_storage - 不下载第三方录音文件
- 远程录音地址写入
- 客户动态
- 通过
TrackRecord写入电话跟进动态
- 通过
- 意向客户和高端意向客户
十、40秒过程量
- 统一条件
- 有效录音回调
- 通话时长达到 40 秒
- 员工与号码当天只计一次
- 使用
BanzhuFun::checkUserPhoneDailyAdd去重
- 电话本和临时通话
- 会计岗位增加
crm_accounting_amount_day.tonghua_new_source - 其他岗位增加
crm_sale_info_day.tonghua
- 会计岗位增加
- 记账户
- 仅会计岗位增加
crm_accounting_amount_day.tonghua_follow - 非会计岗位允许拨打,但不增加记账户回访过程量
- 仅会计岗位增加
- 统一条件
十一、电话标记与上次拨打时间
- 电话标记
- 仅电话本允许查看和修改
- 其他业务模块不展示电话标记操作
- 上次拨打时间
- 多号码一次批量请求
- 每个号码分别使用 Redis 缓存
- 缓存时间:60 秒
- 电话标记服务请求失败时静默忽略
- 没有时间时显示“无”
- 电话标记
十二、日志与排查
- 通话状态回调日志
- 通道:
salesbang_callback - 目录:
storage/logs/salesbang/ - 按天生成
- 保留 30 天
- 通道:
- AI 意向回调日志
- 目录:
storage/logs/salesbang/ai-intent/ - 当前只保存原始回调内容
- 目录:
- 常见排查顺序
- 检查城市是否开启
- 检查人员是否在职且绑定手机号
- 检查 App 或业务系统是否处于销售邦模式
- 检查销售邦接口是否返回
callId - 检查
crm_call_to_log是否生成临时记录 - 检查回调日志是否收到有效
Disconnected - 检查录音地址和通话时长是否有效
- 检查 Redis 是否判定为重复回调
- 检查正式通话表、跟进表和过程量表是否写入
- 通话状态回调日志
作者:wangxuqian 创建时间:2026-08-14 14:15
最后编辑:wangxuqian 更新时间:2026-08-14 16:46
最后编辑:wangxuqian 更新时间:2026-08-14 16:46