首页
学习
活动
专区
圈层
工具
发布

呼叫中心中间件API接口开发,快速对接业务系统实操

做呼叫中心项目,很大一部分工作量,都集中在业务系统和CTI中间件的对接开发。

很多初次接触呼叫中心中间件的开发人员,上手会觉得无从下手:要处理呼入、外呼、坐席状态、通话事件回调、录音获取一大堆接口,还有各种异常通话场景,如果对业务理解不到位,上线后就会出现弹屏不及时、通话记录丢失、状态错乱等问题。

本文就从开发实操角度,聊聊业务系统对接呼叫中心中间件API,完整的开发流程、重点接口、以及容易踩坑的细节。

一、对接前先理清:两类API要分清

很多新手开发容易混淆,CTI中间件对外提供接口分为主动调用接口和事件回调接口,两者缺一不可。

1. 主动请求API:业务系统主动调用中间件

业务系统发http请求给中间件,做操作指令。

典型场景:发起外呼、坐席签入签出、挂断通话、查询通话记录、获取录音文件。这一类是业务系统主动发起。

2. 事件回调API:中间件主动推送消息给业务系统

通话发生状态变化的时候,中间件主动POST消息推送至业务系统提供的回调地址。

典型场景:来电呼入事件、坐席振铃、接通通话、挂机、坐席离线、录音完成通知。

这是最容易出错的部分。很多人只开发主动调用接口,忽略回调事件,就会出现来电弹屏延迟、通话状态同步不及时。

简单理解:主动API是“业务系统告诉中间件做什么”;回调接口是“中间件告诉业务系统发生了什么”。

二、对接开发标准实施步骤

步骤1:梳理业务场景,输出接口清单

不要拿到接口文档就直接开始写代码,先梳理项目业务场景,列出需要用到的接口。

举政务热线简单例子:

- 坐席登录系统之后,调用接口执行坐席签入;

- 用户来电,中间件推送呼入回调,业务系统做来电弹屏;

- 坐席接听、挂断,接收对应回调事件,更新工单通话状态;

- 通话结束,接收录音完成回调,下载录音文件,保存到业务系统;

- 业务系统发起外呼,调用外呼接口。

把业务场景全部梳理完成,再筛选接口,避免开发很多完全用不到的接口,减少无用工作量。

步骤2:优先跑通调试环境,不要直接在生产环境调试

正规中间件产品,都会提供独立调试环境。

优先在调试环境完成全部联调,利用接口调试工具,先手动调用接口,确认入参出参,把回调地址配置成测试接收服务,观察全部事件推送报文。

重点关注:每一通通话,都会有唯一的callId通话ID,所有接口、回调事件全部依靠callId关联一通通话,业务系统务必保存callId,用来关联工单、录音、通话记录。callId是整个对接的核心关键字段。

步骤3:正常流程开发完成,重点补全异常场景

大部分开发,只测正常通话流程,忽略异常场景,而线上故障大多来自异常。

必须覆盖这些边界场景:

1. 来电振铃,用户没有接直接挂断;

2. 通话中途网络抖动,线路异常断开;

3. 坐席异常掉线,没有正常执行签出操作;

4. 录音生成失败,接收录音回调返回异常状态;

5. 回调推送业务系统接口超时,中间件重试推送逻辑。

提示:要处理回调消息重复推送。网络波动场景,中间件会重试发送回调事件,业务系统需要做幂等处理,避免同一条通话事件在数据库重复生成多条记录。

步骤4:压力模拟测试,模拟高并发来电

功能全部跑通,不等于线上可用。

模拟多并发来电,短时间大量事件回调推送,验证业务系统接口处理能力。如果业务系统回调接口响应太慢,会造成中间件回调消息堆积,出现事件丢失。

如果业务处理耗时较长,建议回调接口收到消息立刻返回成功,业务逻辑放到后台异步队列处理,不要阻塞http回调响应。

三、开发阶段高频踩坑点总结

1. 忽略callId,业务工单无法关联通话

callId是一通通话全局唯一标识,来电、外呼、录音、回调全部携带该字段。工单存储务必保存callId,否则后续查询录音、追踪通话流程无从下手。

2. 回调接口处理逻辑阻塞,响应超时

回调接口只做消息接收落库,复杂业务逻辑异步处理。如果在回调接口里面写大量业务处理逻辑,接口响应超时,中间件会不断重试,甚至丢弃事件。

3. 录音下载时机错误

不要通话一挂断就立刻去下载录音。录音文件生成会有短暂延迟,要等待收到「录音完成」回调事件之后,再去拉取录音文件。挂断立刻下载,大概率返回文件不存在。

4. 时间格式不统一

接口和回调返回的时间戳,确认时区、时间格式,统一时间标准,避免工单通话时间错乱。

5. 内网环境网络互通问题

私有化部署场景,要注意网络策略:业务系统可以访问中间件API地址;同时中间件服务器网络,也必须可以访问业务系统的回调接口地址。很多项目两边网络不通,回调消息完全推送不到业务系统。

四、iSoftCall的开发友好特性,降低对接成本

iSoftCall呼叫中心中间件提供标准化HTTP API,配套完整在线接口文档、调试工具,降低集成商开发工作量。

完整的事件回调体系,所有通话状态变化都有对应事件推送;

统一callId全局通话标识,打通呼叫、坐席、录音全流程;

支持回调重试机制,同时支持回调消息幂等标识;

国产化环境接口行为和x86环境保持一致,信创改造不用修改对接代码。

CTI中间件和业务系统对接,技术难度并不高,但细节繁多。开发的核心不是调用通几个接口,而是完整覆盖正常和异常通话场景,保证通话状态、录音、工单数据准确可靠。理清主动调用接口与事件回调的分工,做好异常与并发处理,就能高效完成整套系统对接。

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OqPi8mb_UVf6ucIrFFr4gWag0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。
领券