修正地址 - 示例

本文档介绍了 Address Validation API 提供的响应信号,这些信号保证您的系统可以修复行为。如需了解背景信息,请参阅构建验证逻辑中的工作流概览

常见示例:修复

本部分介绍了 Address Validation API 提供响应信号来表明地址信息质量较低的常见示例。

缺少城市和邮政编码

下例展示的条目仅包含街道地址,而不包含城市或邮政编码。

已输入地址 区域
21 45 40th street USA

缺少城市和邮政编码的判定结果

以下示例突出显示了响应中的重要信号。

{
  "inputGranularity": "PREMISE",
  "validationGranularity": "OTHER",
  "geocodeGranularity": "OTHER",
  "hasUnconfirmedComponents": true
}

这些信号表示地址无法送达,因此您可以查询 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"
}

validationGranularityROUTE,表示与相应街道匹配,但信息不足以找到相应建筑物。此外,判定结果中缺少 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
}

值得研究将仅限于前提级近似值的验证粒度与未经确认的组件相结合。对 addressComponents 属性的查询会显示以下未经确认的 componentType

{
  "componentName": {
    "text": "84",
    "languageCode": "en"
  },
  "componentType": "street_number",
  "confirmationLevel": "UNCONFIRMED_BUT_PLAUSIBLE"
}

在这里,street_numberconfirmation_level 设置为 UNCONFIRMED_BUT_PLAUSIBLE未确认表示服务无法与其数据集中的街道号 84 匹配,合理表示组件数据可能仍然有效。

缺少子媒体资源

此场景描述了仅缺少相应子建筑物(例如公寓号或部门号)的地址。否则,Address Validation API 可以完全验证该地址。与缺少任何地址组成部分时一样,addressCompletefalse,因此在手动检查判定结果时不会显示。

举例说明,假设一位顾客输入了旧金山市估测员办公室的有效地址,但从输入中漏掉了房间号。

输入的地址 区域
1 Doctor Carlton B Goodlett Place, San Francisco, CA 94102 USA

缺少子前提的判定结果

在此示例中,判定结果不会显示 addressComplete 属性,因此其值为 false。因此,您知道至少有一个地址元素意外、未解析或缺失。

{
  "inputGranularity": "PREMISE",
  "validationGranularity": "PREMISE",
  "geocodeGranularity": "PREMISE",
  "hasInferredComponents": true

}

address 查询会显示以下内容:

"missingComponentTypes": [
        "subpremise"
      ]

经过进一步调查,USPS 数据提供了 DdpvConfirmation 代码,这也表明缺少相应子建筑物。