[英]How to pass procesing a call from Twilio functions back to Twilio Studio flow?
我正在嘗試將我的工作室流程的某些部分遷移到Twilio Functions
,但不是全部,但是當我嘗試重定向回工作室流程時,Twilio 死於錯誤 400 或掛斷電話。
我正在試驗以下代碼:
exports.handler = function(context, event, callback) {
let twiml = new Twilio.twiml.VoiceResponse();
//twiml.doWhatINeed();
twiml.redirect('https://webhooks.twilio.com/v1/Accounts/AC.../Flows/FW...?FlowEvent=success');
callback(null, twiml);
};
我希望它能在成功分支上繼續工作室流程,但電話被掛斷了。 我也嘗試過省略FlowEvent
,但也好不到哪兒去。
當我輸入無效的FlowEvent
(如helicopter
)時,我會收到錯誤 400。
你們知道我錯過了什么嗎?
在這里添加另一個答案,因為其他兩個似乎不正確(不再?)。
為了在調用函數后返回到活動流,您必須使用TwiML Redirect 小部件而不是運行函數小部件,並且您必須在完成后重定向回 Studio 時將?FlowEvent=return
附加到您的流 webhook URL外部邏輯。 有關詳細信息,請參閱鏈接的文檔頁面。
在重定向之前,您可以根據需要進行多輪 TwiML,因為 Studio 流會一直掛起調用(以及該調用在流中的位置)直到調用結束,即使它不再直接控制它也是如此。
要使用 TwiML Redirect 小部件而不是 Run Function,您需要做的就是手動獲取函數 URL 並自行配置,而不是讓 Run Function 小部件為您生成它。 您可以通過使用液體變量將參數作為 URI 參數在 URL 字符串中進行編碼,然后使用 GET 方法而不是 POST 方法將參數傳遞給您的函數。
它看起來很古怪,但該頁面讓您使用附加到“運行功能”小部件的成功轉換的虛擬“播放/說”小部件,並使用“FlowEvent=audioComplete”繼續您的流程。
邁克所說的對我有用,只需確保在 Twilio Studio 上調用函數后連接一個“播放/說”並將其配置為“說一條消息”並將“要說的文本”留空。
在功能方面只需使用:
twiml.redirect('https://webhooks.twilio.com/v1/Accounts/AC.../Flows/FW...?FlowEvent=audioComplete');
我仍然沒有將變量用作 URL 參數方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.