Когда вы используете действие twilio: redirect () или twill: collect_start (), указанный вами URL является относительным URL.
Все twilio webhooks, предоставленные Kynetx , имеют полный 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
Это отправит новое событие в то же приложение.
Если вы хотите переключать приложения, вы можете указать полный URL-адрес, включая новый appid, или использовать относительный 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()
, это правило может перенаправить обратно в первое приложение.