如何在Twilio的单个电话中使用多个Kynetx应用程序?

问题描述:

我希望能够在一个电话中使用多个Kynetx应用程序(规则集)。假设第一个应用程序是一个电话菜单,第二个应用程序提供了菜单选项的功能。我如何从一个重定向到另一个?如何在Twilio的单个电话中使用多个Kynetx应用程序?

当您使用twilio:redirect()或twill:gather_start()动作时,您提供的网址是相对URL。

所有twilio webhooks provided by Kynetxhttp://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(),这个规则可以重定向回第一个应用程序。

+0

喜欢完整的规则集示例! – 2010-11-29 22:04:38