訂單狀態預建元件會檢查顧客的驗證層級,然後向通過驗證的顧客提供最近或過去訂單的相關資訊。這個元件會使用零售驗證預建元件來驗證使用者。這個元件也會使用生成器,在通話後生成摘要。
限制
除了常見的預建元件限制外,這項預建元件還有下列限制:
- 這個元件不會加密任何資料。
對話範例
下列對話範例說明這項預建元件處理的常見情境。範例對話會示範使用電話呼叫元件時的行為,這會觸發預設歡迎意圖和對話開始時的第一個代理回覆。
近期訂單
使用者從未註冊的號碼來電,服務專員驗證使用者身分後,提供訂單中出貨的詳細資訊。使用者確認要將簡訊傳送至註冊的電話號碼,並提供其他詳細資料。
| 使用者輸入內容 | 代理回覆 |
|---|---|
| 代理使用零售驗證預先建構元件驗證使用者 | |
| 好的,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。 |
整數 |
如要設定這個元件的輸入參數,請展開查看操作說明。
- 開啟 Dialogflow CX 控制台。
- 選擇 Google Cloud 雲端專案。
- 選取代理。
- 選取「Build」(建構) 分頁標籤。
- 在「Flows」(流程) 部分,點選匯入的元件。
- 按一下「Pages」部分中的「Start Page」。
- 在「Start Page」中,點選「true」路徑。
- 在「Route」視窗中,視需要編輯「Parameter Presets」值。
- 按一下「儲存」。
輸出參數
輸出參數是工作階段參數,在退出元件後仍會保持有效。這些參數包含元件收集的重要資訊。這個預建元件會提供下列輸出參數的值:
| 參數名稱 | 說明 | 輸出格式 |
|---|---|---|
| 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 內建事件」。 |
字串 |
基本設定
如要設定這項預建元件,請按照下列步驟操作:
- 匯入預先建構的元件。
- 使用描述外部服務的設定,設定提供的彈性 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,請展開查看操作說明。
- 開啟 Dialogflow CX 控制台。
- 選擇 Google Cloud 雲端專案。
- 選取代理。
- 選取「管理」分頁標籤。
- 按一下「Webhooks」。
- 選取 prebuilt_components_order_status:get_order_details Webhook。
- 將 Dialogflow CX「Webhook 網址」欄位中的網址,替換成要整合的服務端點。在下拉式選單中選取適當的「Method」。
- 查看並更新要求主體,為 Webhook 建立適當的要求格式。
- 查看並更新回應設定,從 Webhook 的回應中擷取特定欄位。請勿修改參數名稱,因為元件需要這些名稱才能存取傳回的欄位值。
- 視需要查看及更新「驗證」設定。
- 按一下「儲存」。
取得重複訂單
元件會使用 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,請展開查看操作說明。
- 開啟 Dialogflow CX 控制台。
- 選擇 Google Cloud 雲端專案。
- 選取代理。
- 選取「管理」分頁標籤。
- 按一下「Webhooks」。
- 選取 prebuilt_components_retail_services:get_duplicate_order Webhook。
- 將 Dialogflow CX「Webhook 網址」欄位中的網址,替換成要整合的服務端點。在下拉式選單中選取適當的「Method」。
- 查看並更新要求主體,為 Webhook 建立適當的要求格式。
- 查看並更新回應設定,從 Webhook 的回應中擷取特定欄位。請勿修改參數名稱,因為元件需要這些名稱才能存取傳回的欄位值。
- 視需要查看及更新「驗證」設定。
- 按一下「儲存」。
傳送簡訊
元件會使用 prebuilt_components_order_status:send_sms Webhook,透過簡訊將訂單詳細資料傳送至指定電話號碼。
API 要求參數
元件會提供下列參數,做為 API 要求的輸入內容。
| 參數名稱 | 說明 | 輸入格式 |
|---|---|---|
| $session.params.phone_number | 使用者的當地電話號碼 (不含國家/地區代碼),用於識別使用者。 | 字串 |
| $flow.order_id | 要傳送訂單詳細資料的訂單 ID。 | 字串 |
如要為這個元件設定「傳送簡訊」Webhook,請展開查看操作說明。
- 開啟 Dialogflow CX 控制台。
- 選擇 Google Cloud 雲端專案。
- 選取代理。
- 選取「管理」分頁標籤。
- 按一下「Webhooks」。
- 選取 prebuilt_components_order_status:send_sms Webhook。
- 將 Dialogflow CX「Webhook 網址」欄位中的網址,替換成要整合的服務端點。在下拉式選單中選取適當的「Method」。
- 查看並更新要求主體,為 Webhook 建立適當的要求格式。
- 查看並更新回應設定,從 Webhook 的回應中擷取特定欄位。請勿修改參數名稱,因為元件需要這些名稱才能存取傳回的欄位值。
- 視需要查看及更新「驗證」設定。
- 按一下「儲存」。
啟用通知
元件會使用 prebuilt_components_order_status:enable_notification Webhook,為使用者註冊的電話號碼啟用通知。
API 要求參數
元件會提供下列參數,做為 API 要求的輸入內容。
| 參數名稱 | 說明 | 輸入格式 |
|---|---|---|
| $session.params.phone_number | 使用者的當地電話號碼 (不含國家/地區代碼),用於識別使用者。 | 字串 |
| $flow.order_notification | 指出是否應為使用者啟用通知。 | 布林值 |
如要為這個元件設定「啟用通知」Webhook,請展開查看操作說明。
- 開啟 Dialogflow CX 控制台。
- 選擇 Google Cloud 雲端專案。
- 選取代理。
- 選取「管理」分頁標籤。
- 按一下「Webhooks」。
- 選取 prebuilt_components_order_status:enable_notification Webhook。
- 將 Dialogflow CX「Webhook 網址」欄位中的網址,替換成要整合的服務端點。在下拉式選單中選取適當的「Method」。
- 查看並更新要求主體,為 Webhook 建立適當的要求格式。
- 查看並更新回應設定,從 Webhook 的回應中擷取特定欄位。請勿修改參數名稱,因為元件需要這些名稱才能存取傳回的欄位值。
- 視需要查看及更新「驗證」設定。
- 按一下「儲存」。
完成
代理和 Webhook 應已設定完成,可以開始測試。