В этом документе описывается ряд реальных сценариев, в которых 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
, который также указывает на отсутствие подпункта.