Twilio - 保存 TwiML Bin 的输出以在 IVR 流程中使用

Twilio - Save Output Of TwiML Bin To Use In IVR Flow

Twilio noob - 我正在尝试为我们的 IVR 制作多语言提示,我看到了使用如下所示的类似代码保存 TwiML Bin 输出的建议,然后在 IVR 流程中引用该音频文件,但是我实际上如何 play/save bin 的输出?

<?xml version="1.0" encoding="UTF-8"?>

<Response>
    <Say voice="alice" language="en-US">For English, press 1.</Say>
    <Say voice="alice" language="es-MX">Para español, presione 2.</Say>
</Response>

我在 Twilio 中的函数模块的帮助下找到了执行此操作的方法。首先创建一个服务,并在服务中创建一个功能,布局如下所示。关键部分是使用您在 Studio 流的触发器小部件中找到的 Webhook URL 填充操作属性,并将 ?FlowEvent=return 附加到该 URL 的末尾。部署该函数后,单击函数编辑器中的“复制 URL”link,然后进入您的 Studio 流程。添加一个 TwiML Redirect 小部件并粘贴到您刚刚复制的 URL 中,然后从该点开始在流程中您可以将用户输入的数字引用为 {{widgets.[TwiMLRedirectWidgetName].Digits}}

exports.handler = function(context, event, callback) {
  let twimlResponse = new Twilio.twiml.VoiceResponse();
  let gatherValues = twimlResponse.gather({
      input: 'dtmf',
      timeout: 15,
      numDigits: 1,
      action: "[WebhookURL]?FlowEvent=return"
  });

  gatherValues.say(
  {
    voice: 'alice',
    language: 'en-US'
  }, 'For English, press 1.');

  gatherValues.say(
  {
    voice: 'alice',
    language: 'es-MX'
  }, 'Para español, presione 2.');

  return callback(null, twimlResponse);
};