本文档介绍了一些实际应用场景,在这些场景中,地址验证 API 提供的响应信号可能需要您的系统采取修复行为。如需了解相关背景信息,请参阅构建验证逻辑中的工作流示例。
常见示例:修复
本部分介绍了 Address Validation API 提供响应信号来指示地址信息质量较低的常见示例。
缺少城市和邮政编码
此示例展示了一个仅包含街道地址而没有城市或邮政编码的条目。
输入的地址 | 区域 |
---|---|
21 45 40th street | USA |
缺少城市和邮政编码的判决
以下示例重点展示了响应中的重要信号。
{
"inputGranularity": "PREMISE",
"validationGranularity": "OTHER",
"geocodeGranularity": "OTHER",
"hasUnconfirmedComponents": true,
"possibleNextAction": "FIX"
}
possibleNextAction
会初步表明该地址可能无法送达。其他突出显示的组件也支持这种可能性,因此您可以查询 addressComponents
以了解详情:
{
"componentName": {
"text": "21",
"languageCode": "en"
},
"componentType": "street_number",
"confirmationLevel": "UNCONFIRMED_BUT_PLAUSIBLE"
},
{
"componentName": {
"text": "45 40th street",
"languageCode": "en"
},
"componentType": "route",
"confirmationLevel": "UNCONFIRMED_BUT_PLAUSIBLE"
},
{
"componentName": {
"text": "United States",
"languageCode": "en"
},
"componentType": "country",
"confirmationLevel": "CONFIRMED"
}
Address Validation API 仅返回国家/地区(美国),即 CONFIRMED
。
它会以 UNCONFIRMED_BUT_PLAUSIBLE
形式返回所有其他地址组成部分,但会省略一些重要的数据,例如本地性和邮政编码。
缺少门牌号
此示例显示了缺少门牌号的情况。
输入的地址 | 区域 |
---|---|
Buckingham Palace Road, SW1W 9TQ London | 英国 |
缺少门牌号的判决
{
"inputGranularity": "PREMISE_PROXIMITY",
"validationGranularity": "ROUTE",
"geocodeGranularity": "ROUTE",
"possibleNextAction": "FIX"
}
同样,possibleNextAction
会初步表明相应地址可能无法送达。此外,validationGranularity
为 ROUTE
,表示与街道匹配,但信息不足以到达营业场所。此外,判决中缺少 addressComplete
属性,因此为 false
。进一步查询 address
对象会发现缺少组件类型:
"missingComponentTypes": [
"street_number"
]
边缘情况示例:修复
在某些情况下,您是修正、确认还是接受地址取决于您的具体业务场景。以下示例说明了可能不严格属于任何修复类别的场景。
门牌号未经确认
在此场景中,Address Validation API 无法确认提供的门牌号,但会指示地址完整。
输入的地址 | 区域 |
---|---|
84 Buckingham Palace Road, SW1W 9TQ, London | 英国 |
未确认的门牌号的判决
以下示例重点介绍了重要信号。
{
"inputGranularity": "PREMISE",
"validationGranularity": "PREMISE_PROXIMITY",
"geocodeGranularity": "PREMISE_PROXIMITY",
"addressComplete" : true,
"hasUnconfirmedComponents": true,
"possibleNextAction": "ACCEPT"
}
值得研究的是,仅将验证粒度与营业场所级近似值和未确认的组件相结合。对 addressComponents
属性的查询显示了以下未确认的 componentType
:
{
"componentName": {
"text": "84",
"languageCode": "en"
},
"componentType": "street_number",
"confirmationLevel": "UNCONFIRMED_BUT_PLAUSIBLE"
}
在此示例中,street_number
的 confirmation_level
设置为 UNCONFIRMED_BUT_PLAUSIBLE
。未确认表示该服务无法在其数据集中找到 84 号的门牌号,而可能表示相应组件数据可能仍然有效。
缺少子场所
此情形描述的是仅缺少子地址(例如公寓号或部门号)的地址。否则,Address Validation API 可以完全验证该地址。与缺少任何地址组成部分的情况一样,addressComplete
为 false
,因此在人工检查判决时不会显示。
举例来说,假设客户输入了旧金山市政评估办公室的有效地址,但输入中缺少房间号。
输入的地址 | 区域 |
---|---|
1 Doctor Carlton B Goodlett Place, San Francisco, CA 94102 | USA |
缺少子前提的判决
在此示例中,判决结果未显示 addressComplete
属性,因此该属性为 false
。因此,您知道至少有一个地址元素是意外的、未解析的或缺失的。
{
"inputGranularity": "PREMISE",
"validationGranularity": "PREMISE",
"geocodeGranularity": "PREMISE",
"hasInferredComponents": true,
"possibleNextAction": "CONFIRM_ADD_SUBPREMISES"
}
address
查询显示以下内容:
"missingComponentTypes": [
"subpremise"
]
经过进一步查询,我们发现 USPS 数据提供的 dpvConfirmation
代码为 D
,这也表明缺少子地址。