退貨和退款預先建構元件

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

限制

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

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

對話方塊範例

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

單一產品的店內退貨

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

使用者輸入內容 代理回覆
你是否要詢問最近一筆訂單 (訂單號碼末五碼為 12345,內含 2 個燈具,下訂日期為 2023 年 11 月 10 日) 的相關問題?
確認要退回 Google 燈具。這項資訊是否正確?
我們可以看到所選產品的可用數量為 2。請指明要退回的產品數量。
請說明退貨原因。你可以說:商品有瑕疵或無法正常運作、不再需要、尺寸或版型不合、寄錯商品、商品太晚送達、買錯商品或其他原因。
others
請說明退貨原因。
品質不佳
如要驗證,退貨原因是品質不佳。這項資訊是否正確?
請告訴我們希望將退款匯入哪個帳戶。例如,你可以說「購物金」或「來源帳戶」。
來源帳戶
感謝你確認要將退款退回原付款方式。

最後一個步驟,請選擇退貨方式。你可以說「店內退貨」、「在代收地點退貨」或「安排取件」。
店內退貨
讓我們尋找你附近的商店。
代理程式使用郵遞區號收集預建元件收集郵遞區號
以下列出您輸入的郵遞區號附近的門市。
地址 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 個工作天內入帳。請注意:退款金額不含運費和處理費。
感謝來電。

命名慣例

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

功能 格式 範例
心流狀態 [元件名稱] 退貨與退款
實體類型 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" 字串
$flow.order_payment_mode_store_credit 指定 get_order_details webhook 傳回的 order_payment_mode 欄位值,指出商店消費金付款方式。預設值為 "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. 在「流程」部分中,按一下匯入的元件。
  6. 按一下「頁面」部分中的「開始頁面」。
  7. 在「開始頁面」中,按一下「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 網路鉤子。
  7. 將 Dialogflow CX「Webhook URL」欄位中的網址,換成要整合的服務端點。在下拉式選單中選取適當的「方法」
  8. 查看並更新要求主體,為 Webhook 建立正確的要求格式。
  9. 查看並更新「回應設定」,從 Webhook 的回應中擷取特定欄位。請勿修改參數名稱,因為元件需要這些名稱才能存取傳回的欄位值。
  10. 視需要檢查並更新「驗證」設定。
  11. 按一下「儲存」

取得重複訂單詳細資料

如果多個訂單號碼的末五碼相同,元件會使用 prebuilt_components_retail_services:get_duplicate_order_details 網路鉤子擷取詳細資訊,以便區分訂單。

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 網路鉤子。
  7. 將 Dialogflow CX「Webhook URL」欄位中的網址,換成要整合的服務端點。在下拉式選單中選取適當的「方法」
  8. 查看並更新要求主體,為 Webhook 建立正確的要求格式。
  9. 查看並更新「回應設定」,從 Webhook 的回應中擷取特定欄位。請勿修改參數名稱,因為元件需要這些名稱才能存取傳回的欄位值。
  10. 視需要檢查並更新「驗證」設定。
  11. 按一下「儲存」

取得商店詳細資料

元件會使用 prebuilt_components_return_refund:get_store_details 網路鉤子,根據使用者提供的郵遞區號,擷取附近的商店清單。

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 網路鉤子。
  7. 將 Dialogflow CX「Webhook URL」欄位中的網址,換成要整合的服務端點。在下拉式選單中選取適當的「方法」
  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。 字串

如要為這個元件設定「退貨後詳細資料」Webhook,請展開查看操作說明。

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

傳送貨到付款退款資訊

元件會使用 prebuilt_components_return_refund:send_COD_refund_information 網路鉤子,將退款相關付款資訊傳送給使用者。

API 要求參數

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

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

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

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

完成

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