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

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

限制

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

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

啟用 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 [Component Name] 收集出生日期
元件專屬意圖 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. 匯入預先建構的元件。

完成

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