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