🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 获取外呼数据 >[info] **功能说明** > 座席登录成功后,系统检测到有空闲座席,则会向甲方的API接口请求外呼的数据,获取到数据后,系统自动拨打电话,当被叫(客户)接听后,系统自动给接听的座席弹屏显示被叫(客户)信息。 >[warning] **提示** > 1:API接口次返回一条外呼信息。 > 2:系统请求外呼数据的速度很快,比如有5个空闲座席,而接通率为10%,系统通过计算需要获取50个座席才能满足座席全员接听电话,系统则会连续获取50条外呼数据,所以API接口需要具备高并发。 >3:CTI系统获取外呼数据后,并不会缓存,会立刻呼叫,如果客户接听并转接给座席后,座席会弹屏,而弹屏页面是甲方的系统页面,所以甲方是知道那些电话是接通了的。而外呼基本上在60秒客户不接听,运营商则会放弃拨打(如语音提示:您拨打的电话暂时无人接听),所以甲方可以根据从获取数据的时间开始计算,如果180秒还没有弹屏,那么这个电话外呼失败了。甲方根据外呼的结果做一些外呼策略,如在催收场景中,同一个案件有50个电话,第一个为本人号码,其他依次为关系人号码,API可以优先返回本人号码,如果本人号码外呼失败,再按规则返回其他关系人的号码。 > 4:API还需要有一些其他逻辑,如上班时间返回数据,下班时间不要返回数据,防止在下班时间系统还继续外呼(系统只有有座席在线并且处于空闲状态才会请求外呼数据,但是座席有可能会在下班后忘记关闭电脑并且忘记签出系统)。 * **请求地址** ``` 甲方提供获取数据的API接口 ``` * **请求参数** | 参数 | 是否必选 | 类型 | 描述 | | --- | --- | --- | --- | | groupNum | 是 | string | 座席的队列编号或者队列名称,即在“座席登录”接口中返回groupNum参数的值(“座席登录”API可能会返回一个座席属于多个组,但这里只请求其中一个) | * **响应参数** | 参数 | 是否必选 | 类型 | 描述 | | --- | --- | --- | --- | | code | 是 | int | 200/非200。 | | status | 是 | string | success/failed,如果有外呼的数据吗,返回success,如果没有可用的外呼数据,返回failed。 | | data | 是 | json | 本条数据信息 | | data.phone | 是 | string | 被叫号码。 | | data.trunkName | 否 | string | 出局中继名称,也就是使用哪条外线路拨打电话,如果没有该参数,则会从后台配置规则中选择中继线路。 | | data.hide | 否 | string | 是否对座席隐藏被叫号码,y隐藏,n不隐藏,默认为n。 | | data.callbackDomain | 否 | string | 回调地址,http或https开头的完整url地址,通话结束后,系统会将本次通话结果,包括data数据,以post的方式提交到该地址,注意,只有外呼失败才会回调,外呼成功座席会弹屏,座席弹屏则可以作为外呼成功的回调。 | | data.data | 否 | string | json字符串格式,本次通话的客户数据,如客户ID,案件ID等等,在通话完毕回调时会原样回调,自动外呼建议带上该参数,因为在给座席弹屏的时候,弹屏的url中会带上data中的数据,业务系统可以根据如客户ID,案件ID等信息弹屏。 | | logFileName | 否 | string | 话单日志文件名,通话结束后,服务器可以将话单记录为日志文件,开发人员可以去消费日志进行统计分析。 | * **响应示例** ``` { "status": "success", "phone": "13590688803", "msg": "", "callbackDomain": "http://www.baidu.com", "data": { "CID": "260997", "UID": "153769" ...... ...... } } ```