我希望能够在一个电话中使用多个Kynetx应用程序(规则集).假设第一个应用程序是电话菜单,第二个应用程序提供菜单选项的功能.如何从一个重定向到另一个?
当您使用 twilio:redirect() 或 twill:gather_start() 操作时,您提供的 url 是相对 URL。
\n\nKynetx 提供的所有twilio webhooks的完整 URL 为http://webhooks.kynetxapps.net/t/appid/eventname
如果您传入与此相关的 URL,它将相对于此进行解析。例子:
\n\nhttp://webhooks.kynetxapps.net/t/myappid/callstart使用操作的基本 URLtwilio:redirect("sayhello")将解析为http://webhooks.kynetxapps.net/t/myappid/sayhello
这会将新事件发送到同一应用程序。
\n\n如果您想切换应用程序,您可以提供完整的 URL(包括新的 appid),也可以使用如下所示的相对 URL:
\n\n使用基本 URL:http://webhooks.kynetxapps.net/t/myappid/callstart该操作twilio:redirect("../newappid/sayhello")解析为:http://webhooks.kynetxapps.net/t/newappid/sayhello
这是一个示例应用程序,它使用不同的应用程序进行菜单选择。
\n\nruleset firstappid {\n\xc2\xa0\xc2\xa0meta {\n\xc2\xa0 \xc2\xa0\xc2\xa0name "Phone Menu App"\n\xc2\xa0 \xc2\xa0\xc2\xa0description <<\n\xc2\xa0 \xc2\xa0 \xc2\xa0\xc2\xa0Provides the Phone Menu\n\xc2\xa0 \xc2\xa0\xc2\xa0>>\n\xc2\xa0 \xc2\xa0\xc2\xa0author "Sam Curren"\n\xc2\xa0 \xc2\xa0\xc2\xa0logging off\n\xc2\xa0\xc2\xa0}\n\xc2\xa0\xc2\xa0dispatch {}\n\xc2\xa0\xc2\xa0global {}\n\n\xc2\xa0\xc2\xa0rule menu {\n\xc2\xa0 \xc2\xa0\xc2\xa0select when twilio givemenu\n\xc2\xa0 \xc2\xa0\xc2\xa0{\n\xc2\xa0 \xc2\xa0 \xc2\xa0\xc2\xa0twill:gather_start("../secondappid/menuchoice") with numDigits = 1;\n\xc2\xa0 \xc2\xa0 \xc2\xa0 \xc2\xa0\xc2\xa0twilio:say("Press 1 to speak do whatever.");\n\xc2\xa0 \xc2\xa0 \xc2\xa0\xc2\xa0twilio:gather_stop();\n\xc2\xa0 \xc2\xa0\xc2\xa0}\n\xc2\xa0\xc2\xa0}\n\xc2\xa0 \xc2\xa0 \xc2\xa0\xc2\xa0\n}\nRun Code Online (Sandbox Code Playgroud)\n\n以及接收菜单选项的应用程序。
\n\nruleset secondappid {\n\xc2\xa0\xc2\xa0meta {\n\xc2\xa0 \xc2\xa0\xc2\xa0name "Phone Menu Option"\n\xc2\xa0 \xc2\xa0\xc2\xa0description <<\n\xc2\xa0 \xc2\xa0 \xc2\xa0\xc2\xa0Provides the menu functionality\n\xc2\xa0 \xc2\xa0\xc2\xa0>>\n\xc2\xa0 \xc2\xa0\xc2\xa0author "Sam Curren"\n\xc2\xa0 \xc2\xa0\xc2\xa0logging off\n\xc2\xa0\xc2\xa0}\n\xc2\xa0\xc2\xa0dispatch {}\n\xc2\xa0\xc2\xa0global {}\n\n\xc2\xa0\xc2\xa0rule speak {\n\xc2\xa0 \xc2\xa0\xc2\xa0select when twilio menuchoice Digits "1"\n\xc2\xa0 \xc2\xa0\xc2\xa0{\n\xc2\xa0 \xc2\xa0 \xc2\xa0\xc2\xa0twilio:say("This is what you get when you press 1.");\n\xc2\xa0 \xc2\xa0 \xc2\xa0\xc2\xa0twilio:hangup();\n\xc2\xa0 \xc2\xa0\xc2\xa0}\n\xc2\xa0\xc2\xa0}\n}\nRun Code Online (Sandbox Code Playgroud)\n\n通过使用操作twilio:redirect(\'../firstappid/givemenu\')而不是twilio:hangup(),此规则可以重定向回第一个应用程序。