首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Twilio/TwiML上的交互式语音菜单

Twilio/TwiML上的交互式语音菜单
EN

Stack Overflow用户
提问于 2018-02-21 04:25:50
回答 1查看 518关注 0票数 1

我需要一个与TwiML一起的交互式菜单,并有一些关于它的问题:

  1. 我可以完全在TwiML中完成吗?还是需要安装一个带有表单处理的服务器端?
  2. 我需要基本上接一个电话,问用户几个选项( yada yada按1,blah按2),并根据响应需要拨打一个或另一个号码。有点像交互式交换机

上面有可能吗?关于我该怎么做有什么指示吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-22 06:26:12

两位开发人员在这里传道。

您不能生成带有静态TwiML的交互式菜单,您需要能够对所做的选择作出反应并需要服务器端组件的东西。

谢天谢地,你在这里有一些选择。

正如亚历克斯在评论中指出的那样,吐里奥演播室是Twilio的可视化构建器,它允许您创建这样的流,并将服务器端组件留给Twilio。有一个视频教程指南,它向您展示了如何使用Studio构建IVR。

另一方面,如果您乐于编写代码来创建这类东西,但您不愿意托管它,那么Twilio函数可能就是您所要寻找的。Twilio函数是一个运行代码的无服务器环境。您可以使用TwiML Bin编写初始TwiML,因为它可以是静态TwiML,如下所示,它使用收集用户输入:

代码语言:javascript
复制
<Response>
  <Gather action="FUNCTION_URL" numDigits="1">
    <Say>Welcome to my menu, please press 1 for sales or 2 for support</Say>
  </Gather>
</Response>

然后,在函数中,您需要编写一些Node.js来响应传入的参数,一旦用户输入这些参数,将发送给action URL。您可以使用一个类似于以下内容的函数对此做出响应:

代码语言:javascript
复制
exports.handler = function(context, event, callback) {
  const twiml = new Twilio.twiml.VoiceResponse();
  if (event.Digits === '1') {
    twiml.dial(SALES_NUMBER);
  } else if (event.Digits === '2') {
    twiml.dial(SUPPORT_NUMBER);
  } else {
    const gather = twiml.gather({ action: 'FUNCTION_URL', numDigits: '1' })
    gather.say('That was not an option, please dial 1 for sales and 2 for support')
  }
  callback(null, twiml);
}

在中也有一个更深入的指南。

如果这有帮助的话请告诉我。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48898162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档