Подтвердить адрес – примеры

В этом документе описывается ряд реальных сценариев, в которых 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,
  "possibleNextAction": "CONFIRM"
}

Действие possibleNextAction даёт предварительное указание на то, что, возможно, стоит уточнить адрес у клиента. Другие сигналы в вердикте предоставляют более подробную информацию о возможных проблемах с адресом. 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 все равно может сделать правильный вывод, даже если во входных данных отсутствует только один компонент из следующих типов:

  • Город
  • Состояние
  • Почтовый индекс
  • Страна

Например, клиент указывает действительный почтовый адрес ресторана McDonald's в Спрингфилде, штат Массачусетс, но забывает указать город и указывает почтовый индекс без четырехзначного расширения.

Адрес введен Область
1402 Аллен Стрит, Массачусетс 01118 НАС

Вердикт по пропавшему городу

{
  "inputGranularity": "PREMISE",
  "validationGranularity": "PREMISE",
  "geocodeGranularity": "PREMISE",
  "addressComplete": true,
  "hasInferredComponents": true,
  "possibleNextAction": "CONFIRM"
}

В ситуациях, когда API проверки адресов выводит компоненты более высокого уровня для определения адреса доставки, вы можете быть более уверены в корректности данных системы. Это связано с тем, что выведенные компоненты, представляющие широкий географический регион, легче сопоставляются с подтверждёнными компонентами адреса, которые являются более детализированными. Даже в странах, где названия городов повторяются, например, в Спрингфилде в США, сочетание других компонентов может обеспечить уникальный адрес.

Using our example above, a scan across all address components shows that every component is confirmed, which means it matches the data stored by the Address Validation API, and that the service also infers two higher-level components.

{
  "componentName": {
    "text": "Springfield",
    "languageCode": "en"
  },
  "componentType": "locality",
  "confirmationLevel": "CONFIRMED",
  "inferred": true
},
{
  "componentName": {
    "text": "1806"
  },
  "componentType": "postal_code_suffix",
  "confirmationLevel": "CONFIRMED",
  "inferred": true
}

Неожиданный компонент адреса НЕ подтвержден

Этот сценарий иллюстрирует важность проверки в случае неподтверждённых компонентов. Если компонент адреса непредвиденный, API проверки адреса удаляет его из выходных данных. В таких случаях вы можете либо принять адрес, либо повторно подтвердить его у клиента, в зависимости от вашего уровня риска и уверенности.

Например, адрес может относиться к региону, где клиенты часто вводят безобидную информацию, игнорируемую почтовыми службами, и в этом случае вы примете адрес. Однако в некоторых случаях неподтверждённый компонент может не соответствовать требованиям клиента.

Адрес введен Область
59 Cherrydown Avenue, Чингфорд, Лондон E4 8DT Великобритания

Вердикт по неожиданному компоненту адреса не подтверждён

{
  "inputGranularity": "PREMISE",
  "validationGranularity": "PREMISE",
  "geocodeGranularity": "PREMISE",
  "unconfirmedComponents": true,
  "possibleNextAction": "ACCEPT"
}

Помимо вердикта с неподтвержденными компонентами, API проверки адреса возвращает следующий отформатированный адрес:

"formattedAddress": "59 Cherrydown Avenue, London E4 8DT, UK",

Сканирование на наличие неподтвержденных компонентов показывает, что API удалил Чингфорд из возвращенного адреса:

{
  "componentName": {
    "text": "Chingford",
    "languageCode": "en"
  },
  "componentType": "sublocality_level_1",
  "confirmationLevel": "UNCONFIRMED_BUT_PLAUSIBLE",
  "unexpected": true
}

Неожиданный компонент адреса, который подтвержден

Этот пример иллюстрирует включение графства Великобритании в указанный адрес, что является распространённой практикой. Однако это не является требованием почтовой службы Великобритании и фактически игнорируется. См. postoffice.co.uk и раздел «Как адресовать почтовые отправления в Великобритании и за рубежом» .

В результате, когда клиент указывает графство в своем адресе в Великобритании, служба оценивает это как неожиданные данные.

Адрес введен Область
33 Dunalley St, Челтнем, Глостершир, GL50 4AP Великобритания

Вердикт по неожиданному компоненту адреса, который был подтвержден IS

{
   "inputGranularity": "PREMISE",
   "validationGranularity": "PREMISE",
   "geocodeGranularity": "PREMISE",
   "possibleNextAction": "ACCEPT"
}

В данном случае address_complete оценивается как false, а анализ компонента address выявляет неожиданный флаг.

{
  "componentName": {
    "text": "Gloucestershire",
    "languageCode": "en"
  },
  "componentType": "administrative_area_level_2",
  "confirmationLevel": "CONFIRMED",
  "unexpected": true
}

Хотя Глостершир является правильным округом для введенного адреса, сам адрес имеет неправильный формат. Напомним, что API проверки адреса также оценивает информацию на предмет правильного форматирования.