Package google.maps.addressvalidation.v1

索引

地址验证

用于验证地址的服务。

提供验证反馈

rpc ProvideValidationFeedback(ProvideValidationFeedbackRequest) returns (ProvideValidationFeedbackResponse)

关于一系列验证尝试的结果的反馈。这应该是对同一地址的一系列验证调用之后发出的最后一次调用,并且应在交易结束后调用。只能针对完全验证地址所需的一系列 ValidateAddress 请求发送一次此请求。

VerifiedAddress

rpc ValidateAddress(ValidateAddressRequest) returns (ValidateAddressResponse)

验证地址。

地址

后处理地址的详细信息。后期处理包括更正地址中拼写错误的部分、替换错误部分以及推断缺失部分。

字段
formatted_address

string

后处理的地址,采用单行地址格式,遵循地址所在地区的地址格式规则。

postal_address

PostalAddress

后处理的地址,表示为邮政地址。

address_components[]

AddressComponent

无序列表。经过格式化且更正后的地址的各个地址组成部分,以及验证信息。提供有关各个组件验证状态的信息。

地址组成部分不以特定方式排序。不要对列表中地址组成部分的顺序做任何假设。

missing_component_types[]

string

预计会在格式正确的邮寄地址中出现,但在输入的内容中找不到的组成部分类型,并且无法推断得出。formatted_addresspostal_addressaddress_components 中不存在此类型的组件。例如,对于“Boulder, Colorado, 80301, USA”等输入,例如 ['street_number', 'route']。如需查看可能的类型列表,请点击此处

unconfirmed_component_types[]

string

address_components 中存在但无法确认的组件类型。为方便起见,提供此字段:其内容相当于遍历 address_components,以查找 confirmation_level 不为 CONFIRMEDinferred 标志未设置为 true 的所有组件的类型。如需查看可能的类型列表,请点击此处

unresolved_tokens[]

string

输入中任何无法解析的令牌。这可能是未被识别为地址有效部分的输入(例如,在“123235253253 Main St, San Francisco, CA, 94105”等输入中,未解析的令牌可能类似于 ["123235253253"],因为它不像是有效的门牌号)。

AddressComponent

表示地址组成部分,如街道、城市或州/省。

字段
component_name

ComponentName

此组件的名称。

component_type

string

地址组成部分的类型。请参阅表 2:地点服务返回的其他类型,了解可能的类型列表。

confirmation_level

ConfirmationLevel

表示我们对于组件正确的确定程度。

inferred

bool

表示该组成部分不在输入范围内,但我们根据地址推断得出该组成部分,认为应该为完整地址提供该组成部分。

spell_corrected

bool

表示更正组件名称中的拼写错误。API 不一定总能标记出一个拼写变体到另一个拼写变体的变化,例如将“centre”更改为“center”时。系统也不会始终标记常见的错别字,例如,将“Amphitheater Pkwy”更改为“Amphitheatre Pkwy”时。

replaced

bool

表示组件名称已替换为完全不同的名称,例如将错误的邮政编码替换为正确的地址。这并非外观上的变化,而是输入组件已更改为其他组件。

unexpected

bool

表示不应出现在指定地区的邮政地址中的地址组成部分。我们保留它只是因为这是意见部分。

ConfirmationLevel

确认级别的不同可能值。

枚举
CONFIRMATION_LEVEL_UNSPECIFIED 默认值。此值未使用。
CONFIRMED 我们能够验证此组件是否存在,并且在地址的其余部分的上下文中是有意义的。
UNCONFIRMED_BUT_PLAUSIBLE 无法确认此组件,但可能存在。例如,某街道上的已知有效数字范围内的某个门牌号未知具体门牌号。
UNCONFIRMED_AND_SUSPICIOUS 此组件未经确认,可能出错。例如,不符合地址其余部分的街区。

地址元数据

地址的元数据。不能保证发送到 Address Validation API 的每个地址都会完整填充 metadata

