交易記錄預先建構元件

交易記錄預先建構的元件會檢查顧客的驗證等級,然後收集交易時間範圍和其他篩選條件,這些條件會在擷取交易記錄時套用。這個元件支援下列篩選器:

  • 交易類型
  • 商家名稱
  • 交易金額

如果顧客有多個帳戶,這個元件會確認顧客要擷取交易記錄的特定帳戶。這個元件會使用驗證預先建構的元件驗證使用者,並使用出生日期收集的自訂版本,收集交易記錄的開始和結束日期。

限制

除了常見的預先建構元件限制外,這個預先建構元件還有下列限制:

  • 這個元件不會加密任何資料。

對話方塊範例

下列範例對話方塊展示了這個預先建構元件處理的常見情境。範例對話會示範透過電話呼叫元件時的行為,這會觸發預設歡迎意圖,並在對話開始時提供第一個代理程式回應。

多個帳戶

使用者有多個帳戶;服務專員確認使用者要求提供交易記錄的帳戶。代理會收集交易的開始和結束日期、使用者想套用至交易的任何篩選條件,以及使用者是否要加密交易記錄。代理程式會將交易記錄傳送給使用者。

使用者輸入內容 代理回覆
代理程式使用驗證預先建構的元件驗證使用者
謝謝,您已成功完成驗證。
系統正在擷取您的帳戶詳細資料,請稍候。

我們發現您的電話號碼與 2 個帳戶相關聯。

請提供您要使用的帳戶末 4 碼。
1001
我們取得的帳號末四碼為 1001,是否正確?
請提供交易開始日期,依序輸入月份、日期和年份。請注意,我們只會提供最近 90 天的交易記錄。
代理程式使用出生日期預先建構的元件,收集交易開始日期
好的,我們已收集你的交易開始日期。

請提供交易結束日期,先輸入月份,再輸入日期和年份。請注意,我們只會提供最近 90 天的交易記錄。
代理程式使用出生日期預先建構的元件,收集交易開始日期
謝謝!請確認您是否要尋找 2023 年 6 月 25 日至 2023 年 7 月 21 日之間的交易?
請提供要取得交易資料的商家名稱。
Google
我們擷取的商家名稱是「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 整數

如要設定這個元件的輸入參數,請展開查看操作說明。

  1. 開啟 Dialogflow CX 控制台
  2. 選擇 Google Cloud 專案。
  3. 選取代理程式。
  4. 選取「Build」(建構) 分頁標籤。
  5. 在「流程」部分中,按一下匯入的元件。
  6. 按一下「頁面」部分中的「開始頁面」。
  7. 在「開始頁面」中,按一下「true」路徑。
  8. 在「Route」視窗中,視需要編輯「Parameter Presets」值。
  9. 按一下「儲存」

輸出參數

輸出參數是工作階段參數,在結束元件後仍會保持啟用狀態。這些參數包含元件收集的重要資訊。這個預先建構的元件會提供下列輸出參數的值:

參數名稱 說明 輸出格式
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 內建事件」。
字串

基本設定

如要設定這個預先建構的元件,請按照下列步驟操作:

  1. 匯入預先建構的元件
  2. 設定提供的彈性 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,請展開查看操作說明。

  1. 開啟 Dialogflow CX 控制台
  2. 選擇 Google Cloud 專案。
  3. 選取代理程式。
  4. 選取「管理」分頁標籤。
  5. 按一下「Webhooks」
  6. 選取 prebuilt_components_account_services:validate_account Webhook。
  7. 將 Dialogflow CX「Webhook URL」欄位中的網址,換成要整合的服務端點。在下拉式選單中選取適當的「方法」
  8. 查看並更新要求主體,為 Webhook 建立正確的要求格式。
  9. 查看並更新「回應設定」,從 Webhook 的回應中擷取特定欄位。請勿修改參數名稱,因為元件需要這些名稱才能存取傳回的欄位值。
  10. 視需要檢查並更新「驗證」設定。
  11. 按一下「儲存」

取得交易

這個元件會使用 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,請展開查看操作說明。

  1. 開啟 Dialogflow CX 控制台
  2. 選擇 Google Cloud 專案。
  3. 選取代理程式。
  4. 選取「管理」分頁標籤。
  5. 按一下「Webhooks」
  6. 選取 prebuilt_components_transaction_historyt:get_transactions 網路鉤子。
  7. 將 Dialogflow CX「Webhook URL」欄位中的網址,換成要整合的服務端點。在下拉式選單中選取適當的「方法」
  8. 查看並更新要求主體,為 Webhook 建立正確的要求格式。
  9. 查看並更新「回應設定」,從 Webhook 的回應中擷取特定欄位。請勿修改參數名稱,因為元件需要這些名稱才能存取傳回的欄位值。
  10. 視需要檢查並更新「驗證」設定。
  11. 按一下「儲存」

傳送資訊

這個元件會使用 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_phoneprebuilt_components_transaction_history_channel 自訂實體定義,視使用者是否已註冊電子郵件而定。根據預設,系統支援 emailmobilewhatsapp 字串
$flow.encryption_status 指出使用者是否要在將文件傳送至指定管道前加密。如果使用者未提供值,或來電者拒絕提供結束日期,系統會將值預設為 true 布林值

如要為這個元件設定「傳送資訊」Webhook,請展開查看操作說明。

  1. 開啟 Dialogflow CX 控制台
  2. 選擇 Google Cloud 專案。
  3. 選取代理程式。
  4. 選取「管理」分頁標籤。
  5. 按一下「Webhooks」
  6. 選取 prebuilt_components_transaction_history:send_info 網路鉤子。
  7. 將 Dialogflow CX「Webhook URL」欄位中的網址,換成要整合的服務端點。在下拉式選單中選取適當的「方法」
  8. 查看並更新要求主體,為 Webhook 建立正確的要求格式。
  9. 查看並更新「回應設定」,從 Webhook 的回應中擷取特定欄位。請勿修改參數名稱,因為元件需要這些名稱才能存取傳回的欄位值。
  10. 視需要檢查並更新「驗證」設定。
  11. 按一下「儲存」

完成

代理程式和 Webhook 現在應已設定完成,可供測試。