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);
};
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);
};