這個預先建構的元件會收集月份、日期和年份,擷取並驗證出生日期。
限制
除了常見的預先建構元件限制外,這個預先建構元件還有下列限制:
- 這個元件不支援透過身分驗證程序驗證使用者出生日期。
建議的代理程式設定
啟用 DTMF,允許使用者透過電話鍵盤輸入數值。
其他功能
這個預先建構的元件提供下列額外功能:
對話範例
下列範例對話方塊展示了這個預先建構元件處理的常見情境。範例對話會示範透過電話呼叫元件時的行為,這會觸發預設的歡迎意圖,並在對話開始時提供第一個代理程式回應。
完整出生日期
使用者在一個輪次中提供完整的出生日期,代理成功接受。
| 使用者輸入內容 | 代理回覆 |
|---|---|
| 請提供出生日期。請依序說出出生月份、出生日期和出生年份。 | |
| 1995 年 9 月 9 日 | |
| 好的,你的出生日期是 1995 年 9 月 9 日。對嗎? | |
| 是 | |
| 太好了,我已收集您的出生日期。 |
部分出生日期
使用者先說出月份,再說出日期和年份,並由服務專員成功接受。
| 使用者輸入內容 | 代理回覆 |
|---|---|
| 請提供出生日期。請依序說出出生月份、出生日期和出生年份。 | |
| 3 月 | |
| 你的生日是哪一天? | |
| 12 | |
| 你是哪一年出生的? | |
| 1999 | |
| 好的,你的出生日期是 1999 年 3 月 12 日。對嗎? | |
| 是 | |
| 太好了,我已收集您的出生日期。 |
驗證未來的日期
這個情境假設目前日期為 2023 年 3 月 22 日。使用者提供未來的出生日期;代理程式會驗證該日期,並再次提示使用者提供正確的出生日期。
| 使用者輸入內容 | 代理回覆 |
|---|---|
| 請提供出生日期。請依序說出出生月份、出生日期和出生年份。 | |
| 2023 年 9 月 9 日 | |
| 你是哪一年出生的? | |
| 2023 | |
| 好的,你的出生日期是 2023 年 9 月 9 日。對嗎? | |
| 是 | |
| 抱歉,你提供的日期是未來的日期。讓我們重新開始。 你出生於哪個月? |
|
| 3 月 | |
| 你的生日是哪一天? | |
| 12 | |
| 你是哪一年出生的? | |
| 1999 | |
| 好的,你的出生日期是 1999 年 3 月 12 日。對嗎? | |
| 是 | |
| 太好了,我已收集您的出生日期。 |
日期無效
使用者提供無效的出生日期,例如 1999 年 2 月 30 日或 1999 年 4 月 31 日;服務專員驗證後,會再次提示使用者提供正確的出生日期。
| 使用者輸入內容 | 代理回覆 |
|---|---|
| 請提供出生日期。請依序說出出生月份、出生日期和出生年份。 | |
| 1999 年 2 月 30 日 | |
| 好的,你的出生日期是 1999 年 2 月 30 日。對嗎? | |
| 是 | |
| 您提供的日期無效。讓我們重新開始。 你出生於哪個月? |
|
| 3 月 | |
| 你的生日是哪一天? | |
| 12 | |
| 你是哪一年出生的? | |
| 1999 | |
| 好的,你的出生日期是 1999 年 3 月 12 日。對嗎? | |
| 是 | |
| 太好了,我已收集您的出生日期。 |
無法辨識的輸入內容
如果使用者提供無法辨識的輸入內容三次,元件就會結束流程。
| 使用者輸入內容 | 代理回覆 |
|---|---|
| 請提供出生日期。請依序說出出生月份、出生日期和出生年份。 | |
| 沒關係 | |
| 抱歉,我沒聽清楚。請再次說出或輸入您的出生日期。 | |
| nice | |
| 抱歉,我沒有收到你的出生日期。我們先從月份開始。請說出你的出生月份。 | |
| good | |
| 抱歉,我沒聽清楚。請再次說出或輸入月份編號。 | |
| nice | |
| 抱歉,我還是沒聽清楚。請務必說出月份,如果我聽不清楚你說話,你也可以使用鍵盤輸入月份數字。 | |
| nice | |
| 抱歉,我不太瞭解你的回覆。 |
驗證出生日期
這個預先建構的元件會使用 IS_DATE 和 IS_FUTURE_DATE 系統函式,檢查收集到的日期是否有效且為過去日期。此外:
- 系統會將「這個月」、「下個月」或「上個月」等輸入內容轉換為適當的月份。舉例來說,如果使用者在 3 月與代理程式互動,則「本月」、「下個月」和「上個月」會分別轉換為「3 月」、「4 月」和「2 月」。
- 驗證年份是否為四位數。如果輸入的年份只有兩位數,元件會將其轉換為四位數年份。例如,「98」會轉換為「1998」。
- 系統會將「本週四」、「上週四」和「下週四」等輸入內容擷取為適當的月份和日期,並提示代理程式提供年份。舉例來說,如果使用者在 2023 年 3 月 22 日 (星期三) 與代理程式互動,「本週四」、「上週四」和「下週四」會分別轉換為「3 月 23 日」、「3 月 16 日」和「3 月 30 日」。
命名慣例
這個預先建構的元件採用下列命名慣例:
| 功能 | 格式 | 範例 |
|---|---|---|
| Flow | [元件名稱] | 收集出生日期 |
| 元件專屬意圖 | prebuilt_components_[component_name]_[intent_name] | prebuilt_components_dob_collection_collect_month |
| 參數 | [param_name] | dob |
| 實體類型 | prebuilt_components_[component_name]_[entity_type] | prebuilt_components_dob_collection_dob_day |
輸出參數
輸出參數是工作階段參數,離開元件後仍會保持有效狀態。這些參數包含元件收集的重要資訊。這個預先建構的元件會提供下列輸出參數的值:
| 參數名稱 | 說明 | 輸出格式 |
|---|---|---|
| dob_collection_dob | 這個參數會傳回包含出生日期元素的物件:日、月和年 |
{ |
基本設定
如要設定這個預先建構的元件,請按照下列步驟操作:
完成
代理程式應已設定完成,可以開始測試。