如何在Twilio的单个电话中使用多个Kynetx应用程序?
我希望能够在一个电话中使用多个Kynetx应用程序(规则集)。假设第一个应用程序是一个电话菜单,第二个应用程序提供了菜单选项的功能。我如何从一个重定向到另一个?如何在Twilio的单个电话中使用多个Kynetx应用程序?
当您使用twilio:redirect()或twill:gather_start()动作时,您提供的网址是相对URL。
所有twilio webhooks provided by Kynetx有http://webhooks.kynetxapps.net/t/appid/eventname
如果相对于这个URL传递完整的URL,这将解决相对于这一点。例如:
随着http://webhooks.kynetxapps.net/t/myappid/callstart
基本URL动作twilio:redirect("sayhello")
将解析为http://webhooks.kynetxapps.net/t/myappid/sayhello
这将在一个新的事件发送到同一个应用程序。
如果要切换应用程序,你可以提供完整的URL,包括新的appid,或使用相对URL类似如下:
与基础网址:http://webhooks.kynetxapps.net/t/myappid/callstart
行动twilio:redirect("../newappid/sayhello")
解析为:http://webhooks.kynetxapps.net/t/newappid/sayhello
下面是一个示例应用程序,它使用不同的应用程序进行菜单选择。
ruleset firstappid {
meta {
name "Phone Menu App"
description <<
Provides the Phone Menu
>>
author "Sam Curren"
logging off
}
dispatch {}
global {}
rule menu {
select when twilio givemenu
{
twill:gather_start("../secondappid/menuchoice") with numDigits = 1;
twilio:say("Press 1 to speak do whatever.");
twilio:gather_stop();
}
}
}
而接收菜单选项的应用程序。
ruleset secondappid {
meta {
name "Phone Menu Option"
description <<
Provides the menu functionality
>>
author "Sam Curren"
logging off
}
dispatch {}
global {}
rule speak {
select when twilio menuchoice Digits "1"
{
twilio:say("This is what you get when you press 1.");
twilio:hangup();
}
}
}
使用操作的twilio:redirect('../firstappid/givemenu')
代替twilio:hangup()
,这个规则可以重定向回第一个应用程序。
喜欢完整的规则集示例! – 2010-11-29 22:04:38