地址收集预构建组件会从最终用户收集地址,并使用 Google Address Validation API 验证地址。
限制
除了常见的预构建组件限制之外,此预构建组件还存在以下限制:
- 仅支持 Address Validation API 覆盖范围详情中列出的国家/地区的地址。
其他功能
此预构建组件还提供以下其他功能:
对话框示例
以下示例对话框演示了此预构建组件处理的常见场景。示例对话框演示了通过电话调用组件时的行为,这会触发默认欢迎 intent 并在对话开始时发出第一个客服人员回复。
完整有效的地址
最终用户提供完整的地址,地址收集组件成功验证该地址。
用户输入 | 客服人员回复 |
---|---|
首先,请告诉我您的完整地址。 | |
1600 Amphitheatre Parkway, Mountain View, CA 94043-1351, USA | |
我已收集最终地址:国家/地区为美国、省/直辖市/自治区为加利福尼亚州、城市为山景、街道号为 1600、路线为 Amphitheatre Parkway、邮政编码为 94043。对吗?请说“是”或“否”。 | |
是 | |
太棒了,我已收集地址。 |
包含推断元素的部分有效地址
最终用户提供部分地址;客服人员猜测缺失的部分,并在最终用户确认后成功验证。
用户输入 | 客服人员回复 |
---|---|
首先,请告诉我您的完整地址。 | |
1600 Amphitheatre Parkway | |
我猜出了地址的部分信息:城市是 Mountain View、邮政编码是 94043、行政区是 CA、国家/地区是美国。 我收集了最终地址:街道号码是 1600、路线是 Amphitheatre Parkway、城市是 Mountain View、行政区是 CA、邮政编码是 94043、国家/地区是美国。对吗?请说“是”或“否”。 |
|
是 | |
太棒了,我已收集地址。 |
包含用户提供元素的部分有效地址
最终用户提供部分地址;客服人员猜测缺失的部分,但最终用户在说“不”后提供了自己的输入,客服人员成功接受了地址。
用户输入 | 客服人员回复 |
---|---|
首先,请告诉我您的完整地址。 | |
1600 Amphitheatre Parkway | |
我猜出了地址的部分信息:城市是 Mountain View、邮政编码是 94043、行政区是 CA、国家/地区是美国。 我收集了最终地址:街道号码是 1600、路线是 Amphitheatre Parkway、城市是 Mountain View、行政区是 CA、邮政编码是 94043、国家/地区是美国。对吗?请说“是”或“否”。 |
|
否 | |
好的。请告诉我地址的哪个部分需要更改。 | |
邮政编码 | |
您能否提供邮政编码? | |
94044 | |
我已经完成此更新。您还需要更改其他内容吗?请说“是”或“否”。 | |
否 | |
经过验证,我已将邮政编码替换为 94043。 我已收集最终地址:街道号码为 1600,路线为 Amphitheatre Parkway,城市为 Mountain View,行政区为 CA,邮政编码为 94043,国家/地区为美国。对吗?请说“是”或“否”。 |
|
是 | |
太棒了,我已收集地址。 |
无法识别所输入的内容
最终用户提供无法识别的输入三次后,组件会退出流程。
用户输入 | 客服人员回复 |
---|---|
首先,请告诉我您的完整地址。 | |
没关系 | |
抱歉,我没听明白。首先,请告诉我您的完整地址。 | |
nice | |
呃,我还是没听明白。首先,请告诉我您的完整地址。 | |
非常好 | |
抱歉,我没听懂您的回答。 |
地址不受支持
当最终用户提供 Address Validation API 目前不支持的地址后,组件会退出流程。
用户输入 | 客服人员回复 |
---|---|
首先,请告诉我您的完整地址。 | |
印度 | |
抱歉,我目前无法验证该区域的地址。 |
地址验证
如需了解地址收集组件如何验证地址,请参阅 Address Validation API 概览。
地址收集组件使用 @sys.address 系统实体捕获最终用户输入,并将捕获的地址发送到 Address Validation API 以提取地址元素以供进一步处理。
Address Validation API 会返回以下地址元素,该组件会使用这些元素收集和验证完整地址:
- administrative_area_level_1
- 群岛
- country
- locality
- postal_code
- route
- street_number
您可以使用受支持的地区中的任何地址试用 Google 地址验证演示。
命名规则
此预构建组件使用以下命名惯例:
功能 | 格式 | 示例 |
---|---|---|
流程 | [组件名称] | 地址收集 |
特定于组件的 intent | prebuilt_components_[component_name]_[intent_name] | prebuilt_components_address_collection_locality |
参数 | [param_name] | user_provided_address |
网络钩子 | prebuilt_components_[component_name]:[webhook_action] | prebuilt_components_address_collection:address_validation |
输入参数
输入参数是用于配置组件特定行为的参数。流程中一个或多个条件将使用这些参数来确定组件的行为方式。必须在组件的开始页面上设置流程级范围的参数,如下所述。会话级范围的参数可以通过调用流程或在此组件的首页上设置。
您可以通过修改流程的开始页面中的参数预设值,配置此组件所需的地址元素。
此预构建组件接受以下输入参数:
参数名称 | 说明 | 输入格式 |
---|---|---|
$flow.zip_code | 如果邮政编码地址元素是必需的,则设置为 true ,否则设置为 false 。 |
布尔值 |
$flow.city | 如果城市地址元素是必需的,则设置为 true ,否则设置为 false 。 |
布尔值 |
$flow.admin_area | 如果行政区地址元素是必需的,则设置为 true ,否则设置为 false 。 |
布尔值 |
$flow.street_number | 如果门牌号地址元素是必需的,请将其设置为 true ,否则请设置为 false 。 |
布尔值 |
$flow.route | 如果路由地址元素是必需的,则设置为 true ,否则设置为 false 。 |
布尔值 |
$flow.country | 如果国家/地区地址元素是必需的,则设置为 true ,否则设置为 false 。 |
布尔值 |
$flow.island | 如果岛屿地址元素是必需的,则设置为 true ,否则设置为 false 。 |
布尔值 |
$flow.retry_num | 设置 Maps Address Validation API webhook 调用的最大重试次数限制 | 整数 |
如需为此组件配置输入参数,请展开相应部分查看说明。
- 打开 Dialogflow CX 控制台。
- 选择您的 Google Cloud 项目。
- 选择您的代理。
- 选择构建标签页。
- 点击流部分中的导入的组件。
- 点击页面部分中的“首页”。
- 点击“开始”页面中的 true 路线。
- 在“路线”窗口中,根据需要修改参数预设值。
- 点击保存。
输出参数
输出参数是会话参数,会在退出组件后保持有效状态。这些参数包含组件收集的重要信息。此预构建组件会为以下输出参数提供值:
参数名称 | 说明 | 输出格式 |
---|---|---|
address_collection_address | 如果组件捕获了地址,此参数会返回地址对象 | { |
address_collection_status | 此参数会返回收集到的地址的状态。返回的值如下:VALID_ADDRESS :地址已收集并由 Address Validation API 验证。INVALID_ADDRESS :地址已由最终用户确认,但 Address Validation API 未验证一个或多个元素,或将其标记为 UNCONFIRMED_BUT_PLAUSIBLE。MAPS_API_ERROR :由于 Address Validation API 出错,未收集地址。COUNTRY_NOT_SUPPORTED :由于 Address Validation API 不支持该地区,未收集地址。NO_USER_CONFIRMATION :由于最终用户未确认地址,地址未确认。 |
string |
基本设置
如需设置此预构建组件,请执行以下操作:
- 导入预构建组件。
- 启用 Address Validation API。
- 使用您的 Google 地图 API 密钥配置提供的灵活 webhook,请参阅下文中的 Webhook 设置。
网络钩子设置
如需使用 Address Validation API 验证地址,您需要使用正确的凭据配置提供的灵活 webhook。
地址验证 Webhook
此 Webhook 会执行以下操作:
- 处理捕获的对话式 AI 客服 (Dialogflow CX) 参数、表单请求,并使用 Address Validation API 验证地址。
- 从 Google Address Validation API 响应中提取已确认、未确认、缺失和推断出的地址元素。
如需为此组件配置 webhook,您需要使用 Google 地图 API 密钥更新 webhook 设置。
- 如需检索您的 API 密钥,请依次前往 Google Cloud Platform 控制台 > API 和服务 > 凭据,选择您的 Google 地图 API 密钥,然后复制“API 密钥”字段。
如需配置该 webhook,请执行以下操作:
- 打开 Dialogflow CX 控制台。
- 选择您的 Google Cloud 项目。
- 选择您的代理。
- 选择管理标签页。
- 点击网络钩子。
- 选择 prebuilt_components_address_collection:address_validation webhook。
- 将 Conversational Agents (Dialogflow CX) Webhook 网址字段中的网址替换为包含您的 Google 地图 API 密钥的网址:https://addressvalidation.googleapis.com/v1:validateAddress?key=MAPS_API_KEY
- 在身份验证设置中,将“用户名”配置为
key
,并将“密码”设置为您的 Maps API 密钥。 - 点击保存。
完成
您的代理及其 Webhook 现在应该已设置完毕,可以进行测试了。