了解基本地址验证响应

Address Validation API 以 JSON 对象的形式提供响应正文,其中包含以下两个顶级属性:

{
  "result": {
    // Validation verdict.
    "verdict": {},
    // Address details determined by the API.
    "address": {},
    // The geocode generated for the input address.
    "geocode": {},
    // Information indicating if the address is a business, residence, etc.
    "metadata": {},
    // Information about the address from the US Postal Service
    // ("US" and "PR" addresses only).
    "uspsData": {},
  },
  // A unique identifier generated for every request to the API.
  "responseId": "ID"
}

本文档重点介绍 result 对象。如需了解 responseID,请参阅处理更新后的地址

verdict 属性

verdict 属性会汇总地址验证结果,应在构建地址检查逻辑时首先评估该属性。该媒体资源可以返回各种字段,具体取决于输出地址的质量。例如,以下代码展示了高质量地址的 verdict 属性,它为此特定请求返回 4 个字段:

"verdict": {
  "inputGranularity": "PREMISE",
  "validationGranularity": "PREMISE",
  "geocodeGranularity": "PREMISE",
  "addressComplete": true
}

以下部分总结了 verdict 属性中的所有字段。

请参阅参考指南中的Verdict

地址的粒度

地址精确度是指用于确定地址或地理编码的具体程度的详细程度。validationGranularity 响应中的地址特异性是判断地址是否可送达的关键信号。

verdict 属性会返回以下精细度信号:

  • inputGranularity - 描述从发送到 Address Validation API 的地址捕获的详细程度。请求中的地址详细程度会影响验证响应中的地址详细程度。例如,inputGranularity 低于 PREMISE 级别的地址通常不会导致 validationGranularityPREMISE 级别。
  • validationGranularity - Address Validation API 可对地址进行全面验证的精细级别。在大多数情况下,PREMISESUB_PREMISE 的精细化级别表示地址质量良好,可以投递。
  • geocodeGranularity - 说明与地址关联的地理编码的详细程度。例如,Google 记录可能表明某个公寓号的存在,但无法提供该公寓在大型公寓楼中的确切位置。在这种情况下,validationGranularitySUB_PREMISE,但 geocodeGranularityisPREMISE`。
请参阅参考指南中的粒度

地址的完整性

判定结果会将 addressComplete 属性作为高质量地址的信号返回,这具体意味着地址没有缺失、未解析或意外的组件:

"verdict": {
    "inputGranularity": "PREMISE",
    "validationGranularity": "PREMISE",
    "geocodeGranularity": "PREMISE",
    "addressComplete": true
}

当地址包含缺失、未解析或意外组成部分时,该字段会设置为 false

请参阅参考指南中的判定结果地址下方的 addressComplete

地址质量

有许多可能的字段会指明地址组成部分存在问题或对其进行了调整,例如推断出的地址组成部分或缺少的地址组成部分。例如,以下 verdict 属性表示地址包含未经确认的组件且缺少 addressComplete 字段:

"verdict": {
    "inputGranularity": "PREMISE",
    "validationGranularity": "OTHER",
    "geocodeGranularity": "OTHER",
    "hasUnconfirmedComponents": true,
    "hasInferredComponents": true
}
请参阅参考指南中的判定结果

addressaddressComponent 属性

address 属性用于为请求中提供的经过处理的地址设置格式,并提供地址的组件级摘要,包括地址中拼写有误的部分、替换的错误部分以及推断出的缺失部分。

请参阅参考指南中的 Address

addressComponent 属性是 address 的子组件,用于详细列出 Address Validation API 处理过的地址的元素或组件。API 会通过名称、类型和确认级别来标识每个组件字段。

请参阅参考指南中的 addressComponent

geocode 属性

geocode 属性表示与输入地址关联的经过地理编码的位置。此属性提供有关相应营业地点本身的详细信息,例如其地点 ID。

请参阅参考指南中的 Geocode

metadata 属性

Address Validation API 处理的每个地址都可能不会填充此属性,但该属性会指明地址的类型是住宅、商家还是邮政信箱。

请参阅 Address Validation API 覆盖范围以及 Address metadata 的参考文档。

uspsData 属性

此属性可提供有关美国邮政地址的实用信息。不过,我们无法保证为服务验证的每个地址都填充完整的地址信息。因此,您不应将此属性作为验证地址的唯一方式,而应同时检查 verdictaddress

请参阅处理美国地址以及 UspsData 的参考文档。