訂單狀態預先建構的元件會檢查客戶的驗證層級,然後向已驗證的客戶提供使用者最近或過去訂單的相關資訊。這個元件會使用零售驗證預先建構的元件,驗證使用者。這個元件也會使用產生器,用於通話後的摘要。
限制
除了常見的預先建構元件限制外,這個預先建構元件還有以下限制:
- 這個元件不會加密任何資料。
對話方塊範例
以下對話方塊範例說明這個預先建構元件處理的常見情境。以下對話方塊範例說明使用電話服務呼叫元件時的行為,這會在對話開始時觸發「Default Welcome」意圖,並由服務專員提供第一個回應。
最近的訂單
使用者透過未註冊的號碼撥打電話,服務專員會驗證使用者身分,然後提供訂單中運送商品的詳細資訊。使用者確認想將其他詳細資料傳送至註冊的電話號碼。
使用者輸入內容 | 服務專員回應 |
---|---|
服務專員使用零售驗證預先建構的元件驗證使用者 | |
好的,John。你打電話來是想詢問 2023 年 11 月 10 日下午 6 點下單的最新訂單嗎?訂單屬於張三,內含燈具、上衣和其他 10 項商品。 | |
是 | |
你的訂單有 2 筆出貨,將於 2024-01-15 前送達。 你想進一步瞭解這些出貨嗎? |
|
是 | |
裝有牛仔褲、皮帶和其他 2 件商品的 1 號貨件正在運送中,預計於 2024 年 1 月 12 日送達。 裝有燈、襯衫和其他 6 件商品的 2 號貨件已於 2023 年 11 月 12 日送達。 你是否想收到簡訊,瞭解商品的詳細資訊? |
|
是 | |
我們已透過簡訊傳送連結,方便你追蹤所有貨物的運送狀態。感謝你來電。 |
重複訂單
使用者先前已完成驗證。使用者要求訂單資訊,並提供訂單的最後五碼。這位服務專員發現這位使用者下達的多筆訂單有相同的最後五碼,因此確認使用者想瞭解哪筆訂單的狀態,並向使用者提供訂單狀態。
使用者輸入內容 | 服務專員回應 |
---|---|
好的,Amber。你打這通電話,是想詢問 2023 年 11 月 10 日晚上 6 點下單的最新訂單嗎?訂單包含檯燈、上衣和其他 2 項商品,由 Amber Doe 下單。 | |
否 | |
請提供要追蹤的訂單 ID 末 5 碼。 | |
12355 | |
我們收到的訂單 ID 末五碼是 12355,對嗎? | |
沒錯 | |
很好,我們已收集到訂單 ID。 | |
根據我們的記錄,我們發現有 2 筆訂單的結尾都是相同的 5 位數字 12355。你要查看哪個訂單? 訂單號碼 1 (2023 年 11 月 10 日下午 6 點) 或訂單號碼 2 (2023 年 11 月 9 日晚上 8 點)? 如要選取訂單號碼 1,請說 1,如要選取訂單號碼 2,請說 2。否則說「否」。 |
|
訂購一個 | |
你的訂單有 2 筆出貨,將於 2024-01-15 前送達。 你想進一步瞭解這些出貨嗎? |
|
是 | |
含有牛仔褲的貨件 1 目前正在運送中,預計於 2024 年 1 月 15 日送達。 含有燈、襯衫和其他 1 項商品的貨件 2 已取消。 你是否想收到含有商品詳細資料的簡訊? |
|
不,就是這樣 | |
感謝你來電。 |
命名慣例
這個預先建構的元件採用下列命名慣例:
功能 | 格式 | 範例 |
---|---|---|
心流狀態 | [元件名稱] | 訂單狀態 |
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」分頁標籤。
- 在「流程」部分中,按一下匯入的元件。
- 按一下「網頁」部分中的「首頁」。
- 按一下「Start」頁面中的「true」路徑。
- 在路徑視窗中,視需要編輯「參數預設值」值。
- 按一下 [儲存]。
輸出參數
輸出參數是會在退出元件後仍保持啟用的會話參數。這些參數包含元件收集的重要資訊。這個預先建構的元件會為下列輸出參數提供值:
參數名稱 | 說明 | 輸出格式 |
---|---|---|
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 專案。
- 選取所需的代理程式。
- 選取「管理」分頁標籤。
- 按一下「Webhook」。
- 選取 prebuilt_components_order_status:get_order_details webhook。
- 將 Conversational Agents (Dialogflow CX) Webhook 網址欄位中的網址,替換為要整合的服務端點。在下拉式選單中選取適當的「方法」。
- 查看並更新要求主體,為 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 專案。
- 選取所需的代理程式。
- 選取「管理」分頁標籤。
- 按一下「Webhook」。
- 選取 prebuilt_components_retail_services:get_duplicate_order webhook。
- 將 Conversational Agents (Dialogflow CX) Webhook 網址欄位中的網址,替換為要整合的服務端點。在下拉式選單中選取適當的「方法」。
- 查看並更新要求主體,為 webhook 建立適當的要求格式。
- 查看並更新回應設定,從 webhook 回應中擷取特定欄位。請勿修改參數名稱,因為元件需要這些名稱才能存取傳回的欄位值。
- 視需要查看並更新驗證設定。
- 按一下 [儲存]。
傳送簡訊
元件會使用 prebuilt_components_order_status:send_sms
webhook,透過簡訊將訂單詳細資料傳送至指定的電話號碼。
API 要求參數
元件會將下列參數提供為 API 要求的輸入內容。
參數名稱 | 說明 | 輸入格式 |
---|---|---|
$session.params.phone_number | 使用者的當地電話號碼 (不含國家/地區代碼),用於識別使用者。 | 字串 |
$flow.order_id | 要傳送訂單詳細資料的訂單 ID。 | 字串 |
如要為此元件設定傳送簡訊 webhook,請展開操作說明。
- 開啟 Dialogflow CX 控制台。
- 選擇 Google Cloud 專案。
- 選取所需的代理程式。
- 選取「管理」分頁標籤。
- 按一下「Webhook」。
- 選取 prebuilt_components_order_status:send_sms webhook。
- 將 Conversational Agents (Dialogflow CX) Webhook 網址欄位中的網址,替換為要整合的服務端點。在下拉式選單中選取適當的「方法」。
- 查看並更新要求主體,為 webhook 建立適當的要求格式。
- 查看並更新回應設定,從 webhook 回應中擷取特定欄位。請勿修改參數名稱,因為元件需要這些名稱才能存取傳回的欄位值。
- 視需要查看並更新驗證設定。
- 按一下 [儲存]。
啟用通知
元件會使用 prebuilt_components_order_status:enable_notification
webhook,為使用者註冊的電話號碼啟用通知。
API 要求參數
元件會將下列參數提供為 API 要求的輸入內容。
參數名稱 | 說明 | 輸入格式 |
---|---|---|
$session.params.phone_number | 使用者的當地電話號碼 (不含國家/地區代碼),用於識別使用者。 | 字串 |
$flow.order_notification | 表示是否應為使用者啟用通知功能。 | 布林值 |
如要為此元件設定啟用通知 webhook,請展開操作說明。
- 開啟 Dialogflow CX 控制台。
- 選擇 Google Cloud 專案。
- 選取所需的代理程式。
- 選取「管理」分頁標籤。
- 按一下「Webhook」。
- 選取 prebuilt_components_order_status:enable_notification webhook。
- 將 Conversational Agents (Dialogflow CX) Webhook 網址欄位中的網址,替換為要整合的服務端點。在下拉式選單中選取適當的「方法」。
- 查看並更新要求主體,為 webhook 建立適當的要求格式。
- 查看並更新回應設定,從 webhook 回應中擷取特定欄位。請勿修改參數名稱,因為元件需要這些名稱才能存取傳回的欄位值。
- 視需要查看並更新驗證設定。
- 按一下 [儲存]。
完成
代理程式和相關的 webhook 應已設定完成,可以開始測試。