В этом документе описан ряд реальных сценариев, в которых API проверки адресов предоставляет сигналы ответа для адресов, требующих подтверждения со стороны вашей системы. Приведенные здесь примеры носят иллюстративный характер, но не являются исчерпывающими. Для получения дополнительной информации см. раздел «Обзор рабочего процесса» в разделе «Создание логики проверки» .
Распространенные примеры: подтвердить
Следующий пример иллюстрирует случай мегаполисов со схожими названиями улиц. Предположим, пользователь хочет ввести адрес здания Google Building D в Киркленде, штат Вашингтон, США . Однако вместо Киркленда в качестве города он по ошибке вводит Сиэтл .
| Введенный адрес | Область |
|---|---|
| Здание D, 451 7th Avenue South, Сиэтл, штат Вашингтон 98033 | НАС |
Вердикт по поводу замененных данных
Приведенный ниже пример подчеркивает важные сигналы, содержащиеся в приговоре .
{
"inputGranularity": "SUB_PREMISE",
"validationGranularity": "PREMISE_PROXIMITY",
"geocodeGranularity": "PREMISE_PROXIMITY",
"addressComplete": true,
"hasUnconfirmedComponents": true
"hasReplacedComponents": true
}
Уровень детализации PREMISE_PROXIMITY указывает на приближение к адресу здания, но он не такой подробный, как SUB_PREMISE , который представляет собой уровень детализации, предоставляемый на входе. Ответ также содержит как неподтвержденные, так и замененные компоненты, поэтому их комбинация относит ответ к категории подтвержденных .
Анализ компонентов адреса выявляет следующие проблемные области:
{
"componentName": {
"text": "451",
},
"componentType": "street_number",
"confirmationLevel": "UNCONFIRMED_BUT_PLAUSIBLE",
}
...
{
"componentName": {
"text": "98104",
},
"componentType": "postal_code",
"confirmationLevel": "CONFIRMED",
"replaced": true
}
...
{
"componentName": {
"text": "Building D",
"language_code": "en"
},
"componentType": "subpremise",
"confirmationLevel": "UNCONFIRMED_BUT_PLAUSIBLE",
}
.......
"unconfirmedComponentTypes": [
"street_number",
"subpremise"
]
В данном случае API проверки адреса обнаружил приблизительное соответствие предоставленному адресу в Сиэтле и заменил почтовый индекс, компонент более высокого уровня, на адрес в Сиэтле . Это может быть допустимой заменой, но, учитывая, что компоненты не были подтверждены, имеет смысл убедиться, что пользователь действительно собирается ввести адрес в Сиэтле, а не что-то другое, например, Киркланд.
Примеры крайних случаев: подтвердить
Следующие примеры иллюстрируют следующие типы граничных случаев:
- Незначительные выводы, которые ПОДТВЕРЖДАЮТСЯ . API проверки адресов определяет страну, почтовый индекс или штат, но все остальное предоставляется и подтверждается. Сочетание детализации и уровня подтверждения делает незначительный вывод не обязательно требующим подтверждения.
- Неожиданный компонент адреса НЕ подтвержден . Неподтвержденные компоненты адреса повышают уровень риска. Это может потребовать подтверждения.
- Неожиданный компонент адреса, который ПОДТВЕРЖДЕН . Этот компонент не является строго необходимым для корректного адреса, и API проверки адресов удаляет его из выходных данных. Проблемы с форматированием обычно не требуют подтверждения.
Незначительные выводы, которые подтверждаются.
При использовании в сочетании с подтвержденными данными более детального уровня API все еще может сделать правильный вывод, даже если во входных данных отсутствует только один компонент из следующих типов:
- Город
- Состояние
- Почтовый индекс
- Страна
Например, клиент указывает действительный адрес ресторана McDonald's в Спрингфилде, штат Массачусетс, но забывает указать город и вводит почтовый индекс без 4-значного расширения.
| Введенный адрес | Область |
|---|---|
| 1402 Аллен-стрит, Массачусетс 01118 | НАС |
Вердикт по делу о пропавшем городе
{
"inputGranularity": "PREMISE",
"validationGranularity": "PREMISE",
"geocodeGranularity": "PREMISE",
"addressComplete": true,
"hasInferredComponents": true
}
В ситуациях, когда API проверки адресов использует компоненты более высокого уровня для создания адреса доставки, вы можете быть уверены в правильности данных из системы. Это связано с тем, что компоненты, представляющие широкий географический регион, легче сопоставляются с подтвержденными компонентами адреса, которые являются более детализированными. Даже в странах, где названия городов повторяются, например, в Спрингфилде в США, сочетание других компонентов может обеспечить уникальный адрес.
Используя приведенный выше пример, сканирование всех компонентов адреса показывает, что каждый компонент подтвержден, что означает его соответствие данным, хранящимся в API проверки адресов, и что сервис также определяет два компонента более высокого уровня.
{
"componentName": {
"text": "Springfield",
"languageCode": "en"
},
"componentType": "locality",
"confirmationLevel": "CONFIRMED",
"inferred": true
},
{
"componentName": {
"text": "1806"
},
"componentType": "postal_code_suffix",
"confirmationLevel": "CONFIRMED",
"inferred": true
}
Неожиданный компонент адреса НЕ подтвержден
Этот сценарий иллюстрирует важность проверки в случаях, когда компоненты адреса не подтверждены. Если какой-либо компонент адреса является неожиданным, API проверки адреса удаляет его из выходных данных. В таких случаях вы можете либо принять адрес, либо повторно подтвердить его с клиентом, в зависимости от уровня риска и уровня уверенности.
Например, адрес может быть из региона, где клиенты часто указывают безобидную информацию, игнорируемую почтовой службой, и в этом случае вы примете этот адрес. Однако в некоторых случаях неподтвержденная информация может не соответствовать пожеланиям клиента.
| Введенный адрес | Область |
|---|---|
| 1 Rue Grenache, la Caritat 2, 34630 Сен-Тибери | Франция |
Вердикт по неожиданному компоненту адреса не подтвержден.
{
"inputGranularity": "PREMISE",
"validationGranularity": "PREMISE",
"geocodeGranularity": "PREMISE",
"unconfirmedComponents": true
}
Помимо вердикта с неподтвержденными компонентами, API проверки адресов возвращает адрес в следующем формате:
"formattedAddress": "1 Rue Grenache, 34630 Saint-Thibéry, France",
Проверка на наличие неподтвержденных компонентов показывает, что API удалил la caritat 2 из возвращаемого адреса:
{
"componentName": {
"text": "la caritat 2",
"languageCode": "fr"
},
"componentType": "sublocality_level_1",
"confirmationLevel": "UNCONFIRMED_BUT_PLAUSIBLE",
"unexpected": true
}
Неожиданный компонент адреса, который подтвержден
Этот пример иллюстрирует включение названия графства Великобритании в указанный адрес, что является распространенной практикой. Однако это не является требованием почтовой службы Великобритании и, по сути, игнорируется. См. postoffice.co.uk и «Как правильно оформлять почту в Великобритании и за рубежом» .
В результате, когда клиент указывает графство в британском адресе, сервис воспринимает это как неожиданный ввод.
| Введенный адрес | Область |
|---|---|
| 33 Dunalley St, Cheltenham, Gloucestershire, GL50 4AP | Великобритания |
Вердикт по неожиданному компоненту адреса, который подтвержден.
{
"inputGranularity": "PREMISE",
"validationGranularity": "PREMISE",
"geocodeGranularity": "PREMISE"
}
В данном случае address_complete возвращает false, а анализ компонента адреса выявляет неожиданный флаг.
{
"componentName": {
"text": "Gloucestershire",
"languageCode": "en"
},
"componentType": "administrative_area_level_2",
"confirmationLevel": "CONFIRMED",
"unexpected": true
}
Хотя в введенном адресе указан правильный графство Глостершир, сам адрес отформатирован неправильно. Напомним, что API проверки адресов также проверяет информацию на правильность форматирования.