退貨和退款預先建構元件

退貨和退款預建元件會檢查使用者的驗證層級。使用者通過驗證後,元件會提供使用者最近或過去的訂單資訊。使用者可以選擇退回訂單中的多項商品,並選取退款和退貨方式等選項。這個元件會使用零售驗證預先建構元件來驗證使用者。這個元件也會使用生成器,在通話後產生摘要和常見問題。

限制

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

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

對話範例

下列對話範例說明這項預建元件處理的常見情境。範例對話會示範使用電話呼叫元件時的行為,這會觸發預設歡迎意圖和對話開始時的第一個代理回覆。

單一產品的店內退貨

使用者先前已通過驗證。服務專員會確認最近一筆訂單中要退回的商品,並收集退貨原因。使用者選擇在商店退貨,服務專員則提供最近的商店清單。使用者選取商店後,代理會產生運送標籤,並傳送至使用者的註冊管道。

使用者輸入內容 代理回覆
你來電是要詢問最近一筆訂單嗎?訂單編號末 5 碼為 12345,內含 2 盞燈,下單日期為 2023-11-10。
是
確認一下,你想退回 Google 燈具。請問是否正確?
是
我們發現你選取的產品現有數量為 2。請指定要退貨的產品數量。
二
請說明退貨原因。你可以說「商品有瑕疵或無法使用」、「不再需要」、「尺寸或版型不合」、「寄錯商品」、「商品太晚送達」、「不小心買錯」或「其他」。
others
請說明退貨原因。
品質不佳
確認退貨原因為品質不佳。請問是否正確?
是
請告訴我們你希望在哪裡收到退款。例如「Google 商店消費金」或「來源帳戶」。
來源帳戶
感謝你確認要將退款退回原先使用的付款方式。

最後,請問你想如何退回產品?你可以說「在店內退貨」、「在指定地點退貨」或「安排取件」。
在店內退貨
一起尋找附近的商店吧!
代理使用郵遞區號收集預建元件收集郵遞區號
以下是靠近你輸入郵遞區號的地點清單。
地址 1:Google Texas, 500 W 2nd St, Suite 2900 Austin, Texas 78701, US。
地址 2:Google California, 19510 Jamboree Road, Irvine, California 92612, US。

請說出或輸入你要選取的地址編號,或說出「下一個」來顯示更多商店地址。
1
您已選取 Google Texas (500 W 2nd St, Suite 2900 Austin, Texas 78701, US),對嗎?
是
太好了!我們已將運送標籤和票券號碼傳送至你註冊的電話號碼和電子郵件地址。請列印出來並貼在包裹上,然後在 30 天內寄出退貨商品。
我們的倉庫收到商品後,退款會在 3 到 5 個工作天內入帳。請注意,退款金額不含運費和處理費。
感謝來電。

命名慣例

這個預建元件採用下列命名慣例:

功能 格式 範例
Flow [Component Name] 退貨與退款
實體類型 prebuilt_components_[component_name]_[entity_type] prebuilt_components_return_refund_mode_of_return
Webhook prebuilt_components_[component_name]:[webhook_action] prebuilt_components_return_refund:post_return_details

輸入參數

輸入參數是用來設定元件的特定行為。流程中的一或多個條件會使用這些參數,決定元件的行為。流程範圍參數必須在元件的起始頁面上設定。以工作階段為範圍的參數可由呼叫流程設定,或在這個元件的起始頁面上設定。

這個預建元件接受下列輸入參數:

參數名稱 說明 輸入格式
$session.params.phone_number (選用) 使用者的當地電話號碼 (不含國家/地區代碼),用於識別使用者。 字串
$session.params.all_recent_order_id (選用) 這個參數會列出與已驗證使用者相關聯的訂單 ID,並依訂單日期遞減排序。陣列的第一個元素代表最近的訂單。如果使用者沒有訂單,這個參數的值會是 null。 清單 (字串)
$session.params.email (選用) 帳戶註冊的電子郵件地址。 字串
$session.params.user_first_name (選用) 使用者的名字,用於問候及確認帳戶擁有權。 字串

這個預建元件允許使用下列選用參數,設定元件的行為,包括重試。

