В этом документе описан ряд реальных сценариев, в которых API проверки адресов выдаёт сигналы, которые могут потребовать исправления ошибок в вашей системе. См. примеры рабочих процессов в разделе «Создание логики проверки» для получения более подробной информации.
Common examples: fix
В этом разделе описываются типичные примеры, когда API проверки адресов выдает ответные сигналы, указывающие на низкое качество адресной информации.
Отсутствует город и почтовый индекс
В этом примере показана запись, содержащая только почтовый адрес, без города или почтового индекса.
Адрес введен | Область |
---|---|
21 45 40th street | США |
Вердикт по отсутствующему городу и почтовому индексу
В примере ниже подчеркиваются важные сигналы ответа.
{
"inputGranularity": "PREMISE",
"validationGranularity": "OTHER",
"geocodeGranularity": "OTHER",
"hasUnconfirmedComponents": true,
"possibleNextAction": "FIX"
}
Действие possibleNextAction
даёт первоначальное указание на то, что адрес может быть недоступен для доставки. Другие выделенные компоненты также поддерживают эту возможность, поэтому вы можете запросить 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
, с некоторыми важными пропусками данных, такими как местоположение и почтовый индекс.
Missing street number
This example shows a missing street number.
Адрес введен | Область |
---|---|
Buckingham Palace Road, SW1W 9TQ London | Великобритания |
Verdict for missing street number
{
"inputGranularity": "PREMISE_PROXIMITY",
"validationGranularity": "ROUTE",
"geocodeGranularity": "ROUTE",
"possibleNextAction": "FIX"
}
И снова, possibleNextAction
даёт первоначальное указание на то, что адрес, возможно, не может быть доставлен. Более того, значение validationGranularity
равно ROUTE
, что указывает на соответствие улице, но недостаточно информации для достижения объекта. Кроме того, свойство addressComplete
отсутствует в вердикте, поэтому оно равно false
. Дальнейший запрос к объекту address
обнаруживает отсутствующий тип компонента:
"missingComponentTypes": [
"street_number"
]
Примеры крайних случаев: исправить
В некоторых ситуациях решение о том, исправить, подтвердить или принять адрес, зависит от конкретного бизнес-сценария. Приведённые ниже примеры иллюстрируют ситуации, которые могут не полностью подпадать под категорию исправления.
Unconfirmed street number
В этом сценарии API проверки адреса не может подтвердить предоставленный номер дома, но при этом указывает, что адрес полный.
Адрес введен | Область |
---|---|
84 Buckingham Palace Road, SW1W 9TQ, London | Великобритания |
Verdict for unconfirmed street number
В приведенном ниже примере подчеркнуты важные сигналы.
{
"inputGranularity": "PREMISE",
"validationGranularity": "PREMISE_PROXIMITY",
"geocodeGranularity": "PREMISE_PROXIMITY",
"addressComplete" : true,
"hasUnconfirmedComponents": true,
"possibleNextAction": "ACCEPT"
}
Стоит рассмотреть сочетание детализации валидации только до уровня аппроксимации на уровне предпосылок с неподтверждёнными компонентами. Запрос к свойству addressComponents
показывает следующий неподтверждённый componentType
:
{
"componentName": {
"text": "84",
"languageCode": "en"
},
"componentType": "street_number",
"confirmationLevel": "UNCONFIRMED_BUT_PLAUSIBLE"
}
Здесь значение confirmation_level
для street_number
равно UNCONFIRMED_BUT_PLAUSIBLE
. Значение Unfirmed означает, что сервис не может сопоставить номер улицы 84 со своим набором данных, а значение plausible означает, что данные компонента всё ещё могут быть действительными.
Missing subpremise
В этом сценарии описывается адрес, в котором отсутствует только один элемент, например, номер квартиры или отдела. В противном случае API проверки адреса может полностью проверить адрес. Как и в случае отсутствия любого компонента адреса, addressComplete
имеет значение false
и, следовательно, не отображается при ручной проверке вердикта.
Для иллюстрации предположим, что клиент вводит действительный адрес офиса оценщика города Сан-Франциско, но пропускает номер комнаты во входных данных.
Адрес введен | Область |
---|---|
1 Доктор Карлтон Б. Гудлетт Плейс, Сан-Франциско, Калифорния 94102 | США |
Verdict for missing subpremise
В этом примере вердикт не отображает свойство addressComplete
, поэтому он имеет false
. Это означает, что по крайней мере один элемент address непредвиденный, неразрешённый или отсутствует.
{
"inputGranularity": "PREMISE",
"validationGranularity": "PREMISE",
"geocodeGranularity": "PREMISE",
"hasInferredComponents": true,
"possibleNextAction": "CONFIRM_ADD_SUBPREMISES"
}
An address
query reveals the following:
"missingComponentTypes": [
"subpremise"
]
При дальнейшем запросе данные USPS предоставили код dpvConfirmation
D
, который также указывает на отсутствующую подпосылку.