Dialogflow Phone Gateway 功能可為代理程式提供電話介面。您可以使用這項功能打造對話 IVR (互動式語音回應) 解決方案,並與整個客服中心網路整合。您目前可以選取在 Google 託管的電話號碼。
限制
語言支援
這項整合功能僅支援每個服務專員使用一種語言。
如果為服務專員啟用強化語音模型,這項整合功能僅支援下列語言:
- 英文 (en)
- 英文 - 美國 (en-US)
如果代理程式已停用強化語音模型,請參閱語言參考資料頁面的「電話」欄,查看支援的語言清單。
電話號碼支援
這項功能僅支援美國電話號碼,無論是接聽來電或轉接電話都一樣。
事前準備
閱讀本指南之前,請先完成下列工作:
- 詳閱 Dialogflow 基本概念。
- 執行設定步驟。
建立虛擬服務專員
如果尚未建立代理程式,請立即建立:
- 前往 Dialogflow ES 主控台。
- 按照系統要求登入 Dialogflow 主控台。詳情請參閱 Dialogflow 主控台總覽。
- 按一下左側欄選單中的 [Create Agent] (建立代理程式)。(如果您已有其他代理程式,請按一下代理程式名稱然後捲動至底部,再按一下 [Create new agent] (建立新代理程式)。)
- 輸入代理程式的名稱、預設語言和預設時區。
- 如果您已建立專案,請輸入該項專案的資料。如要允許 Dialogflow 主控台建立專案,請選取 [Create a new Google project] (建立新 Google 專案)。
- 按一下 [Create] (建立) 按鈕。
將範例檔案匯入代理程式
本指南中的步驟會假設您的代理程式符合某些條件,因此您需要匯入為本指南準備的代理程式。匯入時,這些步驟會使用「還原」選項,覆寫所有代理程式設定、意圖和實體。
如要匯入檔案,請按照下列步驟操作:
-
下載
telephony-bot.zip
檔案。 - 前往 Dialogflow ES 主控台。
- 選取代理程式。
- 按一下代理程式名稱旁邊的設定 settings 按鈕。
- 選取「匯出與匯入」分頁標籤。
- 選取「從 ZIP 檔案還原」 然後按照操作說明還原您下載的 ZIP 檔案。
啟用 Beta 版功能
確認已啟用 Beta 版功能:
- 前往 Dialogflow ES 主控台。
- 選取代理程式。
- 按一下代理程式名稱旁邊的設定 settings 按鈕。
- 在「General」分頁中向下捲動,並確保「Beta Features」已設為啟用。
- 如果您變更了設定,請按一下「儲存」。
設定電話閘道
如要設定閘道,請按照下列步驟操作:
- 選取供應商:
- 前往 Dialogflow ES 主控台。
- 選取代理程式。
- 按一下 [Integrations] (整合)。
- 按一下 [Dialogflow Phone Gateway] (Dialogflow 電話閘道)。
- 設定電話閘道:
- 選取您想使用的語言。
- 選取電話號碼的國家/地區代碼。
- (選用) 選取您想使用的區碼。
- 按一下 [Next] (下一步)。
- 選取號碼:
- 從清單中選擇電話號碼。
- 按一下 [Create] (建立)。
- 設定完成:
- 閘道現已啟用。
- 選擇變更環境。
- 請儲存顯示的電話號碼並關閉對話方塊視窗。您可以再次點選 [Dialogflow Phone Gateway] (Dialogflow 電話閘道) 整合按鈕來擷取這項資訊。
撥打電話號碼
您現在可以撥打您設定的號碼,並按照簡單的語音提示操作。互動流程是透過代理程式定義的。
查看意圖
現在您已設定好可正常運作的電話閘道代理程式了,接著就來看看您匯入的意圖。這可協助您瞭解如何建構自己的電話閘道代理程式。
歡迎來電者
當您撥打號碼時,代理程式會歡迎您並提供一連串的選項。請按照下列步驟瞭解相關設定:
- 前往 Dialogflow ES 主控台。
- 選取代理程式。
- 點選 [Intents] (意圖)。
- 點選 [Default Welcome Intent] (預設的歡迎意圖)。
- 向下捲動至「Events」(事件) 部分。請注意,您會看到「Welcome」(
WELCOME
) 和「Telephony Welcome」(TELEPHONY_WELCOME
) 事件,表示所有類型的歡迎事件都會觸發此意圖。您也可以另外建立其他意圖,每一個都專門用於特定的歡迎事件。 - 向下捲動至「Responses」(回應) 部分並點選「DIALOGFLOW PHONE GATEWAY」(Dialogflow 電話閘道) 分頁標籤。
- 查看「Synthesize speech」(合成語音) 回應,當中包含您在撥打電話時聽到的歡迎訊息。
針對測試指令發出的回應
當您回應「test」(測試) 時,代理程式會提供一連串新的選項。請按照下列步驟瞭解相關設定:
- 點選 [Intents] (意圖)。
- 點選 [Test Telephony Intent] (測試電話意圖)。
- 向下捲動至「Responses」(回應) 部分並點選「DIALOGFLOW PHONE GATEWAY」(Dialogflow 電話閘道) 分頁標籤。
- 查看「Synthesize speech」(合成語音) 回應,當中包含您在說出「test」(測試) 時聽到的回應內容。
設定背景資訊
說出「test」(測試) 後,您可以執行「transfer」(轉接) 或「terminate」(終止) 指令。這並非電話閘道代理程式的限制,純粹與這項意圖的定義方式有關。與這些指令相關的意圖所提供的背景資訊。請按照下列步驟瞭解相關設定:
- 捲動至頂端的「Context」(背景資訊) 部分。
- 查看「TestTelephonyIntent-followup」輸出內容背景資訊。
- 點選 [Intents] (意圖)。
- 點選「Test Telephony Intent」(測試電話意圖) 旁邊的展開按鈕。
- 點選 [Test Telephony Intent - Terminate] (測試電話意圖 - 終止)。
- 捲動至頂端的「Context」(背景資訊) 部分。
- 查看「TestTelephonyIntent-followup」輸入內容背景資訊。
終止通話
當您回應「terminate」(終止) 時,代理程式會說出「goodbye」(再見) 並終止通話。請按照下列步驟瞭解相關設定:
- 向下捲動至「Training phrases」(訓練字詞) 部分並查看用來終止通話的字詞。
- 向下捲動至「Responses」(回應) 部分並點選「DIALOGFLOW PHONE GATEWAY」(Dialogflow 電話閘道) 分頁標籤。
- 查看「Synthesize speech」(合成語音) 回應,當中包含「goodbye」。
- 查看是否已啟用「Set this intent as end of conversation」(將這項意圖設為對話結尾)。如果啟用這項設定,Dialogflow 在播放所有其他音訊提示後會終止通話。
電話閘道複合式回應訊息
在這個範例中的意圖,使用了複合式回應訊息做為電話閘道回應。您可以使用的回應類型如下:
- 播放音訊: 播放提供的音訊檔案。指定 Cloud Storage 物件的 URI,該物件包含要播放的音訊。例如「gs://bucket/object」。物件必須包含單一聲道 (單聲道) 的線性 PCM 音訊 (2 個位元組 / 樣本),取樣率為 8 kHz。
- 合成語音:
將提供的文字轉換成合成音訊並播放。
您也可以啟用「使用『預設』分頁中的回應當做第一個回應」,使用預設的回應來產生合成語音回應。如果您只定義預設回應,且未啟用「Use response from the DEFAULT tab as the first response」(使用「預設」分頁中的回應當做第一個回應),則只有在
QueryResult.fulfillment_text
中填入的文字 (當中會填入隨機選取的文字回應) 會合成至語音。 - 轉接通話: 將來電者轉接至其他號碼。 轉接通話所花費的時間長度會計入通話總時間,且 Dialogflow 會收費,直到通話結束為止。
代理程式設定
您可以控管語音合成作業的各項程序。請參閱代理程式語音設定說明。
使用 Dialogflow 模擬器
對電話閘道代理程式進行測試或實驗時,您不需要撥打電話,您可以透過 Dialogflow 模擬工具與代理程式互動及接收音訊回應,方法如下:
- 輸入「hello」(你好) 並按下 Enter 鍵
- 將「預設回應」變更為「DIALOGFLOW PHONE GATEWAY」
- 點選 [Play Audio] (播放音訊) 按鈕即可聽取代理程式回應
- 繼續與代理程式對話
免付費電話號碼
你可以要求取得區碼為 833 的電話號碼。 請注意,免付費電話號碼的價格較高。
活動
這項整合功能會叫用下列事件:
事件 |
說明 |
---|---|
TELEPHONY_WELCOME |
有人撥打與您 Dialogflow 代理程式相關的電話號碼時,就會觸發這個事件。 |
代理程式暖機
當使用者撥打 Dialogflow Phone Gateway 代理程式電話時,Dialogflow 會先載入代理程式,以便快速回應使用者的初始語音。系統載入服務專員時,手機會持續響鈴。
Dialogflow 會將偵測意圖要求傳送至代理程式,藉此完成這項工作。這項要求的文字為 TELEPHONY_WARMUP
。
擷取來電者的電話號碼
如果您使用 Dialogflow Essentials 版本,可以從OriginalDetectIntentRequest.payload
網路服務要求中的 caller_id
欄位擷取 caller_id
值。在 Dialogflow 試用版中,caller_id
值會經過修訂。