參數名稱 說明 格式
$flow.max_retry_another_account_counter 指定選擇是否要繼續使用替代帳戶時,允許的重試次數。預設值為 2。 整數
$flow.max_retry_order_number 指定提供訂單編號末五碼時,允許的重試次數。預設值為 3。 整數
$flow.max_retry_another_order 指定在找不到訂單 ID 或訂單不符合退貨資格時,選取其他訂單退貨的重試次數。預設值為 2。 整數
$flow.max_retry_select_order_number 指定在多筆訂單末五碼相同的情況下,提供完整訂單號碼時允許的重試次數。預設值為 2。 整數
$flow.max_product_display_counter 指定單次對話中最多可顯示的產品數量。預設值為 2。 整數
$flow.max_product_display 指定整個對話中最多可顯示的產品數量。預設值為 9。 整數
$flow.max_retry_product_number_counter 指定選取要退貨的產品時,允許的重試次數上限。預設值為 2。 整數
$flow.max_product_return_confirm_counter 指定確認所選產品時,允許的重試次數上限。預設值為 2。 整數
$flow.max_retry_return_reason_counter 指定確認退貨原因時允許的重試次數。預設值為 2。 整數
$flow.order_product_return_reason_others 指定 prebuilt_components_return_refund_reason 實體的值,表示使用者已選取「其他」退貨原因。預設值為 "others"。 字串
$flow.max_retry_select_quantity 指定選取退貨產品數量時,允許的重試次數上限。預設值為 2。 整數
$flow.max_store_display_counter 指定單次回應中最多可顯示的商店數量。預設值為 1。 整數
$flow.max_store_display 指定整段對話中最多可顯示的商店數量。預設值為 10。 整數
$flow.max_retry_store_number_counter 指定選取商店時允許的重試次數上限。預設值為 2。 整數
$flow.max_retry_store_selection 指定確認商店選擇時允許的重試次數。預設值為 2。 整數
$flow.max_retry_another_zip_code 指定提供郵遞區號時允許的重試次數上限。預設值為 2。 整數
$flow.order_payment_mode_COD 指定 get_order_details Webhook 傳回的 order_payment_mode 欄位值,表示貨到付款 (COD) 付款方式。預設值為 "COD"。 字串
$flow.order_payment_mode_store_credit 指定 get_order_details Webhook 傳回的 order_payment_mode 欄位值,表示 Google 商店消費金付款方式。預設值為 "store_credit"。 字串
$flow.order_refund_mode_source_account 指定 prebuilt_components_return_refund_mode_of_refund 實體的值,表示使用者選擇退款至來源帳戶。預設值為 source_account。 字串
$flow.order_return_location_scheduled_for_pickup 指定 prebuilt_components_exchange_order_location 實體的值,表示使用者選擇安排退貨取件。預設值為 scheduled_for_pickup。 字串

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

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

輸出參數

輸出參數是工作階段參數,在退出元件後仍會保持有效。這些參數包含元件收集的重要資訊。這個預建元件會提供下列輸出參數的值:

參數名稱 說明 輸出格式
phone_number 使用者的當地電話號碼 (不含國家/地區代碼),用於識別使用者。 字串
all_recent_order_id 這個參數會列出與已驗證使用者相關聯的訂單 ID,並依訂單日期遞減排序。陣列的第一個元素代表最近的訂單。如果使用者沒有訂單,這個參數的值會是 null。 清單 (字串)
電子郵件 帳戶註冊的電子郵件地址。 字串
user_first_name 使用者的名字,用於問候及確認帳戶擁有權。 字串
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 內建事件」。
字串

生成器

這個元件會使用生成器,啟用對話的特定部分。

常見問題

FAQ 生成器用於處理退換貨的常見問題,包括:

  • 退貨程序是否有期限?
  • 我可以換貨嗎?
  • 產品價格和退款金額不同。為什麼會這樣?

摘要

Summarization 生成器用於生成通話後摘要,說明元件處理的對話。

基本設定

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

  1. 匯入預先建構的元件。
  2. 使用描述外部服務的設定,設定提供的彈性 Webhook,請參閱「Webhook 設定」。

Webhook 設定

如要使用這個元件,您必須設定內含的彈性 Webhook,從外部服務擷取所需資訊。

驗證

如果您先前未設定驗證所需的外部服務,則必須設定這些服務,才能為這個元件啟用使用者驗證功能。如需詳細操作說明,請參閱「零售驗證 Webhook 設定」。

提供符合條件的訂單詳細資料:

元件會使用 prebuilt_components_return_refund:get_order_details Webhook 擷取指定訂單的詳細資料。

API 要求參數

元件會提供下列參數,做為 API 要求的輸入內容。

參數名稱 說明 輸入格式
$flow.order_id 要擷取詳細資料的訂單 ID。 字串

API 回應參數

系統會從 API 回應中擷取下列參數,供元件使用。

