IVR基础命令指南
1. 示例说明
- (1) 用户通过呼入云通讯平台IVR接入号或者通过rest IVR外呼接口呼叫用户;
- (2) 用户呼入成功或者接听后根据提示音进行按键;
- (3)用户按键完成后播放放音提示:谢谢您的配置,再见!
- (4)用户按键超时后放音提示用户,放音完成后继续2的流程提示用户按键,如果用户再次按键超时后提示用户:您的按键操作超时,谢谢您的接听,再见!放音完成后挂机。
2. 业务流程图
3. 开发指南
(1) 通过外呼或者呼入的方式发起呼叫:
- a 调用IVR外呼接口发起rest请求(接口如下)
- b 呼入接入号(测试阶段可以直接拨打01083035690进行调试,如果正式使用需要联系售前同事绑定接入号)
(2) 呼叫成功云通讯平台会向客户创建应用时填写的ivr通知地址发送通知消息
(3) 第三方服务器获取到通知消息响应按键放音,响应包体:
- <Response>
- <Get action='dtmfreport' numdigits='1' timeout='20'>
- <Play loop='-1'>menu.wav</Play>
- </Get>
- <Play>timeout.wav</Play>
- <Redirect>gettimeout</Redirect></Response>
- 说明:主命令为按键命令并且嵌套menu.wav的放音提示,在收到用户按键1就回调通知到dtmfreport的地址,如果用户没有按键就会20秒超时后执行副命令,播放timeout.wav的提示放音后跳转通知。
(4) 若用户按键超时播放timeout.wav语音,语音播放完或按键打断后业务流程重定向到Redirect指向的URL,重新执行按键放音的操作。
(5) 获取到通知消息继续2的流程提示用户按键,响应包体:
- <Response>
- <Get action='dtmfreport' numdigits='1' timeout='20'>
- <Play loop='-1'>menu.wav</Play>
- </Get>
- <Play>timeoutbye.wav</Play>
- <Hangup/></Response>
- 说明:主命令为按键命令并且嵌套menu.wav的放音提示,在用户按键一个就回调通知到dtmfreport的地址,如果用户没有按键就会20秒超时后执行副命令,播放timeoutbye.wav的提示放音后挂机。
(6) 用户按键完成向第三方服务器发送按键上报的通知
(7) 第三方服务器获取到用户按键响应bye.wav放音,响应包体:
- <Response>
- <Play>bye.wav</Play>
- <Hangup/></Response>
- 说明:主命令为播放bye.wav的放音提示,在放音完成后执行副命令挂机。
(8) 放音完成后挂机向第三方服务器发送挂机通知
(9)挂机后响应空命令即可,响应包体:
- <Response>
- <CmdNone/></Response>
- 说明:主命令为空命令,因为结束业务了不需要返回其他的IVR命令。
4. 参考文档
(1) rest IVR外呼接口文档
(2) IVR基础命令接口文档
(3) IVR基础通知消息接口文档