帳戶對帳單預先建構的元件會檢查顧客的驗證等級,然後將指定時間範圍的帳戶對帳單傳送給經過驗證的顧客。如果顧客有多個帳戶,這個元件會確認顧客要擷取帳戶對帳單的特定帳戶。這個元件會使用驗證預先建構的元件驗證使用者,並使用收集出生日期的自訂版本,收集對帳單週期的開始和結束日期。
限制
除了常見的預先建構元件限制外,這個預先建構元件還有下列限制:
- 這個元件不會加密任何資料。
對話方塊範例
下列範例對話方塊展示了這個預先建構元件處理的常見情境。範例對話會示範透過電話呼叫元件時的行為,這會觸發預設歡迎意圖,並在對話開始時提供第一個代理程式回應。
單一帳戶
使用者只有一個帳戶。代理程式會收集對帳單的開始和結束日期,以及使用者是否要加密對帳單,然後將帳戶對帳單傳送給使用者。
| 使用者輸入內容 | 代理回覆 |
|---|---|
| 代理程式使用驗證預先建構的元件驗證使用者 | |
| 謝謝,您已成功完成驗證。 | |
| 我們正在擷取你的帳戶詳細資料,請稍候。 我們已找到與你的號碼相關聯的帳號,末碼為 1001。 請提供帳戶對帳單的開始日期,格式為「月/日/年」。請注意,帳戶對帳單只會提供最近 90 天的資料。 |
|
| 代理程式使用出生日期預先建構的元件收集對帳單開始日期 | |
| 很好,我們已收集對帳單的開始日期。 請提供對帳單的結束日期,先輸入月份,再輸入日期和年份。請注意,帳戶對帳單只會提供最近 90 天的資料。 |
|
| 代理程式使用出生日期預先建構的元件收集結算單結算日 | |
| 謝謝!請確認您是否要查詢 2023 年 7 月 12 日至 2023 年 7 月 24 日的帳戶對帳單? | |
| 是 | |
| 系統正在擷取對帳單詳細資料,請稍候。 我們找到 2023 年 7 月 12 日至 2023 年 7 月 24 日的交易。要透過電子郵件、簡訊還是 WhatsApp 接收? |
|
| 簡訊 | |
| 我們與您分享文件前,是否要先加密? | |
| 不用了,謝謝 | |
| 你會在 15 分鐘內收到對帳單,並傳送至已註冊的手機號碼。 |
多個帳戶
使用者有多個帳戶;代理程式確認使用者要索取哪個帳戶的對帳單。代理程式會收集對帳單的開始和結束日期,以及使用者是否要加密對帳單,然後將帳戶對帳單傳送給使用者。
| 使用者輸入內容 | 代理回覆 |
|---|---|
| 代理程式使用驗證預先建構的元件驗證使用者 | |
| 謝謝,您已成功完成驗證。 | |
| 系統正在擷取您的帳戶詳細資料,請稍候。 我們發現您的電話號碼與 2 個帳戶相關聯。 請提供您要使用的帳戶末 4 碼。 |
|
| 2002 | |
| 我們收到的帳號末四碼為 2002,是否正確? | |
| 是 | |
| 請提供帳戶對帳單的開始日期,先輸入月份,再輸入日期和年份。請注意,帳戶對帳單只會提供最近 90 天的資料。 | |
| 代理程式使用出生日期預先建構的元件收集對帳單開始日期 | |
| 很好,我們已收集對帳單的開始日期。 請提供對帳單的結束日期,先輸入月份,再輸入日期和年份。請注意,帳戶對帳單只會提供最近 90 天的資料。 |
|
| 代理程式使用出生日期預先建構的元件收集結算單結算日 | |
| 謝謝!請問您是否要查詢 2023 年 7 月 18 日至 2023 年 7 月 22 日的帳戶對帳單? | |
| 是 | |
| 正在擷取對帳單詳細資料,請稍候。 我們找到 2023 年 7 月 18 日至 2023 年 7 月 22 日的交易。要透過電子郵件、簡訊還是 WhatsApp 接收? |
|
| 我們與您分享文件前,是否要先加密? | |
| 是 | |
| 系統會透過你註冊的 WhatsApp 帳號傳送密碼詳細資料。 你會在 15 分鐘內收到對帳單。 |
命名慣例
這個預先建構的元件採用下列命名慣例:
| 功能 | 格式 | 範例 |
|---|---|---|
| 心流狀態 | [元件名稱] | 帳戶活動月報表 |
| 元件專屬意圖 | prebuilt_components_[component_name]_[intent_name] | prebuilt_components_account_number_collection_four_digit_account_number |
| 實體類型 | prebuilt_components_[component_name]_[entity_type] | prebuilt_components_account_statement_channelall |
| Webhook | prebuilt_components_[component_name]:[webhook_action] | prebuilt_components_account_statement:request_statement |
輸入參數
輸入參數是用來設定元件特定行為的參數。流程中的一或多個條件會使用這些參數,判斷元件的行為。如要設定流程範圍參數,請按照下方說明,在元件的開始頁面進行設定。工作階段範圍的參數可透過呼叫流程設定,也可以在這個元件的開始頁面設定。
這個預先建構的元件接受下列輸入參數:
| 參數名稱 | 說明 | 輸入格式 |
|---|---|---|
| $session.params.auth_level | (選用) 指出呼叫端的驗證層級。 | 整數 |
| $session.params.auth_level_req | 指出使用者存取帳戶對帳單前,需要通過的驗證等級。這個值是在 check auth level 頁面的頁面項目執行中,透過參數預設值設定。根據預設,這個值為 1。 |
整數 |
| $session.params.account_auth_enabled | 指出是否應根據「驗證類型」一文的說明,驗證使用者是否為帳戶持有人。這個值是在 check auth level 頁面的頁面項目執行中,透過參數預設值設定。根據預設,這個值為 true。 |
布林值 |
| $session.params.card_auth_enabled | 指出是否應根據「驗證類型」一文所述,驗證使用者是否為持卡人。這個值是在 check auth level 頁面的頁面項目執行中,透過參數預設值設定。根據預設,這個值為 false。 |
布林值 |
| $session.params.phone_number | (選用) 用於驗證的客戶註冊電話號碼。 | 字串 |
| $session.params.account_count | (選用) 與已驗證使用者相關聯的帳戶數量。 | 整數 |
| $session.params.last_four_digit_of_account_number | (選填) 需要提供對帳單的客戶帳號末四碼。如果顧客只有一個帳戶,系統會在驗證後自動擷取這項資訊。如果顧客有多個帳戶,我們會向顧客收集特定帳號。 | 字串 |
| $session.params.account_statement_max_days | 指定報表開始日期可早於目前日期的天數上限。預設值為 -90,表示對帳單開始日期不得早於目前日期 90 天。這項參數是在開始頁面的 true 路由中設定。 |
整數 |
| $flow.max_retry_count | 指定提示使用者提供有效對帳單結算日期的重試次數上限。預設值為 3。 |
整數 |
| $flow.max_retry_confirm_period_counter | 指定與使用者確認對帳單週期時允許的重試次數。預設值為 3。 |
整數 |
| $flow.max_retry_statement_counter | 指定在提供的對帳單週期未擷取任何交易時,允許的重試次數。預設值為 3。 |
整數 |
如要設定這個元件的輸入參數,請展開查看操作說明。
- 開啟 Dialogflow CX 控制台。
- 選擇 Google Cloud 專案。
- 選取代理程式。
- 選取「Build」(建構) 分頁標籤。
- 在「流程」部分中,按一下匯入的元件。
- 按一下「頁面」部分中的「開始頁面」。
- 在「開始頁面」中,按一下「true」路徑。
- 在「Route」視窗中,視需要編輯「Parameter Presets」值。
- 按一下「儲存」。
輸出參數
輸出參數是工作階段參數,在結束元件後仍會保持啟用狀態。這些參數包含元件收集的重要資訊。這個預先建構的元件會提供下列輸出參數的值:
| 參數名稱 | 說明 | 輸出格式 |
|---|---|---|
| auth_level | 指出呼叫端的驗證等級。 | 整數 |
| phone_number | 使用者的當地電話號碼 (不含國家/地區代碼),用於識別使用者。 | 字串 |
| account_count | 與註冊電話號碼相關聯的帳戶數量。這類帳戶包括使用者本人的帳戶,以及使用者有代理權的帳戶。 | 整數 |
| last_four_digit_of_account_number | 如果使用者只有一個帳戶,系統會傳回帳號的後四碼。如果使用者有多個帳戶,這個參數的值就是使用者選取接收帳戶對帳單資訊的帳號末四碼。 | 字串 |
| transfer_reason | 如果流程未順利結束,這項參數會指出流程結束的原因。傳回的值為下列其中之一:agent:使用者在對話期間要求與真人服務專員通話。denial_of_information:使用者拒絕分享元件要求的資訊。max_no_input:對話達到無輸入事件的重試次數上限。請參閱無輸入內容的內建事件。max_no_match:對話已達無相符事件的重試次數上限。請參閱不相符的內建事件。webhook_error:發生 Webhook 錯誤。請參閱「webhook.error 內建事件」。webhook_not_found:無法連上 Webhook 網址。請參閱「webhook.error.not-found 內建事件」。 |
字串 |
基本設定
如要設定這個預先建構的元件,請按照下列步驟操作:
- 匯入預先建構的元件。
- 設定提供的彈性 Webhook,並使用描述外部服務的設定,請參閱下方的「Webhook 設定」。
設定 Webhook
如要使用這個元件,您必須設定內含的彈性 Webhook,從外部服務擷取所需資訊。
驗證
如果您先前未設定驗證所需的外部服務,則必須設定這些服務,才能為這個元件啟用使用者驗證。如需詳細操作說明,請參閱「驗證 Webhook 設定」。
驗證帳戶
這個元件會使用 prebuilt_components_account_services:validate_account 網路鉤子,根據使用者註冊的電話號碼和提供的帳號末四碼,驗證帳戶是否存在。如果帳戶存在,Webhook 也會傳回帳戶餘額。
API 要求參數
元件會提供下列參數,做為 API 要求的輸入內容。
| 參數名稱 | 說明 | 輸入格式 |
|---|---|---|
| $session.params.phone_number | 使用者的當地電話號碼 (不含國家/地區代碼),用於識別使用者。 | 字串 |
| $session.params.last_four_digit_of_account_number | 使用者選取並確認要接收帳戶對帳單資訊的帳號末四碼。 | 字串 |
API 回應參數
系統會從 API 回應中擷取下列參數,供元件使用。
| 參數名稱 | 說明 | 輸出格式 |
|---|---|---|
| account_found | 指出使用者註冊帳戶是否具有所提供的末四碼。 | 布林值 |
| 餘額 | 帳戶目前的餘額 (如有)。 | 數字 |
如要為這個元件設定「驗證帳戶」Webhook,請展開查看操作說明。
- 開啟 Dialogflow CX 控制台。
- 選擇 Google Cloud 專案。
- 選取代理程式。
- 選取「管理」分頁標籤。
- 按一下「Webhooks」。
- 選取 prebuilt_components_account_services:validate_account Webhook。
- 將 Dialogflow CX「Webhook URL」欄位中的網址,換成要整合的服務端點。在下拉式選單中選取適當的「方法」。
- 查看並更新要求主體,為 Webhook 建立正確的要求格式。
- 查看並更新「回應設定」,從 Webhook 的回應中擷取特定欄位。請勿修改參數名稱,因為元件需要這些名稱才能存取傳回的欄位值。
- 視需要檢查並更新「驗證」設定。
- 按一下「儲存」。
取得交易
元件會使用 prebuilt_components_account_statement:get_transactions 網路鉤子,根據使用者的註冊電話號碼、帳號末四碼和對帳單週期,擷取帳戶的交易記錄。
API 要求參數
元件會提供下列參數,做為 API 要求的輸入內容。
| 參數名稱 | 說明 | 輸入格式 |
|---|---|---|
| $session.params.phone_number | 使用者的當地電話號碼 (不含國家/地區代碼),用於識別使用者。 | 字串 |
| $session.params.last_four_digit_of_account_number | 使用者選取並確認要接收帳戶對帳單資訊的帳號末四碼。 | 字串 |
| $flow.statement_start_date | 要求的對帳單開始日期,格式為「YYYY-MM-DD」。 | 字串 |
| $flow.statement_end_date | (選填) 所要求的對帳單開始日期,格式為「YYYY-MM-DD」。如果使用者未提供值,或來電者拒絕提供結束日期,系統會預設為目前日期。 | 字串 |
API 回應參數
系統會從 API 回應中擷取下列參數,供元件使用。
| 參數名稱 | 說明 | 輸出格式 |
|---|---|---|
| transactions_count | 在指定帳戶的指定對帳單週期內找到的交易數量。 | 整數 |
如要為這個元件設定「取得交易」Webhook,請展開查看操作說明。
- 開啟 Dialogflow CX 控制台。
- 選擇 Google Cloud 專案。
- 選取代理程式。
- 選取「管理」分頁標籤。
- 按一下「Webhooks」。
- 選取 prebuilt_components_account_statement:get_transactions 網路鉤子。
- 將 Dialogflow CX「Webhook URL」欄位中的網址,換成要整合的服務端點。在下拉式選單中選取適當的「方法」。
- 查看並更新要求主體,為 Webhook 建立正確的要求格式。
- 查看並更新「回應設定」,從 Webhook 的回應中擷取特定欄位。請勿修改參數名稱,因為元件需要這些名稱才能存取傳回的欄位值。
- 視需要檢查並更新「驗證」設定。
- 按一下「儲存」。
申請對帳單
這個元件會使用 prebuilt_components_account_statement:request_statement webhook,根據使用者註冊的電話號碼、帳號末四碼和對帳單週期,將帳戶對帳單傳送至所選管道。
API 要求參數
元件會提供下列參數,做為 API 要求的輸入內容。
| 參數名稱 | 說明 | 輸入格式 |
|---|---|---|
| $session.params.phone_number | 使用者的當地電話號碼 (不含國家/地區代碼),用於識別使用者。 | 字串 |
| $session.params.last_four_digit_of_account_number | 使用者選取並確認要接收帳戶對帳單資訊的帳號末四碼。 | 字串 |
| $flow.statement_start_date | 要求的對帳單開始日期,格式為「YYYY-MM-DD」。 | 字串 |
| $flow.statement_end_date | (選填) 所要求的對帳單開始日期,格式為「YYYY-MM-DD」。如果使用者未提供值,或來電者拒絕提供結束日期,系統會預設為目前日期。 | 字串 |
| $flow.channel_medium | 使用者選取接收訊息的管道。有效值由 prebuilt_components_account_statement_channelphn 和 prebuilt_components_account_statement_channelall 自訂實體定義,視使用者是否已註冊電子郵件而定。根據預設,系統支援 email、mobile 和 WhatsApp。 |
字串 |
| $flow.encryption_status | 指出使用者是否要在將文件傳送至指定管道前加密。如果使用者未提供值,或來電者拒絕提供結束日期,系統會將值預設為 true。 |
布林值 |
如要為這個元件設定要求陳述式 Webhook,請展開查看操作說明。
- 開啟 Dialogflow CX 控制台。
- 選擇 Google Cloud 專案。
- 選取代理程式。
- 選取「管理」分頁標籤。
- 按一下「Webhooks」。
- 選取 prebuilt_components_account_statement:request_statement Webhook。
- 將 Dialogflow CX「Webhook URL」欄位中的網址,換成要整合的服務端點。在下拉式選單中選取適當的「方法」。
- 查看並更新要求主體,為 Webhook 建立正確的要求格式。
- 查看並更新「回應設定」,從 Webhook 的回應中擷取特定欄位。請勿修改參數名稱,因為元件需要這些名稱才能存取傳回的欄位值。
- 視需要檢查並更新「驗證」設定。
- 按一下「儲存」。
完成
代理程式和 Webhook 現在應已設定完成,可供測試。