交易記錄預先建構的元件會檢查顧客的驗證等級,然後收集交易時間範圍和其他篩選條件,這些條件會在擷取交易記錄時套用。這個元件支援下列篩選器:
- 交易類型
- 商家名稱
- 交易金額
如果顧客有多個帳戶,這個元件會確認顧客要擷取交易記錄的特定帳戶。這個元件會使用驗證預先建構的元件驗證使用者,並使用出生日期收集的自訂版本,收集交易記錄的開始和結束日期。
限制
除了常見的預先建構元件限制外,這個預先建構元件還有下列限制:
- 這個元件不會加密任何資料。
對話方塊範例
下列範例對話方塊展示了這個預先建構元件處理的常見情境。範例對話會示範透過電話呼叫元件時的行為,這會觸發預設歡迎意圖,並在對話開始時提供第一個代理程式回應。
多個帳戶
使用者有多個帳戶;服務專員確認使用者要求提供交易記錄的帳戶。代理會收集交易的開始和結束日期、使用者想套用至交易的任何篩選條件,以及使用者是否要加密交易記錄。代理程式會將交易記錄傳送給使用者。
| 使用者輸入內容 | 代理回覆 |
|---|---|
| 代理程式使用驗證預先建構的元件驗證使用者 | |
| 謝謝,您已成功完成驗證。 | |
| 系統正在擷取您的帳戶詳細資料,請稍候。 我們發現您的電話號碼與 2 個帳戶相關聯。 請提供您要使用的帳戶末 4 碼。 |
|
| 1001 | |
| 我們取得的帳號末四碼為 1001,是否正確? | |
| 是 | |
| 請提供交易開始日期,依序輸入月份、日期和年份。請注意,我們只會提供最近 90 天的交易記錄。 | |
| 代理程式使用出生日期預先建構的元件,收集交易開始日期 | |
| 好的,我們已收集你的交易開始日期。 請提供交易結束日期,先輸入月份,再輸入日期和年份。請注意,我們只會提供最近 90 天的交易記錄。 |
|
| 代理程式使用出生日期預先建構的元件,收集交易開始日期 | |
| 謝謝!請確認您是否要尋找 2023 年 6 月 25 日至 2023 年 7 月 21 日之間的交易? | |
| 是 | |
| 請提供要取得交易資料的商家名稱。 | |
| 我們擷取的商家名稱是「Google」。請回答「是」或「否」。 | |
| 是 | |
| 想查看簽帳金融卡或信用卡的交易記錄嗎? | |
| 抵免額 | |
| 請提供金額,系統會擷取金額等於或高於該金額的交易。舉例來說,如要尋找金額超過 $100.30 美元的交易,請說出「100」。 | |
| 500 | |
| 正在擷取交易明細,請稍候。 我們找到 2023 年 6 月 2 日至 2023 年 7 月 21 日的交易。你想透過簡訊還是 WhatsApp 接收驗證碼? |
|
| 簡訊 | |
| 我們與您分享文件前,是否要先加密? | |
| 好,我要啟用 | |
| 密碼詳細資料會傳送至您註冊的手機。 您會在 15 分鐘內收到對帳單。 |
命名慣例
這個預先建構的元件採用下列命名慣例:
| 功能 | 格式 | 範例 |
|---|---|---|
| 心流狀態 | [元件名稱] | 交易記錄 |
| 元件專屬意圖 | prebuilt_components_[component_name]_[intent_name] | prebuilt_components_transaction_history_transaction_collection |
| 實體類型 | prebuilt_components_[component_name]_[entity_type] | prebuilt_components_transaction_history_det_cred |
| Webhook | prebuilt_components_[component_name]:[webhook_action] | prebuilt_components_transaction_history:get_transactions |
輸入參數
輸入參數是用來設定元件特定行為的參數。流程中的一或多個條件會使用這些參數,判斷元件的行為。如要設定流程範圍參數,請按照下方說明,在元件的開始頁面進行設定。工作階段範圍的參數可透過呼叫流程設定,也可以在這個元件的開始頁面設定。
這個預先建構的元件接受下列輸入參數:
| 參數名稱 | 說明 | 輸入格式 |
|---|---|---|
| $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.transaction_history_max_days | 指定交易開始日期可早於目前日期的天數上限。預設值為 -90,表示交易開始日期不得早於目前日期 90 天。這項參數是在開始頁面的 true 路線中設定。 |
整數 |
| $flow.max_retry_count | 指定提示使用者提供有效交易開始和結束日期時,允許的重試次數。預設值為 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_transaction_history: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」。如果使用者未提供值,或來電者拒絕提供結束日期,系統會預設為目前日期。 | 字串 |
| $flow.transaction_credit_debit | 使用者要求的交易類型。有效值由 prebuilt_components_transaction_history_det_cred 自訂實體定義。預設支援 "credit" 和 "debit"。如果使用者拒絕選取類型,這個值會是空字串 "",且系統應計算任何類型的交易。 |
字串 |
| $flow.merchant_name | 使用者要求的商家名稱。如果使用者拒絕提供商家名稱,這個值會是空白字串 "",且應計入所有商家的交易。 |
字串 |
| $flow.high_amount_value | 使用者要求的最低交易金額。如果使用者拒絕提供金額,這個參數的預設值為 0。 |
整數 |
API 回應參數
系統會從 API 回應中擷取下列參數,供元件使用。
| 參數名稱 | 說明 | 輸出格式 |
|---|---|---|
| transactions_count | 在指定帳戶的指定對帳單週期內,套用所選篩選器後找到的交易數量。 | 整數 |
如要為這個元件設定「取得交易」Webhook,請展開查看操作說明。
- 開啟 Dialogflow CX 控制台。
- 選擇 Google Cloud 專案。
- 選取代理程式。
- 選取「管理」分頁標籤。
- 按一下「Webhooks」。
- 選取 prebuilt_components_transaction_historyt:get_transactions 網路鉤子。
- 將 Dialogflow CX「Webhook URL」欄位中的網址,換成要整合的服務端點。在下拉式選單中選取適當的「方法」。
- 查看並更新要求主體,為 Webhook 建立正確的要求格式。
- 查看並更新「回應設定」,從 Webhook 的回應中擷取特定欄位。請勿修改參數名稱,因為元件需要這些名稱才能存取傳回的欄位值。
- 視需要檢查並更新「驗證」設定。
- 按一下「儲存」。
傳送資訊
這個元件會使用 prebuilt_components_transaction_history:send_info 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.transaction_credit_debit | 使用者要求的交易類型。有效值由 prebuilt_components_transaction_history_det_cred 自訂實體定義。預設支援 "credit" 和 "debit"。如果使用者拒絕選取類型,這個值會是空字串 "",且應傳送任何類型的交易。 |
字串 |
| $flow.merchant_name | 使用者要求的商家名稱。如果使用者拒絕提供商家名稱,這個值會是空白字串 "",且應傳送所有商家的交易。 |
字串 |
| $flow.high_amount_value | 使用者要求的最低交易金額。如果使用者拒絕提供金額,這個參數的預設值為 0。 |
整數 |
| $flow.channel_medium | 使用者選取接收訊息的管道。有效值由 prebuilt_components_transaction_history_phone 和 prebuilt_components_transaction_history_channel 自訂實體定義,視使用者是否已註冊電子郵件而定。根據預設,系統支援 email、mobile 和 whatsapp。 |
字串 |
| $flow.encryption_status | 指出使用者是否要在將文件傳送至指定管道前加密。如果使用者未提供值,或來電者拒絕提供結束日期,系統會將值預設為 true。 |
布林值 |
如要為這個元件設定「傳送資訊」Webhook,請展開查看操作說明。
- 開啟 Dialogflow CX 控制台。
- 選擇 Google Cloud 專案。
- 選取代理程式。
- 選取「管理」分頁標籤。
- 按一下「Webhooks」。
- 選取 prebuilt_components_transaction_history:send_info 網路鉤子。
- 將 Dialogflow CX「Webhook URL」欄位中的網址,換成要整合的服務端點。在下拉式選單中選取適當的「方法」。
- 查看並更新要求主體,為 Webhook 建立正確的要求格式。
- 查看並更新「回應設定」,從 Webhook 的回應中擷取特定欄位。請勿修改參數名稱,因為元件需要這些名稱才能存取傳回的欄位值。
- 視需要檢查並更新「驗證」設定。
- 按一下「儲存」。
完成
代理程式和 Webhook 現在應已設定完成,可供測試。