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

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

Типичные примеры: исправить

В этом разделе описаны распространенные примеры, когда API проверки адреса предоставляет ответные сигналы, указывающие на информацию об адресе более низкого качества.

Не указан город и почтовый индекс.

В этом примере показана запись, содержащая только почтовый адрес без указания города или почтового индекса.

Адрес введен Область
21 45 40-я улица США

Вердикт за отсутствие города и почтового индекса

В приведенном ниже примере подчеркиваются важные сигналы ответа.

{
  "inputGranularity": "PREMISE",
  "validationGranularity": "OTHER",
  "geocodeGranularity": "OTHER",
  "hasUnconfirmedComponents": true
}

Эти сигналы указывают на недоставленный адрес, поэтому вы можете запросить addressComponents чтобы узнать больше:

{
  "componentName": {
    "text": "21",
    "languageCode": "en"
  },
  "componentType": "street_number",
  "confirmationLevel": "UNCONFIRMED_BUT_PLAUSIBLE"
},
{
  "componentName": {
    "text": "45 40th street",
    "languageCode": "en"
  },
  "componentType": "route",
  "confirmationLevel": "UNCONFIRMED_BUT_PLAUSIBLE"
},
{
  "componentName": {
    "text": "United States",
    "languageCode": "en"
  },
  "componentType": "country",
  "confirmationLevel": "CONFIRMED"
}

API проверки адреса возвращает только страну (США) как CONFIRMED . Он возвращает все остальные компоненты адреса как UNCONFIRMED_BUT_PLAUSIBLE с некоторыми важными пропусками в данных, таких как местоположение и почтовый индекс.

Не указан номер улицы

В этом примере показан отсутствующий номер улицы.

Адрес введен Область
Букингемский дворец Роуд, SW1W 9TQ Лондон Великобритания
Вердикт за отсутствие номера улицы
{
    "inputGranularity": "PREMISE_PROXIMITY",
    "validationGranularity": "ROUTE",
    "geocodeGranularity": "ROUTE"
}

validationGranularity — это ROUTE , что указывает на совпадение с улицей, но недостаточно информации, чтобы добраться до помещения. Кроме того, в вердикте отсутствует свойство addressComplete , поэтому оно имеет false . Дальнейший запрос объекта address выявляет отсутствующий тип компонента:

"missingComponentTypes": [
        "street_number"
      ]

Примеры крайних случаев: исправить

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

Неподтвержденный номер улицы

В этом сценарии API проверки адреса не может подтвердить указанный номер улицы, но указывает, что адрес заполнен.

Адрес введен Область
Букингемский дворец, 84, SW1W 9TQ, Лондон Великобритания

Вердикт по неподтверждённому номеру улицы

Пример ниже подчеркивает важные сигналы.

{
  "inputGranularity": "PREMISE",
  "validationGranularity": "PREMISE_PROXIMITY",
  "geocodeGranularity": "PREMISE_PROXIMITY",
  "addressComplete" : true,
  "hasUnconfirmedComponents": true
}

Стоит изучить сочетание детализации проверки только с аппроксимацией на уровне помещения вместе с неподтвержденными компонентами. Запрос свойства addressComponents показывает следующий неподтвержденный componentType :

{
  "componentName": {
    "text": "84",
    "languageCode": "en"
  },
  "componentType": "street_number",
  "confirmationLevel": "UNCONFIRMED_BUT_PLAUSIBLE"
}

Здесь для уровня confirmation_level street_number установлено значение UNCONFIRMED_BUT_PLAUSIBLE . Неподтвержденный означает, что служба не может сопоставить номер улицы 84 в своем наборе данных, а правдоподобный означает, что данные компонента все еще могут быть действительными.

Отсутствует подпредприятие

В этом сценарии описывается адрес, в котором отсутствует только часть помещения, например номер квартиры или отдела. В противном случае API проверки адреса может полностью проверить адрес. Как и в случае отсутствия какого-либо компонента адреса, значение addressComplete является false и, следовательно, не присутствует при проверке вердикта вручную.

Для иллюстрации предположим, что клиент вводит действительный адрес офиса городской оценочной комиссии Сан-Франциско, но пропускает во входных данных номер комнаты.

Адрес введен Область
1 Доктор Карлтон Б. Гудлетт Плейс, Сан-Франциско, Калифорния 94102 США

Вердикт за отсутствие подпомещения

В этом примере вердикт не отображает свойство addressComplete , поэтому он имеет false . Благодаря этому вы знаете, что по крайней мере один элемент адреса является неожиданным, неразрешенным или отсутствует.

{
  "inputGranularity": "PREMISE",
  "validationGranularity": "PREMISE",
  "geocodeGranularity": "PREMISE",
  "hasInferredComponents": true

}

Запрос address показывает следующее:

"missingComponentTypes": [
        "subpremise"
      ]

При дальнейшем запросе данные USPS предоставляют код dpvConfirmation D , который также указывает на отсутствие подпункта.