出生日期收集預先建構元件

這個預先建構的元件會收集月份、日期和年份,擷取並驗證出生日期。

限制

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

  • 這個元件不支援透過身分驗證程序驗證使用者出生日期。

啟用 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_DATEIS_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 這個參數會傳回包含出生日期元素的物件:日、月和年
{
"year": integer,
"month": integer,
"day": integer
}

基本設定

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

  1. 匯入預先建構的元件

完成

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