1回の通話で複数のKynetxアプリ(ルールセット)を使用できるようにしたい。最初のアプリが電話メニューであり、2番目のアプリがメニューオプションの機能を提供するとします。あるものから別のものにリダイレクトするにはどうすればよいですか?
1 に答える
twilio:redirect()またはtwill:gather_start()アクションを使用する場合、指定するURLは相対URLです。
Kynetxが提供するすべてのtwilioWebhookには、次の完全なURLがあります。http://webhooks.kynetxapps.net/t/appid/eventname
これに関連するURLを渡すと、これに関連して解決されます。例:
http://webhooks.kynetxapps.net/t/myappid/callstart
アクションのベースURLを使用すると、次のtwilio:redirect("sayhello")
ように解決されます。http://webhooks.kynetxapps.net/t/myappid/sayhello
これにより、同じアプリケーションに新しいイベントが送信されます。
アプリを切り替える場合は、新しいアプリIDを含む完全なURLを指定するか、次のような相対URLを使用できます。
ベースURLhttp://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()
、このルールは最初のアプリにリダイレクトできます。