IVR语音交互接口

自动外呼放音

使用场景

用于向指定的客户电话号码发起呼叫,播放指定的语音和数字验证码。能够识别出空号,关机,过期,忙等号码(支持,E1数字线路,网络电话,手机卡的外呼通道能甄别,普通电话线需开启反极性)。语音播放完毕后既可以转坐席分机通话,也可以直接挂机。

实现流程

呼叫流程如图1-1所示,

接口描述

外呼接口完整URL:

http://x.x.x.x:12121/bridge/callctrl?id=1&precallcount=1&playtimes=1&extnum=801&callee=1322784XXXX&toneid=19&code=112233&pwd=13deae128093437a57dd2caeb0328d40&opt=CLICK_TO_IP_CAPTCHA
字段名字段含义描述
id全局唯一字符串调用方需要初始化一个值,作为播放结果查询接口的查询条件,以便获取播放结果
precallcount预呼叫个数当所有坐席都忙碌时,可以继续预呼叫指定数量的电话号码。如果将数量设置为0,则不会进行预呼叫。
playtimes语音播放次数指定的语音循环播放次数
extnum放音完毕转分机或分组号码可选,如果不填写则放音完毕挂机。
callee被叫号码
toneid播放的语音编号可先通过呼叫中心后台“语音文件管理”上传语音文件,然后获取对应的“编号”
支持的语音文件格式为,音质:u-Law, 8000Hz, 64kbps, mono。随发的光盘中有语音格式转换工具
voicefile播放的服务器语音文件绝对路径文件格式要求,wav 音质:u-Law, 8000Hz, 64kbps, mono
Mp3 也支持
code注册验证码,需纯数字可选参数,可不填写不影响正常放音。
pwd验证密码用pwd+callee+code+当前日期(格式如:2015-03-16),然后进行MD5
如果不用密码请填写no
optCLICK_TO_IP_CAPTCHA
CLICK_TO_FIXEDLINE_CAPTCHA
CLICK_TO_IP_CAPTCHA:用网络电话外呼放音
CLICK_TO_FIXEDLINE_CAPTCHA:用固定电话外呼放音,固定电话放音时如果线路没有反极性,系统会自动添加一个循环播放的较短的引导语音(可配置),例如:这一条语音通知,请按任意键接听,对方按键后才会播放正式语音。如果开通了反极性侧不存在上述引导语音。
x.x.x.x:12121服务器IP通讯地址12121默认端口,如果手动修改过端口号请使用修改后的端口

Http请求响应码解释:

  • 200: 成功
  • 401: 密码错误
  • 421: 需付费开通
  • 503: 系统错误
  • 420: 参数错误
  • 486: 后台忙,稍后再试

呼叫结果查询URL:请在调用呼叫接口后,每隔5秒查询一次,获取对应的结果

http://x.x.x.x/bridge/callctrl?id=xxx&opt=GET_CAPTCHA_RESULT
  • 0: 正在排队等待呼叫
  • 1: 呼叫成功
  • 2:呼叫失败
  • 3: 空号
  • 4: 正在呼叫中
  • 5: 对方忙
  • 6: 关机,不在服务区
  • 404: id不存在

注意:如果需要指定外呼的使用的网络电话账号,则可以进入呼叫中心配置管理后台。把账号填写到“网络电话设置”的“批量外呼通道”中,多账号可用逗号隔开。

来电后由第三方系统指定接听分机或分组

使用场景

当客户来电后,先向第三方对接服务器发送一个请求,第三方服务器给出一个纯数字的响应,系统根据响应呼叫响应分机。

配置方式

接口描述

由呼叫中心发起的请求URL:

http://x.x.x.x/servlet?caller=132XXXXXXXX

第三方系统响应: 分机号码,或者分组号码

字段名字段含义描述
caller主叫号码该参数需要结合来电弹屏接口获取
http://x.x.x.x/servlet对接服务器接收请求的URL地址可根据实际情况配置

来电通话中转IVR语音菜单接口

使用场景

客户来电接通后,坐席可把来电重新转到总机菜单,转给自助查询语音菜单,转给其他预定义的语音菜单逻辑等。客户收听后可重新转回话务员,也可一个在按键交互后转给其他话务员。

实现流程

接口描述

外呼接口完整URL:

http://x.x.x.x:12121/bridge/callctrl?caller=1351568xxxx&callee=802&ivrid=3&biz_data=abcd&opt=TALKING_CALLER_TO_IVR
字段名字段含义描述
caller主叫号码该参数需要结合来电弹屏接口获取
callee分机号码
ivrid需播放的IVR菜单编号需提前用图形化工具在呼叫中心配置好
queue_priority排队优先级整数型N, 排到等待了N*30秒人的前面
biz_data业务数据可选,是一段经过URL编码的json格式数,该数据会通过websocket弹屏推送端口推送给话务员关联的网页。不超过1500个字符.该变量CTi不会解码不会解析仅用于弹屏转发
optTALKING_CALLER_TO_IVR默认不要修改
x.x.x.x:12121服务器IP通讯地址12121默认端口,如果手动修改过端口号请使用修改后的端口

Http请求响应码解释:

  • 200: 转话成功
  • 404: 主被相关的通话不存在或者语音菜单编号不存在
  • 483: 两个号码,找到多个通话,系统无法准确定位具体是哪个通话,拒绝执行。

IVR语音自助查询交互接口

使用场景

电话IVR交互开放接口用于支持呼叫中心与用第三方系统的对接。让没有IVR语音交互能力的第三方系统也能通过电话与客户交互。典型应用场景为:电话下单,电话防伪验证,优惠卡消费,电话自助查询等 注:由国信先行根据您的需求写出电话语音交互流程配置文件,文件格式是XML的,协助对接调试成功,后续客户可自行开发和维护。

