[TOC]
在CM界面更改呼叫中心配置时,很多情况下都需要同步到CR。因此要求CR对CM提供接口,CM只有在确认CR更改配置成功后,才能最终确认配置已经成功。
sequenceDiagram
浏览器->>CM后台:修改配置请求
CM后台->>CM后台:解析请求
CM后台->>CR后台:发出修改请求
CR后台->>CM后台:返回执行结果
CM后台->>CM后台:执行最后处理
CM后台->>浏览器:返回执行结果
图 1 CM <—> CR通用操作同步流程
在CM Web界面修改某单项配置或批量修改配置时,均需要等待执行结果并进行相应提示后,才能进行下一步操作。不同的配置操作,不同的配置项,CM后端的具体执行流程可能会有不同。本节针对不同场景总结如下。
新增操作包括:新增坐席,新增技能组,IVR流程,新增外呼任务,新增话机,新增黑白名单,等等。这些新增操作,因对数据库id的同步要求不同,而有不同的操作流程。
这种操作类型,最典型的就是新增坐席,在CM入库后,得到的自增长id就是坐席的uid,该uid需要同步到CR数据库,因此,其操作流程如下所示:
sequenceDiagram
浏览器->>CM后台:新增坐席请求
CM后台->>CM后台:解析请求写入数据库,获取自增id
CM后台->>CR后台:发出新增坐席请求
CR后台->>CM后台:返回执行成功结果
CM后台->>浏览器:返回成功
图 2 新增坐席同步成功流程示意图
sequenceDiagram
浏览器->>CM后台:新增坐席请求
CM后台->>CM后台:解析请求写入数据库,获取自增id
CM后台->>CR后台:发出新增坐席请求
CR后台->>CM后台:返回执行失败结果
CM后台->>CM后台:从数据库删除新增坐席
CM后台->>浏览器:返回失败
图 3 新增坐席同步失败流程示意图
批量导入数据,如坐席的批量导入,技能组的批量导入,黑白名单的批量导入,批量外呼客户名单的批量导入,等等,都是先生成批量导入任务,然后由后台的批量导入导出任务模块进行处理的。批量导入流程和新增操作流程一样,也需要根据是否同步id确定操作顺序,下面以坐席导入,技能组导入和其它操作为例进行说明。
注:CR-Web提供的批量导入接口,可以参考批量更新/删除接口,允许返回每条数据的执行结果。
sequenceDiagram
浏览器->>CM后台:批量导入坐席请求
CM后台->>CM数据库:建立坐席批量导入任务
CM后台->>CM批量导入导出模块:新建坐席导入任务通知
CM后台->>浏览器:返回成功
CM批量导入导出模块->>CM数据库:读出坐席批量导入任务
CM批量导入导出模块->>CM批量导入导出模块:循环分配读出数据,剔除无效数据写入错误结果文件
CM批量导入导出模块->>CM数据库:有效数据写入数据库,获取所有坐席uid
CM批量导入导出模块->>CR后台:有效数据打包发给CR
CR后台->>CM批量导入导出模块:返回批量执行结果
CM批量导入导出模块->>CM数据库:删除执行失败数据,更新任务进度
CM批量导入导出模块->>CM批量导入导出模块:失败数据写入错误结果文件
浏览器->>CM后台:获取任务状态请求
CM后台->>CM数据库:从数据库读取任务状态
CM后台->>浏览器:返回任务结果
CM批量导入导出模块->>CM数据库:循环完成,更新任务结果