2017-07-29 26 views
1

當前使用Twilio TaskRouter構建電話呼叫中心來路由呼叫。任務/預約超時後將Twilio任務重定向到新的TwiML

我的目標是:

  1. 當任務保持一定時間待定(即:無工可預訂),重定向到語音郵件
  2. 當任務被保留,但工人沒有響應它,重定向到語音郵件

我目前的執行情況是:

  1. 同時指定任務超時和預約超時
  2. 當觸發任務超時/預約超時回調時,查詢Redirect Instruction預留api將其重定向到錄製語音信箱的TwiML。

但問題是:

  1. 當一個任務是在pending狀態,沒有預約被創建,使我不能訪問預約執行重定向
  2. 保留時超時,試圖執行重定向將收到來自Twilio的執行說,保留不再可用於重定向

回答

2

Twilio開發人員傳道這裏。

這裏有兩個問題,就像你在最後說的那樣。您要麼嘗試移動不存在的預留,要麼重定向不可用於重定向的預留。

我認爲你可以通過改用工作流程來實現你的目標。

首先,考慮事物的任務方面。你給任務一個超時。當它超時時,任務的正常行爲是移動到它在工作流中匹配的下一個隊列。

我建議設置一個最終隊列,其中有一個永久可用的工作對象(但不是真人)。當您爲該隊列中的任務預留回撥指定回叫時,可以使用redirect assignment將呼叫發送到某個TwiML,該TwiML返回<Record>以接收消息。您的TwiML應用程序也可以調用REST API來接受預訂。

適用於永遠不會從初始隊列分配給工作人員的任務。對於事物的預留超時方面,請考慮這一點。

當預約超時時,任務會再次返回原來的隊列進行分配。該任務仍處於我們之前爲其定義的相同原始超時之下,因此當任務本身超時時,最終會移至我們的語音郵件隊列。這對於來電者具有相同的效果,因爲他們不知道什麼時候預約被分配,因爲他們只是在等待他們所在隊列中的音樂。

這是否有意義呢?

+0

嗨philnash,謝謝你的解決方案。只是一個問題:如何創建一個「永久可用的工作人員」?一旦創建預約,工作人員就變爲「預留」(如果預約未被自動接受)或「忙碌」(如果預約被自動接受)。我應該如何使其恢復到可用狀態,以便「他」處理新的預訂?謝謝 – Marconline

+0

您可以嘗試使用[多任務工作者](https://www.twilio.com/docs/api/taskrouter/multitasking),該工具一次可以接受多個預留。此外,您可以使用REST API將[工作者的狀態恢復爲可用狀態](https://www.twilio.com/docs/api/taskrouter/workers#code-update-a-worker)。 – philnash

+0

嘿@philnash,這就是我所做的。我使用Event端點進行了檢查,並且一旦創建了預留,我就將Worker狀態更新爲Idle。這是正確的方法嗎?謝謝,Marco – Marconline