字段
business

bool

表明这是商家的地址。如果未设置,则表示值未知。

po_box

bool

表示邮政信箱的地址。如果未设置,则表示值未知。

residential

bool

表明这是住宅的地址。如果未设置,则表示值未知。

组件名称

组件名称的封装容器。

字段
text

string

名称文本。例如,“第五大道”表示街道名称,“1253”表示门牌号。

language_code

string

BCP-47 语言代码。如果组件名称没有与语言(如门牌号)相关联,则不会显示此属性。

地理编码

包含输入经过地理编码的位置的相关信息。

字段
location

LatLng

输入的经过地理编码的位置。

相较于使用地址、纬度/经度坐标或 Plus 代码,首选使用地点 ID。在设置路线或计算行车路线时使用坐标,总是会使该点与最接近这些坐标的道路对应。此道路不得快速或安全地通往目的地,也不得靠近住所的入口。此外,即使对某个位置进行反向地理编码,也无法保证返回的地址与原始地址一致。

plus_code

PlusCode

location 对应的 Plus 代码。

bounds

Viewport

经过地理编码的地点的边界。

feature_size_meters

float

经过地理编码的地点的尺寸(以米为单位)。这是对经过地理编码的位置粗略程度的另一种衡量方式,但只是物理尺寸,而不是语义意义。

place_id

string

此输入地理编码所指向的地点的 PlaceID。

如需详细了解地点 ID,请参阅此处

place_types[]

string

输入经过地理编码的地点类型。例如,['locality', 'political']。完整的类型列表请点击此处

LanguageOptions

预览版:此功能目前为正式发布前的预览版。对正式发布前产品和功能的支持可能较为有限,并且对正式发布前产品和功能的更改可能不兼容其他正式发布前版本。正式发布前的产品或功能受 Google Maps Platform 服务专用条款的约束。如需了解详情,请参阅发布阶段说明

启用 Address Validation API,以便在响应中包含其他信息。

字段
return_english_latin_address

bool

预览:返回英语的 google.maps.addressvalidation.v1.Address。如需了解详情,请参阅 google.maps.addressvalidation.v1.ValidationResult.english_latin_address

PlusCode

