- HTTP-запрос
- Тело запроса
- Тело ответа
- Почтовый адрес
- Языковые параметры
- Результат проверки
- Вердикт
- Детализация
- Адрес
- Адресный компонент
- ИмяКомпонента
- Уровень подтверждения
- Геокодирование
- ШиротаДлительность
- ПлюсКод
- Область просмотра
- АдресМетаданные
- UspsData
- UspsАдрес
Проверяет адрес.
HTTP-запрос
POST https://addressvalidation.googleapis.com/v1:validateAddress
URL-адрес использует синтаксис транскодирования gRPC .
Тело запроса
Тело запроса содержит данные следующей структуры:
JSON-представление |
---|
{ "address": { object ( |
Поля | |
---|---|
address | Необходимый. Адрес проверяется. Неформатированные адреса следует отправлять через Общая длина полей в этом вводе не должна превышать 280 символов. Поддерживаемые регионы можно найти здесь . Значение API проверки адреса игнорирует значения |
previousResponseId | Это поле должно быть пустым для первого запроса на проверку адреса. Если для полной проверки одного адреса необходимо больше запросов (например, если изменения, внесенные пользователем после первоначальной проверки, необходимо повторно проверить), то каждый последующий запрос должен заполнить это поле идентификатором |
enableUspsCass | Включает режим совместимости с USPS CASS. Это влияет только на поле Рекомендуется использовать компонентный |
languageOptions | Необязательный. Предварительная версия. Эта функция находится в предварительной версии (до GA). Продукты и функции Pre-GA могут иметь ограниченную поддержку, а изменения в продуктах и функциях Pre-GA могут быть несовместимы с другими версиями Pre-GA. На предложения Pre-GA распространяются Особые условия обслуживания платформы Google Maps . Дополнительную информацию см. в описании этапов запуска . Позволяет API проверки адреса включать дополнительную информацию в ответ. |
sessionToken | Необязательный. Строка, которая идентифицирует сеанс автозаполнения для целей выставления счетов. Должна быть строкой в формате Base64, безопасной для URL и имени файла, длиной не более 36 символов ASCII. В противном случае возвращается ошибка INVALID_ARGUMENT. Сеанс начинается, когда пользователь выполняет запрос автозаполнения, и завершается, когда он выбирает место и вызывает функцию «Подробности о месте» или «Проверка адреса». В каждом сеансе может быть несколько запросов автозаполнения, за которыми следует один запрос сведений о месте или проверки адреса. Учетные данные, используемые для каждого запроса в рамках сеанса, должны принадлежать одному и тому же проекту Google Cloud Console. После завершения сеанса токен больше не действителен; ваше приложение должно генерировать новый токен для каждого сеанса. Если параметр Примечание. Проверка адреса может использоваться только в сеансах с API автозаполнения (нового), а не с API автозаполнения. Дополнительную информацию см. на странице https://developers.google.com/maps/documentation/places/web-service/session-pricing . |
Тело ответа
Ответ на запрос проверки адреса.
В случае успеха тело ответа содержит данные следующей структуры:
JSON-представление |
---|
{
"result": {
object ( |
Поля | |
---|---|
result | Результат проверки адреса. |
responseId | UUID, идентифицирующий этот ответ. Если адрес необходимо повторно проверить, этот UUID должен сопровождать новый запрос. |
Почтовый адрес
Представляет почтовый адрес, например, для адресов почтовой доставки или платежей. Учитывая почтовый адрес, почтовая служба может доставлять товары в помещение, почтовый ящик или другое место. Он не предназначен для моделирования географических мест (дорог, городов, гор).
Обычно адрес создается посредством пользовательского ввода или путем импорта существующих данных, в зависимости от типа процесса.
Советы по вводу/редактированию адреса: – Используйте виджет адреса, готовый к интернационализации, например https://github.com/google/libaddressinput . – Пользователям не должны предоставляться элементы пользовательского интерфейса для ввода или редактирования полей за пределами стран, где это поле есть. использовал.
Дополнительные инструкции по использованию этой схемы см. на странице https://support.google.com/business/answer/6397478 .
JSON-представление |
---|
{ "revision": integer, "regionCode": string, "languageCode": string, "postalCode": string, "sortingCode": string, "administrativeArea": string, "locality": string, "sublocality": string, "addressLines": [ string ], "recipients": [ string ], "organization": string } |
Поля | |
---|---|
revision | Версия схемы |
regionCode | Необязательный. CLDR-код региона страны/региона адреса. Подробности см. на https://cldr.unicode.org/ и https://www.unicode.org/cldr/charts/30/supplemental/territory_information.html . Пример: «CH» для Швейцарии. Если код региона не указан, он будет получен из адреса. Для обеспечения максимальной производительности рекомендуется указать код региона, если вы его знаете. Наличие противоречивых или повторяющихся регионов может привести к снижению производительности. Например, если |
languageCode | Код языка во входном адресе зарезервирован для использования в будущем и сегодня игнорируется. API возвращает адрес на языке, соответствующем тому, где находится адрес. |
postalCode | Необязательный. Почтовый индекс адреса. Не все страны используют или требуют наличия почтовых индексов, но там, где они используются, они могут вызвать дополнительную проверку других частей адреса (например, проверка штата/почтового индекса в США). |
sortingCode | Необязательный. Дополнительный код сортировки для конкретной страны. В большинстве регионов это не используется. Там, где оно используется, значение представляет собой либо строку типа «CEDEX», за которой необязательно следует число (например, «CEDEX 7»), либо просто число, представляющее «код сектора» (Ямайка), «указатель зоны доставки». (Малави) или «индикатор почтового отделения» (например, Кот-д'Ивуар). |
administrativeArea | Необязательный. Высшее административное подразделение, используемое для почтовых адресов страны или региона. Например, это может быть штат, провинция, область или префектура. В частности, для Испании это провинция, а не автономное сообщество (например, «Барселона», а не «Каталония»). Многие страны не используют административную зону в почтовых адресах. Например, в Швейцарии это место следует оставить незаселенным. |
locality | Необязательный. Обычно относится к части адреса, посвященной городу. Примеры: город в США, ИТ-коммуна, почтовый город Великобритании. В регионах мира, где населенные пункты не определены четко или не вписываются в эту структуру, оставьте locality пустым и используйте адресные строки. |
sublocality | Необязательный. Сублокальность адреса. Например, это могут быть микрорайоны, районы, районы. |
addressLines[] | Необходимый. Неструктурированные адресные строки, описывающие нижние уровни адреса. |
recipients[] | Пожалуйста, не заполняйте это поле. API проверки адреса в настоящее время не использует его. Хотя в настоящее время API не будет отклонять запросы с этим набором полей, информация будет отброшена и не будет возвращена в ответе. |
organization | Пожалуйста, не заполняйте это поле. API проверки адреса в настоящее время не использует его. Хотя в настоящее время API не будет отклонять запросы с этим набором полей, информация будет отброшена и не будет возвращена в ответе. |
Языковые параметры
Предварительная версия. Эта функция находится в предварительной версии (до GA). Продукты и функции Pre-GA могут иметь ограниченную поддержку, а изменения в продуктах и функциях Pre-GA могут быть несовместимы с другими версиями Pre-GA. На предложения Pre-GA распространяются Особые условия обслуживания платформы Google Maps . Дополнительную информацию см. в описании этапов запуска .
Позволяет API проверки адреса включать дополнительную информацию в ответ.
JSON-представление |
---|
{ "returnEnglishLatinAddress": boolean } |
Поля | |
---|---|
returnEnglishLatinAddress | Предварительная версия: возврат адреса |
Результат проверки
Результат проверки адреса.
JSON-представление |
---|
{ "verdict": { object ( |
Поля | |
---|---|
verdict | Общие флаги вердикта |
address | Информация о самом адресе в отличие от геокода. |
geocode | Информация о местоположении и месте, к которому геокодирован адрес. |
metadata | Другая информация, относящаяся к доставляемости. |
uspsData | Дополнительные флаги доставки, предоставляемые USPS. Предоставляется только в регионе |
englishLatinAddress | Предварительная версия. Эта функция находится в предварительной версии (до GA). Продукты и функции Pre-GA могут иметь ограниченную поддержку, а изменения в продуктах и функциях Pre-GA могут быть несовместимы с другими версиями Pre-GA. На предложения Pre-GA распространяются Особые условия обслуживания платформы Google Maps . Дополнительную информацию см. в описании этапов запуска . Адрес переведен на английский. Переведенные адреса нельзя повторно использовать в качестве входных данных API. Служба предоставляет их, чтобы пользователь мог использовать свой родной язык для подтверждения или отклонения проверки первоначально предоставленного адреса. Если часть адреса не имеет перевода на английский язык, служба возвращает эту часть на альтернативном языке, использующем латиницу. См. здесь объяснение того, как выбирается альтернативный язык. Если часть адреса не имеет перевода или транслитерации на языке, использующем латиницу, служба возвращает эту часть на местном языке, связанном с адресом. Включите этот вывод, используя флаг Примечание. Поле |
Вердикт
Общий обзор результатов проверки адреса и геокодирования.
JSON-представление |
---|
{ "inputGranularity": enum ( |
Поля | |
---|---|
inputGranularity | Детализация входного адреса. Это результат анализа входного адреса, который не дает никаких сигналов проверки. Информацию о сигналах проверки см. в разделе Например, если входной адрес включает определенный номер квартиры, то |
validationGranularity | Уровень детализации, на котором API может полностью проверить адрес. Например, Результат проверки компонента адреса можно найти в |
geocodeGranularity | Информация о детализации Иногда это может отличаться от указанного выше |
addressComplete | Адрес считается полным, если нет неразрешенных токенов, неожиданных или отсутствующих компонентов адреса. Если значение не установлено, это указывает на то, что значение равно |
hasUnconfirmedComponents | По крайней мере один компонент адреса не может быть классифицирован или проверен. Подробности см. |
hasInferredComponents | Был выведен (добавлен) по крайней мере один компонент адреса, которого не было во входных данных. Подробности см. |
hasReplacedComponents | По крайней мере один компонент адреса был заменен. Подробности см. |
Детализация
Различные степени детализации, которые может иметь адрес или геокод. При использовании для указания степени детализации адреса эти значения указывают, с какой степенью детализации адрес идентифицирует пункт назначения почтовой рассылки. Например, такой адрес, как «123 Main Street, Redwood City, CA, 94061», идентифицирует PREMISE
, а адрес вроде «Redwood City, CA, 94061» идентифицирует LOCALITY
. Однако, если мы не сможем найти геокод для «123 Main Street» в Редвуд-Сити, возвращаемый геокод может иметь степень детализации LOCALITY
, хотя адрес более детализирован.
Перечисления | |
---|---|
GRANULARITY_UNSPECIFIED | Значение по умолчанию. Это значение не используется. |
SUB_PREMISE | Результат ниже уровня здания, например квартира. |
PREMISE | Результат на уровне здания. |
PREMISE_PROXIMITY | Геокод, который приблизительно соответствует местоположению адреса на уровне здания. |
BLOCK | Адрес или геокод указывают на блок. Используется только в регионах с адресацией на уровне блоков, например в Японии. |
ROUTE | Геокод или адрес детализирован для маршрута, например улица, дорога или шоссе. |
OTHER | Все остальные детали, которые объединены в группы, поскольку они не могут быть доставлены. |
Адрес
Подробности постобработанного адреса. Постобработка включает в себя исправление частей адреса с ошибками, замену неправильных частей и определение недостающих частей.
JSON-представление |
---|
{ "formattedAddress": string, "postalAddress": { object ( |
Поля | |
---|---|
formattedAddress | Адрес после постобработки, отформатированный как однострочный адрес в соответствии с правилами форматирования адреса региона, в котором расположен адрес. |
postalAddress | Адрес после обработки, представленный как почтовый адрес. |
addressComponents[] | Неупорядоченный список. Отдельные компоненты адреса отформатированного и исправленного адреса, а также информация проверки. Это предоставляет информацию о статусе проверки отдельных компонентов. Компоненты адреса не упорядочены определенным образом. Не делайте никаких предположений относительно порядка компонентов адреса в списке. |
missingComponentTypes[] | Типы компонентов, которые должны были присутствовать в правильно отформатированном почтовом адресе, но не были найдены во входных данных И не могли быть определены. Компоненты этого типа отсутствуют в |
unconfirmedComponentTypes[] | Типы компонентов, которые присутствуют в |
unresolvedTokens[] | Любые токены во входных данных, которые не удалось разрешить. Это может быть ввод, который не был распознан как допустимая часть адреса (например, при вводе типа «123235253253 Main St, San Francisco, CA, 94105» неразрешенные токены могут выглядеть как |
Адресный компонент
Представляет компонент адреса, например улицу, город или штат.
JSON-представление |
---|
{ "componentName": { object ( |
Поля | |
---|---|
componentName | Имя этого компонента. |
componentType | Тип компонента адреса. Список возможных типов см. в Таблице 2: Дополнительные типы, возвращаемые службой Places . |
confirmationLevel | Указывает уровень нашей уверенности в том, что компонент правильный. |
inferred | Указывает, что компонент не был частью входных данных, но мы определили его для местоположения адреса и считаем, что его следует указывать для полного адреса. |
spellCorrected | Указывает на исправление ошибки в названии компонента. API не всегда отмечает изменения одного варианта написания на другой, например, при изменении «центра» на «центр». Он также не всегда отмечает распространенные орфографические ошибки, например, при замене «Амфитеатр Пкви» на «Амфитеатр Пкви». |
replaced | Указывает, что имя компонента было заменено совершенно другим, например, неправильный почтовый индекс был заменен на правильный для адреса. Это не косметическое изменение, входной компонент изменен на другой. |
unexpected | Указывает компонент адреса, который не ожидается в почтовом адресе для данного региона. Мы сохранили его только потому, что он был частью входных данных. |
ИмяКомпонента
Обертка для имени компонента.
JSON-представление |
---|
{ "text": string, "languageCode": string } |
Поля | |
---|---|
text | Текст имени. Например, «5th Avenue» для названия улицы или «1253» для номера улицы. |
languageCode | Код языка BCP-47. Его не будет, если имя компонента не связано с языком, например, с номером улицы. |
Уровень подтверждения
Различные возможные значения уровней подтверждения.
Перечисления | |
---|---|
CONFIRMATION_LEVEL_UNSPECIFIED | Значение по умолчанию. Это значение не используется. |
CONFIRMED | Нам удалось убедиться, что этот компонент существует и имеет смысл в контексте остальной части адреса. |
UNCONFIRMED_BUT_PLAUSIBLE | Этот компонент не может быть подтвержден, но вполне вероятно, что он существует. Например, номер улицы в известном допустимом диапазоне номеров на улице, где конкретные номера домов не известны. |
UNCONFIRMED_AND_SUSPICIOUS | Этот компонент не был подтвержден и, скорее всего, ошибочен. Например, район, который не соответствует остальной части адреса. |
Геокодирование
Содержит информацию о месте, куда были геокодированы входные данные.
JSON-представление |
---|
{ "location": { object ( |
Поля | |
---|---|
location | Геокодированное местоположение входных данных. Использование идентификаторов мест предпочтительнее использования адресов, координат широты/долготы или плюсовых кодов. Использование координат при маршрутизации или расчете направлений движения всегда приводит к привязке точки к дороге, ближайшей к этим координатам. Это может быть не дорога, которая быстро или безопасно приведет к месту назначения, и она может находиться не рядом с точкой доступа к объекту. Кроме того, когда местоположение подвергается обратному геокодированию, нет никакой гарантии, что возвращаемый адрес будет соответствовать оригиналу. |
plusCode | Плюс-код, соответствующий |
bounds | Границы геокодированного места. |
featureSizeMeters | Размер геокодированного места в метрах. Это еще одна мера грубости геокодированного местоположения, но по физическому размеру, а не по смысловому значению. |
placeId | PlaceID места, куда геокодируется этот ввод. Дополнительную информацию об идентификаторах мест смотрите здесь . |
placeTypes[] | Тип(ы) места, к которому геокодированы входные данные. Например, |
ШиротаДлительность
Объект, представляющий пару широты и долготы. Это выражается в виде пары двойных чисел, обозначающих градусы широты и градусы долготы. Если не указано иное, этот объект должен соответствовать стандарту WGS84 . Значения должны находиться в пределах нормализованных диапазонов.
JSON-представление |
---|
{ "latitude": number, "longitude": number } |
Поля | |
---|---|
latitude | Широта в градусах. Оно должно находиться в диапазоне [-90,0, +90,0]. |
longitude | Долгота в градусах. Оно должно находиться в диапазоне [-180,0, +180,0]. |
ПлюсКод
Плюс-код ( http://plus.codes ) — это ссылка на местоположение в двух форматах: глобальный код, определяющий прямоугольник размером 14 x 14 м (1/8000 градуса) или меньше, и составной код, заменяющий префикс на ссылку на местоположение.
JSON-представление |
---|
{ "globalCode": string, "compoundCode": string } |
Поля | |
---|---|
globalCode | Глобальный (полный) код места, например «9FWM33GV+HQ», представляющий площадь 1/8000 на 1/8000 градусов (~ 14 на 14 метров). |
compoundCode | Составной код места, например «33GV+HQ, Рамберг, Норвегия», содержащий суффикс глобального кода и заменяющий префикс форматированным именем ссылочного объекта. |
Область просмотра
Окно просмотра широты и долготы, представленное в виде двух диагонально противоположных low
и high
точек. Область просмотра считается закрытой областью, т. е. включает в себя ее границу. Границы широты должны находиться в диапазоне от -90 до 90 градусов включительно, а границы долготы должны находиться в диапазоне от -180 до 180 градусов включительно. Различные случаи включают в себя:
Если
low
=high
, область просмотра состоит из этой единственной точки.Если
low.longitude
>high.longitude
, диапазон долготы инвертируется (окно просмотра пересекает линию долготы в 180 градусов).Если
low.longitude
= -180 градусов иhigh.longitude
= 180 градусов, область просмотра включает все значения долготы.Если
low.longitude
= 180 градусов иhigh.longitude
= -180 градусов, диапазон долготы пуст.Если
low.latitude
>high.latitude
, диапазон широт пуст.
Оба значения low
и high
должны быть заполнены, а представленное поле не может быть пустым (как указано в определениях выше). Пустое окно просмотра приведет к ошибке.
Например, это окно просмотра полностью охватывает Нью-Йорк:
{ "низкая": { "широта": 40,477398, "долгота": -74,259087 }, "высокая": { "широта": 40,91618, "долгота": -73,70018 } }
JSON-представление |
---|
{ "low": { object ( |
Поля | |
---|---|
low | Необходимый. Нижняя точка смотрового окна. |
high | Необходимый. Самая высокая точка смотрового окна. |
АдресМетаданные
Метаданные для адреса. metadata
не могут быть полностью заполнены для каждого адреса, отправленного в API проверки адреса.
JSON-представление |
---|
{ "business": boolean, "poBox": boolean, "residential": boolean } |
Поля | |
---|---|
business | Указывает, что это адрес компании. Если значение не установлено, это означает, что значение неизвестно. |
poBox | Указывает, что это адрес почтового ящика. Если значение не установлено, это означает, что значение неизвестно. |
residential | Указывает, что это адрес проживания. Если значение не установлено, это означает, что значение неизвестно. |
UspsData
Данные USPS для адреса. uspsData
не может быть полностью заполнена для каждого адреса в США или PR, отправленного в API проверки адреса. Рекомендуется интегрировать поля резервного адреса в ответ, если вы используете uspsData в качестве основной части ответа.
JSON-представление |
---|
{
"standardizedAddress": {
object ( |
Поля | |
---|---|
standardizedAddress | Стандартизированный адрес USPS. |
deliveryPointCode | 2-значный код пункта доставки |
deliveryPointCheckDigit | Контрольная цифра пункта доставки. Этот номер добавляется в конец Delivery_point_barcode для механически сканированной почты. Сложение всех цифр Delivery_point_barcode, DeliveryPointCheckDigit, почтового индекса и ZIP+4 вместе должно дать число, кратное 10. |
dpvConfirmation | Возможные значения для подтверждения DPV. Возвращает один символ или не возвращает никакого значения.
|
dpvFootnote | Сноски к проверке точки доставки. Несколько сносок могут быть объединены в одну строку.
|
dpvCmra | Указывает, является ли адрес CMRA (Коммерческое агентство по приему почты) — частной компанией, получающей почту для клиентов. Возвращает один символ.
|
dpvVacant | Это место свободно? Возвращает один символ.
|
dpvNoStat | Это адрес без статистики или активный адрес? Статистические адреса – это адреса, которые не заняты постоянно, или адреса, которые USPS не обслуживает. Возвращает один символ.
|
dpvNoStatReasonCode | Указывает тип NoStat. Возвращает код причины в виде int.
|
dpvDrop | Флаг указывает, что почта доставляется к одному получателю на сайте. Возвращает один символ.
|
dpvThrowback | Указывает, что почта не доставляется по указанному адресу. Возвращает один символ.
|
dpvNonDeliveryDays | Флаг указывает, что доставка почты осуществляется не каждый день недели. Возвращает один символ.
|
dpvNonDeliveryDaysValues | Целое число, обозначающее дни недоставки. Его можно запросить с помощью битовых флагов: 0x40 – воскресенье – день недоставки 0x20 – понедельник – день недоставки 0x10 – вторник – день недоставки 0x08 – среда – день недоставки 0x04 – четверг – день недоставки -день доставки 0x02 – пятница – нерабочий день 0x01 – суббота – недоставочный день |
dpvNoSecureLocation | Флаг указывает на то, что дверь доступна, но посылка не будет оставлена из соображений безопасности. Возвращает один символ.
|
dpvPbsa | Указывает, что адрес соответствует записи PBSA. Возвращает один символ.
|
dpvDoorNotAccessible | Флаг указывает адреса, по которым USPS не может постучать в дверь для доставки почты. Возвращает один символ.
|
dpvEnhancedDeliveryCode | Указывает, что для адреса допустимо более одного кода возврата DPV. Возвращает один символ.
|
carrierRoute | Код маршрута перевозчика. Четырехзначный код, состоящий из однобуквенного префикса и трехзначного обозначения маршрута. Префиксы:
|
carrierRouteIndicator | Индикатор сортировки тарифов маршрута оператора связи. |
ewsNoMatch | Адрес доставки сопоставляется, но файл EWS указывает, что точное совпадение скоро будет доступно. |
postOfficeCity | Главпочтамт города. |
postOfficeState | Состояние Главпочтамта. |
abbreviatedCity | Сокращенный город. |
fipsCountyCode | Код страны ФИПС. |
county | Название округа. |
elotNumber | Номер расширенной линии путешествия (eLOT). |
elotFlag | eLOT восходящий/нисходящий флаг (A/D). |
lacsLinkReturnCode | Код возврата LACSLink. |
lacsLinkIndicator | Индикатор LACSLink. |
poBoxOnlyPostalCode | Почтовый ящик только почтовый индекс. |
suitelinkFootnote | Сноски от сопоставления записей об улицах или высотных зданиях с информацией об апартаментах. Если совпадение названия компании обнаружено, возвращается дополнительный номер.
|
pmbDesignator | Обозначение единицы PMB (частный почтовый ящик). |
pmbNumber | номер PMB (личного почтового ящика); |
addressRecordType | Тип записи адреса, соответствующий входному адресу.
|
defaultAddress | Индикатор того, что найден адрес по умолчанию, но существуют более конкретные адреса. |
errorMessage | Сообщение об ошибке при получении данных USPS. Он заполняется, когда обработка USPS приостанавливается из-за обнаружения искусственно созданных адресов. При наличии этой ошибки поля данных USPS могут быть не заполнены. |
cassProcessed | Индикатор того, что запрос CASS обработан. |
UspsАдрес
Представление USPS адреса в США.
JSON-представление |
---|
{ "firstAddressLine": string, "firm": string, "secondAddressLine": string, "urbanization": string, "cityStateZipAddressLine": string, "city": string, "state": string, "zipCode": string, "zipCodeExtension": string } |
Поля | |
---|---|
firstAddressLine | Первая адресная строка. |
firm | Название фирмы. |
secondAddressLine | Вторая адресная строка. |
urbanization | Название пуэрто-риканской урбанизации. |
cityStateZipAddressLine | Город + штат + почтовый индекс. |
city | Название города. |
state | Двухбуквенный код штата. |
zipCode | Почтовый индекс, например, 10009. |
zipCodeExtension | Расширение почтового индекса из 4 цифр, например 5023. |