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 按鈕。
- 選取「Export and Import」分頁標籤。
- 選取「Restore From 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」分頁標籤。
- 查看「Synthesize speech」(合成語音) 回應,當中包含您在撥打電話時聽到的歡迎訊息。
針對測試指令發出的回應
當您回應「test」(測試) 時,代理程式會提供一連串新的選項。請按照下列步驟瞭解相關設定:
- 點選 [Intents] (意圖)。
- 點選 [Test Telephony Intent] (測試電話意圖)。
- 向下捲動至「Responses」部分,然後點選「DIALOGFLOW PHONE GATEWAY」分頁標籤。
- 查看「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」分頁標籤。
- 查看「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」,使用預設回應來產生合成語音回應。如果您只定義預設回應,且未啟用「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 版本,可以從 webhook 要求中的 OriginalDetectIntentRequest.payload
欄位擷取 caller_id
值。在 Dialogflow 試用版中,caller_id
值會遭到遮蓋。