Skip to content

Latest commit

 

History

History
93 lines (60 loc) · 3.82 KB

chart.md

File metadata and controls

93 lines (60 loc) · 3.82 KB

[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需同步到CR数据库

这种操作类型,最典型的就是新增坐席,在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数据库:循环完成,更新任务结果