參數名稱 說明 輸出格式
order_date 下單日期,格式為 YYYY-MM-DD。 字串
order_product_count 訂單中不重複產品的數量。 整數
order_payment_mode 指出下單時使用的付款模式。 字串
returnable_product_id 訂單中可退貨產品的產品 ID 清單。 清單 (字串)
returnable_product_name 訂單中可退貨產品的產品名稱清單。 清單 (字串)
returnable_product_brand_name 訂單中可退貨產品的品牌名稱清單。 清單 (字串)
returnable_product_quantity 訂單中可退貨產品的數量清單。 清單 (字串)

如要為這個元件設定「取得訂單詳細資料」Webhook,請展開查看操作說明。

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

取得重複訂單詳細資料

元件會使用 prebuilt_components_retail_services:get_duplicate_order_details Webhook 擷取詳細資訊,以便在多個訂單編號的末五碼相同時,區分不同訂單。

API 要求參數

元件會提供下列參數,做為 API 要求的輸入內容。

參數名稱 說明 輸入格式
$flow.duplicate_order_id 這份清單包含使用者一或多筆訂單的訂單編號末五碼。 清單 (字串)

API 回應參數

系統會從 API 回應中擷取下列參數,供元件使用。

參數名稱 說明 輸出格式
all_order_date 重複訂單的訂單日期清單,格式為 YYYY-MM-DD,並指定末五碼。這個陣列中的每個元素都對應到 all_order_time 陣列中的相同元素。 清單 (字串)
all_order_time 重複訂單的下單時間清單,其中包含以 HH:MM 格式指定的末五碼。這個陣列中的每個元素都對應到 all_order_date 陣列中的相同元素。 清單 (字串)

如要為這個元件設定「取得重複訂單詳細資料」Webhook,請展開查看操作說明。

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

取得商店詳細資料

元件會使用 prebuilt_components_return_refund:get_store_details Webhook,擷取使用者提供的郵遞區號附近的商店清單。

API 要求參數

元件會提供下列參數,做為 API 要求的輸入內容。

參數名稱 說明 輸入格式
$flow.zip_code 搜尋附近商店時使用的郵遞區號。 字串

API 回應參數

系統會從 API 回應中擷取下列參數,供元件使用。

參數名稱 說明 輸出格式
store_id 商店 ID 清單。 清單 (字串)
store_address 與 store_id 各元素對應的商店地址清單。 清單 (字串)

如要為這個元件設定「取得商店詳細資料」Webhook,請展開查看操作說明。

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

發布退貨詳細資料

元件會使用 prebuilt_components_return_refund:post_return_details Webhook 提交退貨。

API 要求參數

元件會提供下列參數,做為 API 要求的輸入內容。

參數名稱 說明 輸入格式
$session.params.phone_number 使用者的當地電話號碼 (不含國家/地區代碼),用於識別使用者。 字串
$flow.order_id 要提交支援單的訂單 ID。 字串
$flow.return_product_id_list 使用者想退貨的產品 ID 清單。 清單 (字串)
$flow.return_product_quantity_list 使用者想退貨的產品數量清單,對應 $flow.return_product_id_list 中的每個元素。 清單 (字串)
$flow.return_reason_list 每項退貨產品的退貨原因清單,對應 $flow.return_product_id_list 中的每個元素。 清單 (字串)
$flow.order_return_location 所選退貨方式。有效值由 prebuilt_components_exchange_order_location 實體定義。 字串
$flow.order_return_store_id 使用者選取要退貨的商店 ID。 字串
$flow.order_refund_mode 退款的付款模式。有效值由 prebuilt_components_return_refund_mode_of_return 實體定義。如果不需要退款,這個值會是 null。 字串

API 回應參數

系統會從 API 回應中擷取下列參數,供元件使用。

參數名稱 說明 輸出格式
order_return_ticket_id 已提交退貨單的支援單 ID。 字串

如要為這個元件設定「Post return details」Webhook,請展開查看操作說明。

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

傳送貨到付款退款資訊

元件會使用 prebuilt_components_return_refund:send_COD_refund_information Webhook,將退貨相關付款資訊傳送給使用者。

API 要求參數

元件會提供下列參數,做為 API 要求的輸入內容。

參數名稱 說明 輸入格式
$session.params.phone_number 使用者的當地電話號碼 (不含國家/地區代碼),用於識別使用者。 字串
$flow.order_id 要提交支援單的訂單 ID。 字串
$flow.channel 要傳送資訊的特定管道。有效值由 prebuilt_components_channel_email_phone 實體定義。系統預設支援 phone 和 email。 字串

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

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

完成

代理和 Webhook 應已設定完成,可以開始測試。