Plus Code (http://plus.codes) 是两种格式的位置引用:全局代码用于定义 14mx14m(1/8000 度)或更小矩形;以及复合代码(将前缀替换为参考位置)。

字段
global_code

string

地点的全局(完整)代码,例如“9FWM33GV+HQ”,表示面积为 1/8000x1/8000 度(约 14x14 米)。

compound_code

string

地点的复合代码,例如“33GV+HQ, Ramberg, Norway”,其中包含全局代码的后缀,并将前缀替换为参考实体的格式化名称。

OfferValidationFeedbackRequest

用于发送验证反馈的请求。

字段
conclusion

ValidationConclusion

必需。一系列验证尝试的结果。

如果此字段设置为 VALIDATION_CONCLUSION_UNSPECIFIED,则系统将返回 INVALID_ARGUMENT 错误。

response_id

string

必需。此反馈所针对的响应的 ID。这应该是一系列地址验证尝试中第一个响应的 [response_id][google.maps.addressvalidation.v1.验证 AddressRequest.response_id]。

验证结论

验证地址所需的一系列地址验证请求可能的最终结果。

枚举
VALIDATION_CONCLUSION_UNSPECIFIED 此值未使用。如果 ProvideValidationFeedbackRequest.conclusion 字段设置为 VALIDATION_CONCLUSION_UNSPECIFIED,则会返回 INVALID_ARGUMENT 错误。
VALIDATED_VERSION_USED 此交易使用了 Address Validation API 返回的地址版本。
USER_VERSION_USED 交易所用的地址是用户提供的地址
UNVALIDATED_VERSION_USED 交易使用了上次验证尝试后输入但未重新验证的地址版本。
UNUSED 此交易已放弃,该地址未被使用。

OfferValidationFeedbackResponse

此类型没有任何字段。

对验证反馈的响应。

如果反馈发送成功,则响应为空。

UspsAddress

美国地址的 USPS 代表。

字段
first_address_line

string

第一个地址行。

firm

string

公司名称。

second_address_line

string

第二行地址。

urbanization

string

波多黎各城市化名称。

city_state_zip_address_line

string

城市 + 省/自治区/直辖市 + 邮政编码。

city

string

城市名称。

state

string

由 2 个字母组成的省/自治区/直辖市代码。

zip_code

string

邮政编码,例如 10009。

zip_code_extension

string

扩展 4 位数邮政编码,例如 5023。

USpsData

地址的 USPS 数据。无法保证对于发送到 Address Validation API 的每个美国或波多黎各的地址完整填充 uspsData。如果您将 uspsData 用作响应中的主要部分,建议您在响应中整合备用地址字段。

字段
standardized_address

UspsAddress

美国邮政服务标准化地址。

delivery_point_code

string

2 位数的投递点代码

delivery_point_check_digit

string

投递点验证码。对于机械扫描的邮件,此编号会添加到 delivery_point_barcode 的末尾。将 Delivery_point_barcode、delivery_point_check_digit、邮政编码和 ZIP+4 的所有数字相加,得到的数字应该可以被 10 整除。

dpv_confirmation

string

DPV 确认的可能值。返回单个字符。

  • Y:地址已通过 DPV 确认主号码和任何辅助号码。
  • N:未能确认主要号码和任何辅助号码信息。
  • S:仅主号码的 DPV 已确认,辅助号码信息存在,但未确认。
  • D:仅主号码的 DPV 已确认,辅助号码信息缺失。
dpv_footnote

string

送货点验证的脚注。多个脚注可以在同一字符串中串联。

  • AA:与 ZIP+4 文件匹配的输入地址
  • A1:输入地址与 ZIP+4 文件不匹配
  • BB:与 DPV(所有组成部分)匹配
  • CC:次要号码不匹配(存在但无效)
  • N1:高层地址缺少辅助号码
  • M1:缺少主号码
  • M3:主号码无效
  • P1:输入地址 RR 或帮助中心编号缺失
  • P3:输入地址的 PO、RR 或 HC Box 编号无效
  • F1:输入地址与军方地址匹配
  • G1:与一般配送地址匹配的输入地址
  • U1:输入地址与唯一的邮政编码匹配
  • PB:与 PBSA 记录匹配的输入地址
  • RR:DPV 已确认的地址(包含 PMB 信息)
  • R1:DPV 已确认的地址,不含 PMB 信息
  • R7:运营商 Route R777 或 R779 记录
dpv_cmra

string

表明地址是否属于商业邮件接收代理机构 (CMRA),即为客户接收邮件的私营企业。返回单个字符。

  • Y:地址是 CMRA
  • N:地址不是 CMRA
dpv_vacant

string

这个地方是否有空?返回单个字符。

  • Y:地址为空
  • N:地址为空
dpv_no_stat

string

这是一个无统计数据的地址,还是有效地址?无统计地址是指非持续有人的地址或 USPS 不提供服务的地址。返回单个字符。

  • Y:地址无效
  • N:地址有效
carrier_route

string

运输公司路线代码。由 1 个字母前缀及 3 位数路线指示符组成的四字符代码。

前缀:

  • C:运营商路线(或城市路线)
  • R:乡村公路
  • H:公路约定路线
  • B:邮政信箱部分
  • G:常规投放单元
carrier_route_indicator

string

运营商航线速率排序指示器。

ews_no_match

bool

递送地址可以匹配,但 EWS 文件表明即将提供完全匹配的结果。

post_office_city

string

邮局主要城市。

post_office_state

string

主要邮局所在州。

abbreviated_city

string

城市缩写。

fips_county_code

string

FIPS 国家/地区代码。

county

string

郡/县名称。

elot_number

string

增强型旅行线路 (eLOT) 编号。

elot_flag

string

eLOT 升序/降序标记 (A/D)。

po_box_only_postal_code

bool

仅限邮政信箱中的邮政编码。

pmb_designator

string

PMB(私人邮箱)单元指示符。

pmb_number

string

PMB(私人邮箱)号码;

address_record_type

string

与输入地址匹配的地址记录的类型。

  • F:FIRM。这与公司记录匹配,这是与地址最接近的匹配级别。
  • G:常规传送。这与一般递送记录匹配。
  • H:BUILDING / APARTMENT。这与“建筑物”或“公寓”记录相匹配。
  • P:发布邮箱。此地址与邮政信箱一致。
  • R:“公路”或“公路”合同:这匹配“乡村路线”或“公路合同”记录,这两者都有关联的箱号范围。
  • S:STREET RECORD:与包含有效主号码范围的街道记录匹配。
default_address

bool

表示已找到默认地址,但存在更具体的地址。

error_message

string

检索 USPS 数据时出现的错误消息。当 USPS 处理因检测到人为创建的地址而暂停时,此字段将填充数据。

出现此错误时,系统可能不会填充 USPS 数据字段。

cass_processed

bool

指示请求已处理完毕的指示符。

VerifiedAddressRequest

用于验证地址的请求。

字段
address

PostalAddress

必需。正在验证的地址。未设置格式的地址应通过 address_lines 提交。

此输入字段的总长度不得超过 280 个字符。

如需查看支持的区域,请点击此处

输入地址中的 language_code 值已预留,供将来使用,今天会被忽略。系统会根据系统确定的指定地址的首选语言来填充经过验证的地址结果。

Address Validation API 会忽略 recipientsorganization 中的值。这些字段中的任何值都将被舍弃,并且不会返回。请勿设置。

previous_response_id

string

对于第一个地址验证请求,此字段必须为空。如果需要进行更多请求才能完全验证单个地址(例如,如果用户在初始验证之后所做的更改需要重新验证),则每个后续请求都必须使用验证序列中第一个响应的 response_id 填充此字段。

enable_usps_cass

bool

启用 USPS CASS 兼容模式。这只会影响 google.maps.addressvalidation.v1.ValidationResultgoogle.maps.addressvalidation.v1.ValidationResult.usps_data 字段。注意:对于针对波多黎各的地址启用 USPS CASS 的请求,必须提供 addressgoogle.type.PostalAddress.region_code 作为“PR”,或者提供 addressgoogle.type.PostalAddress.administrative_area 作为“波多黎各”(不区分大小写)或“PR”。

建议您使用组件化的 address,或者指定至少两个 google.type.PostalAddress.address_lines,其中第一行包含门牌号和名称,第二行包含城市、州和邮政编码。

language_options

LanguageOptions

可选。预览版:此功能目前为正式发布前的预览版。对正式发布前产品和功能的支持可能较为有限,并且对正式发布前产品和功能的更改可能不兼容其他正式发布前版本。正式发布前的产品或功能受 Google Maps Platform 服务专用条款的约束。如需了解详情,请参阅发布阶段说明

启用 Address Validation API,以便在响应中包含其他信息。

VerifiedAddressResponse

对地址验证请求的响应。

字段
result

ValidationResult

地址验证的结果。

response_id

string

用于标识此响应的 UUID。如果需要重新验证地址,则必须随新请求一起发送此 UUID。

ValidationResult

地址的验证结果。

字段
verdict

Verdict

总体判定标记

address

Address

地址本身(与地理编码相对)的信息。

geocode

Geocode

对地址进行地理编码的位置和地点的相关信息。

metadata

AddressMetadata

与交付成果相关的其他信息。不能保证发送到 Address Validation API 的每个地址都会完整填充 metadata

usps_data

UspsData

USPS 提供的额外交付标记。仅在 USPR 区域提供。

english_latin_address

Address

预览版:此功能目前为正式发布前的预览版。对正式发布前产品和功能的支持可能较为有限,并且对正式发布前产品和功能的更改可能不兼容其他正式发布前版本。正式发布前的产品或功能受 Google Maps Platform 服务专用条款的约束。如需了解详情,请参阅发布阶段说明

该地址已翻译为英文。如果地址的部分内容没有对应的英语翻译,服务则会以其他语言(使用拉丁字母)返回相应部分。如需了解如何选择备用语言,请参阅此处。如果地址的某个部分没有使用拉丁字母语言的任何翻译或音译,服务会以与该地址关联的当地语言返回该部分。

您已使用 google.maps.addressvalidation.v1.LanguageOptions.return_english_latin_address 标志启用此输出。

注意:系统不会填充 english_latin_address 中的 google.maps.addressvalidation.v1.Address.unconfirmed_component_types 字段和 english_latin_address.address_components 中的 google.maps.addressvalidation.v1.AddressComponent.confirmation_level 字段。

判定

地址验证结果和地理编码的简要概览。

字段
input_granularity

Granularity

输入地址的粒度。这是解析输入地址的结果,不会给出任何验证信号。如需了解验证信号,请参阅下文中的 validation_granularity

例如,如果输入地址包含具体的公寓编号,则此处的 input_granularity 将为 SUB_PREMISE。如果无法匹配数据库中的公寓号或公寓号无效,validation_granularity 可能为 PREMISE 或更低。

validation_granularity

Granularity

API 可以将地址完全验证到的粒度级别。例如,如果 validation_granularityPREMISE,则表示可以验证级别为 PREMISE 或更粗略的所有地址组成部分。

您可以在 google.maps.addressvalidation.v1.Address.address_components 中找到按地址组成部分的验证结果。

geocode_granularity

Granularity

有关 geocode 粒度的信息。可理解为对经过地理编码的位置的粗略或精确程度的语义含义。

此属性偶尔可能与上面的 validation_granularity 不同。例如,我们的数据库可能会记录是否存在公寓编号,但不会记录大型公寓大楼内的公寓的精确位置。在这种情况下,validation_granularitySUB_PREMISE,但 geocode_granularityPREMISE

address_complete

bool

如果没有任何未解析的令牌、没有意外或缺失的地址组成部分,则认为该地址已完成。如需了解详情,请参阅 missing_component_typesunresolved_tokensunexpected 字段。

has_unconfirmed_components

bool

至少有一个地址组成部分无法分类或进行验证,详见 google.maps.addressvalidation.v1.Address.address_components

has_inferred_components

bool

至少推断(添加)一个不在输入中的地址组成部分,请参阅 google.maps.addressvalidation.v1.Address.address_components 了解详情。

has_replaced_components

bool

至少已替换一个地址组成部分,详情请参阅 google.maps.addressvalidation.v1.Address.address_components

细化程度

地址或地理编码可以具有的各种粒度。用于表示地址的粒度时,这些值会指明地址标识邮寄目的地的粒度。例如,像“123 Main Street, Redwood City, CA, 94061”这样的地址标识的是 PREMISE,而像“Redwood City, CA, 94061”这样的地址用于标识 LOCALITY。不过,如果我们未能找到 Redwood City “123 Main Street”的地理编码,返回的地理编码可能为 LOCALITY 的粒度,尽管其更为精细。

枚举
GRANULARITY_UNSPECIFIED 默认值。此值未使用。
SUB_PREMISE 建筑物级别以下的结果,例如公寓。
PREMISE 建筑物级结果。
PREMISE_PROXIMITY 大致表示地址的建筑物级别位置的地理编码。
BLOCK 地址或地理编码表示街区。仅在具有块级寻址的区域(例如日本)使用。
ROUTE 地理编码或地址对于路线(例如街道、道路或公路)非常精细。
OTHER 所有其他粒度,因无法投放而分桶在一起。