簡體   English   中英

如何將處理來自 Twilio 函數的調用傳遞回 Twilio Studio 流程?

[英]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 方法將參數傳遞給您的函數。

查看https://support.twilio.com/hc/en-us/articles/360019580493-Using-Twilio-Functions-to-Enhance-Studio-Voice-Calls-with-Custom-TwiML上的頁面。

它看起來很古怪,但該頁面讓您使用附加到“運行功能”小部件的成功轉換的虛擬“播放/說”小部件,並使用“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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM