訂單狀態預先建構元件

訂單狀態預建元件會檢查顧客的驗證層級,然後向通過驗證的顧客提供最近或過去訂單的相關資訊。這個元件會使用零售驗證預建元件來驗證使用者。這個元件也會使用生成器,在通話後生成摘要。

限制

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

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

對話範例

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

近期訂單

使用者從未註冊的號碼來電,服務專員驗證使用者身分後,提供訂單中出貨的詳細資訊。使用者確認要將簡訊傳送至註冊的電話號碼,並提供其他詳細資料。

使用者輸入內容 代理回覆
代理使用零售驗證預先建構元件驗證使用者
好的,John。你來電是要詢問最近一筆訂單嗎?訂購人是 John Doe,內容包含燈具、襯衫和另外 10 項商品,下單時間是 2023 年 11 月 10 日下午 6 點。
是
你的訂單有 2 筆出貨資訊,預計送達日期為 2024-01-15。

想進一步瞭解這些出貨資訊嗎?
是
第 1 批貨物包含牛仔褲、皮帶和另外 2 件商品,目前正在運送中,預計 2024 年 1 月 12 日送達。

第 2 批貨物包含燈具、襯衫和另外 6 件商品,已於 2023 年 11 月 12 日送達。

你想收到簡訊,瞭解商品的詳細資訊嗎?
是
我們已傳送簡訊給你,內含追蹤所有出貨狀態的連結。感謝您致電。

重複訂單

使用者先前已通過驗證。使用者要求提供訂單資訊,並提供訂單末五碼。代理發現這位使用者有多筆訂單的末五碼相同,因此會確認使用者想查詢哪筆訂單,並提供訂單狀態。

使用者輸入內容 代理回覆
好的,琥珀。你來電是要詢問 Amber Doe 最近一筆訂單嗎?這筆訂單是在 2023 年 11 月 10 日下午 6 點下單,內含燈具、襯衫和其他 2 項商品。
否
能否請你提供要追蹤的訂單 ID 末 5 碼?
12355
我們取得的訂單 ID 末五碼是 12355,對嗎?
沒錯
很好,我們已收集到訂單 ID。
根據我們的記錄,有 2 筆訂單的末 5 碼都是 12355。你想查詢哪筆訂單?

訂單編號 1 (下單時間:2023 年 11 月 10 日下午 6:00) 還是訂單編號 2 (下單時間:2023 年 11 月 9 日下午 8:00)?

如要選取訂單編號 1,請說「1」;如要選取訂單編號 2,請說「2」。否則請回答「否」。
訂購
你的訂單有 2 筆出貨資訊,預計送達日期為 2024-01-15。

想進一步瞭解這些出貨資訊嗎?
是
第 1 批貨物 (牛仔褲) 正在運送中,預計 2024 年 1 月 15 日送達。

第 2 批貨物 (燈具、襯衫和另外 1 件商品) 已取消。

想透過簡訊接收商品詳情嗎?
沒有了,就這樣。
感謝您致電。

命名慣例

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

功能 格式 範例
Flow [Component Name] Order Status
Webhook prebuilt_components_[component_name]:[webhook_action] prebuilt_components_order_status:get_order_details

輸入參數

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

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

參數名稱 說明 輸入格式
$session.params.phone_number (選用) 使用者的當地電話號碼 (不含國家/地區代碼),用於識別使用者。 字串
$session.params.all_recent_order_id (選用) 這個參數會列出與已驗證使用者相關聯的訂單 ID,並依訂單日期遞減排序。陣列的第一個元素代表最近的訂單。如果使用者沒有訂單,這個參數的值會是 null。 清單 (字串)
$session.params.email (選用) 帳戶註冊的電子郵件地址。 字串
$session.params.user_first_name (選用) 使用者的名字,用於問候及確認帳戶擁有權。 字串
$flow.max_shipment 指定一次向使用者顯示的運送數量。預設值為 2。 整數
$flow.tracking_status_delivered 指定 Webhook 傳回的值,表示訂單狀態為「已送達」。預設值為 "delivered"。 字串
$flow.tracking_status_cancelled 指定 Webhook 傳回的值,表示訂單狀態為已取消。預設值為 "cancelled"。 字串
$flow.tracking_status_returned 指定 Webhook 傳回的值,表示退貨訂單狀態。預設值為 "returned"。 字串
$flow.tracking_status_partially_returned 指定 Webhook 傳回的值,表示部分退貨的訂單狀態。預設值為 "partially returned"。 字串
$flow.max_retry_alternate_profile 指定從未註冊的電話號碼或替代設定檔要求訂單狀態時,允許的重試次數。預設值為 3。 整數
$flow.max_retry_order_number 指定提供訂單號碼時允許的重試次數。預設值為 3。 整數
$flow.max_retry_another_order_id 指定提供無效訂單號碼後,允許的重試次數。預設值為 3。 整數

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

  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 內建事件」。
字串

基本設定

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

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

Webhook 設定

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

驗證

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

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

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

API 要求參數

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

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

API 回應參數

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

參數名稱 說明 輸出格式
order_date 下單日期,格式為 YYYY-MM-DD。 字串
order_time 下單時間,格式為 HH:MM。 字串
order_status 指出訂單狀態。範例值包括 "pending"、"processing"、"in-transit"、"on-hold"、"cancelled"、"delivered"、"returned"、"partially returned"。 字串
order_product_name 訂單中的產品名稱清單。 清單 (字串)
order_product_quantity 訂單中每項產品的訂購總數。 整數
order_product_count 訂單中不重複產品的數量。 整數
order_status_notification 指出是否已啟用這筆訂單的通知。 布林值
return_eligibility_date 訂單中每項產品的退貨期限清單,格式為 YYYY-MM-DD。 清單 (字串)
order_customer_billing_name 訂單帳單上顧客的名字。 字串
order_latest_delivery_date 訂單中所有出貨商品的預計送達日期中,最晚的送達日期,格式為 YYYY-MM-DD。 字串
order_shipment_multiple 指出訂單是否包含多筆出貨資訊。 布林值
order_shipment_count 訂單中的出貨數量。 整數
order_shipment_product_count 訂單中每筆出貨的產品總數。 清單 (整數)
order_shipment_product_name 訂單中每筆出貨的產品名稱清單。 清單 (字串)
order_estimated_delivery_date 訂單中每批出貨商品的預計送達日期清單,格式為 YYYY-MM-DD。 清單 (字串)
order_shipment_status 這份清單會列出訂單中每筆出貨的狀態。範例值包括 "pending"、"processing"、"in-transit"、"on-hold"、"cancelled"、"delivered"、"returned"、"partially returned"。 清單 (字串)

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

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

取得重複訂單

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

傳送簡訊

元件會使用 prebuilt_components_order_status:send_sms Webhook,透過簡訊將訂單詳細資料傳送至指定電話號碼。

API 要求參數

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

參數名稱 說明 輸入格式
$session.params.phone_number 使用者的當地電話號碼 (不含國家/地區代碼),用於識別使用者。 字串
$flow.order_id 要傳送訂單詳細資料的訂單 ID。 字串

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

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

啟用通知

元件會使用 prebuilt_components_order_status:enable_notification Webhook,為使用者註冊的電話號碼啟用通知。

API 要求參數

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

參數名稱 說明 輸入格式
$session.params.phone_number 使用者的當地電話號碼 (不含國家/地區代碼),用於識別使用者。 字串
$flow.order_notification 指出是否應為使用者啟用通知。 布林值

如要為這個元件設定「啟用通知」Webhook,請展開查看操作說明。

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

完成

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