修正地址 - 示例

本文档介绍了许多实际场景,在这些场景中,Address Validation 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。Unconfirmed 表示该服务无法在其数据集中匹配门牌号 84,而 plausible 表示组件数据可能仍然有效。

缺少子场所

此场景描述的是仅缺少子门牌号(例如公寓号或部门号)的地址。否则,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 数据提供了 D 的 dpvConfirmation 代码,这也表示缺少子场所。