使用助手快速对接配置

参考上图,名称为“输入账号确认”节点,调用对接URL携带客户按键信息,接口返回一段文本即可实现播放。实时文本转语音会耗费几秒时间。 参考上图,对接查询节点,若不接受输入直接提交查询,请不要上传语音,并且把按键长度调整为0即可。否则运行到当前节点会报:操作超时。

URL携带的参数说明:

http://127.0.0.1:12121/Oms/StateHttpTestServlet?in1=9&opt=kuaidi&caller=808&callee=1000&id=63c972e1-72d2-4049-851f-621351540ecc@127.0.0.1:508
参数名称说明
http://x.x.x.x/cti接收查询的服务器URL
in1=9按键透传参考上面截图说明
opt=kuaidiURL静态配置参数对呼叫中心自身无意义,此处仅仅进行透传给对接系统。
caller客户来电号码
callee路由的号码一般为1000,总机号码
id来电唯一标识

注意1:URL的响应消息需要使用UTF-8格式返回纯文本信息(不要携带HTML标签)。 注意2:响应的Content-type必须携带charset=UTF-8参数。 例如:response.setHeader("Content-type", "text/html;charset=UTF-8");

播放多层语音,收集按键,转坐席,支持文本转语音

使用场景

对接的系统需要向客户发起一个呼叫,播放语音,与客户进行IVR交互。例如:自动满意度调查,自动外呼放音后,按键转坐席等,都可以调用此接口实现。 该接口还支持TTS文本转语音后融入IVR播放给客户,需要在服务器安装TTS文本转语音引擎(单次收费服务)。 外呼线路需具有反极性,能够在客户接听时有消息通知系统。如果使用的是普通的无反极性的PSTN线路,那么系统会反复播放一段短提示音(可配置),客户按键后,才会播放正式的IVR语音。

实现流程

使用助手创建一个IVR语音菜单,TTS参数,对应下面URL中的ttsabc参数 上图收集客户输入的地方填写变量名称,客户的全程按键都可以被保存起来 例如:state=1;satisfact=8

接口描述

完整URL:

http://x.x.x.x:12121/bridge/callctrl?token=0123456789&extnum=801&callee=0159XXXXXXXX&toneid=20&**ttsabc**=你好世界!&opt=IVR_TTS_CALL
字段名字段含义描述
token字符串用于标记当前的任务,可在后续调用查询接口查询当前任务的状态和结果。建议设置为全局唯一的值。
extnum分机号码(可选)如果分机管理中指定了外呼线路,接口外呼会选择这个通道外呼,否则会立刻失败。分机必须绑定分组如:3000,不能直接绑定FXO号码,如:2001
callee字符串系统将要呼叫的电话号码
toneidIVR编号在助手或者呼叫中心后台配置的IVR编号
ttsXXXtts开头的变量(可选)用于匹配IVR中的TTS变量,用于把文本转语音后,在IVR菜单中播放。
retryDelayTime整数(可选)默认:3000秒
maxTryTimes整数(可选)0: 表示不需要失败重呼叫, 2: 表示失败后再尝试呼叫2次后放弃
optIVR_TTS_CALL默认不要修改
x.x.x.x:12121呼叫中心服务器IP通讯地址12121默认端口,如果手动修改过端口号请使用修改后的端口

Http请求响应码解释:

  • 200: 操作成功,系统已经开始呼叫
  • 400:参数错误
  • 483:重复提交
  • 401: 需要密码
  • 480: 系统暂时不可用,稍后再试。
  • 503: 没有可用的外呼通道

呼叫结果查询URL:请在调用呼叫接口后,每隔5秒查询一次,获取对应的结果

http://x.x.x.x:12121/bridge/callctrl?token=xxx&opt=IVR_TTS_CALL_RESULT

返回结果如: state=1;satisfact=8 state:

  • 0: 初始状态
  • 1: 呼叫成功
  • 2:呼叫失败
  • 3: 空号
  • 4: 正在呼叫中
  • 5: 对方忙
  • 6: 关机,不在服务区
  • 7: 振铃中
  • 8:正在放音中
  • 404: id不存在
  • satisfact:是在使用助手定义语音菜单时,录入的“收集客户输入”的值,用于记录运行期给客户放音过程中的客户按键信息。 返回结果如: state=2;waiting-recall;calltime=0 waiting-recall: 指的是失败后,等待指定间隔重新呼叫 calltime: 已经尝试呼叫的次数

放音个数,排队个数查询URL:

http://x.x.x.x:12121/bridge/callctrl?opt=IVR_TTS_CALL_MONITOR
  • 返回结果:queue=0;playcount=0
  • queue: 转坐席时排队个数,如果排队个数多,说明呼叫过快,请减少呼叫频率。
  • playcount: 并发通话,放音个数。

通话记录查询

http://x.x.x.x:12121/bridge/callctrl?opt=CALL_LOG_GET_WITH_CALLID&callid=token1234
  • callid: 填写之前调用IVR_TTS_CALL接口时传入的token
  • 返回结果:返回结果定义请参考呼叫记录查询接口
{"id":1,"caller":"1000","callee":"15875566080","beginTime":1518073081032,"duration":13,"state":"STATE_RECEIVED","callType":"LOCAL_CALL","estimate":"","callid":"1b304a1f-1196-482d-964e-212420a401c9%40192.168.1.82","question":"","record":"","recordVoice":"","dtmfkey":"","cname":"","servicetype":"默认","manustate":"","clickcallid":"0123456789","fxonum":"","ivrpoint":"","callerworknum":"","calleeworknum":"","business":"","prerecord":""}