В этом документе описывается процесс создания системы проверки адресов для обработки различных ответов API проверки адресов. В нём рассказывается, как построить логику для правильного использования ответов, как анализировать другие сигналы API, а также когда и как запрашивать у клиентов дополнительную информацию.
В целом ответ API определяет следующие способы, которыми ваша система должна обрабатывать адрес:
- на все руки: адрес некачественный. Вам следует запросить дополнительную информацию.
- — адрес высокого качества, но отличается от введенного. Возможно, вам потребуется подтверждение.
- «Принять » — адрес высокого качества. Вы можете принять предоставленный адрес.
Основная цель
Этот документ поможет вам модифицировать систему для наилучшего анализа ответа API и определения дальнейших действий с предоставленными адресами. Следующий псевдокод иллюстрирует возможную последовательность действий.
if (the API response indicates significant problems in the address)
FIX - prompt the user to fix the address
else if (the API response indicates less significant problems in the address)
CONFIRM - confirm with the user that the address is correct
else
ACCEPT - continue with the address returned by the API.
Точная логика зависит от вашей ситуации; более подробную информацию см. в руководстве по реализации . Вы также можете использовать нашу реализацию этой логики с открытым исходным кодом, которая находится в расширенной библиотеке компонентов .
Обзор рабочего процесса
В таблице ниже обобщены два действия для вашей системы:
- Рабочий процесс, который следует использовать , основан на поведении «исправить, подтвердить, принять».
- Первые сигналы, которые следует проверить в ответе. Описанные здесь сигналы берутся из свойства
verdict
и не являются единственными сигналами, которые следует проверить, но служат первоначальным индикатором качества адреса. Каждому типу поведения соответствует раздел в этом документе, описывающий дополнительные сигналы, которые вам также может потребоваться изучить.
Поведение вашей системы | |||
---|---|---|---|
исправит адрес | В ответе
| ||
Подтвердите адрес | В ответе
| ||
Принять адрес | Ответ API проверки адреса указывает на отличное качество адреса.
|
Руководство по внедрению
При проектировании реакции вашей системы на сигналы проверки адреса следующие рекомендации помогут вам построить более эффективную модель реагирования. Однако это всего лишь рекомендации, поэтому имейте в виду, что ваша реализация должна соответствовать вашей бизнес-модели.
Руководство | Подробности | |
---|---|---|
Уровень риска | Примите во внимание уровень терпимости к вашей ситуации, балансируя между предложением внести исправления и принятием адреса в том виде, в котором он введен. | API проверки адресов возвращает ряд сигналов, которые вы можете интегрировать с уровнем риска для оптимизации процесса проверки. Например, если адрес содержит неподтверждённый номер дома, вы всё равно можете его принять. С другой стороны, если ваша компания требует большей точности адреса, вы можете запросить его у пользователя. Пример, который может относиться к любой из этих категорий, см. в разделе «Неподтверждённый номер дома за пределами США» в разделе «Принятие адреса — примеры» . |
Принимать адреса | Хорошей практикой будет разрешить вашей системе принимать первоначальную запись, если клиент не отвечает на запросы. | В этих случаях заказчик мог ввести адрес, отсутствующий в системе, например, для нового строительства. |
Исправить адрес
Исправьте адрес, если результаты явно указывают на невозможность доставки по нему. Ваша система может запросить у клиента необходимую информацию, после чего вы сможете повторно запустить рабочий процесс для получения адреса доставки.
Исправление сигналов
API проверки адреса предоставляет ряд сигналов, сообщающих о необходимости исправления адреса.
1. Детализация проверки и недостающие компоненты
Эти два сигна��а лучше всего указывают на проблемный адрес:
- Если поле
validationGranularity
имеет значениеOTHER
, ваша система должна исследовать сигналы компонентов адреса, чтобы узнать больше о том, где произошла ошибка и как ее исправить. - Всякий раз, когда объект
address
после обработки возвращает полеmissingComponentTypes
, ваша система должна проверять наличие этого компонента. Отсутствие компонентов также делает адрес неполным и невозможным для доставки.
2. Другие сигналы
API проверки адресов также предоставляет другие сигналы, помогающие диагностировать определенные проблемы:
Подозрительные компоненты | Если уровень подтверждения компонента равен UNCOMFIRMED_AND_SUSPICIOUS , то, скорее всего, компонент неверен. |
---|---|
Неразрешенный компонент | Неразрешенный токен — это часть входных данных, не распознанная как допустимая часть адреса. |
3. Сигналы адреса в США
Некоторые поля, применимые только к адресам в США, служат полезным сигналом о том, что адрес недоступен для доставки и его следует исправить. Для адреса, требующего исправления, вы должны увидеть следующее:
dpvConfirmation | Либо N , D , либо пусто. |
---|
Подробную информацию о dpvConfirmation
см. в разделе Обработка адресов в США .
Подтвердите адрес
Вы подтверждаете адрес, когда вердикт показывает, что API проверки адресов либо распознал, либо изменил компоненты адреса для получения валидного адреса. В этих случаях у вас есть адрес доставки, но вы хотите быть более уверенными в том, что полученный адрес соответствует адресу, указанному клиентом.
Чтобы предоставить клиенту корректные подсказки, ваша логика должна идентифицировать компоненты, отмеченные службой, чтобы определить, какое действие или флаг API применил к компоненту, например, inferred
, replaced
или spellCorrected
. См. AddressComponent в справочнике.
Подтверждающие сигналы
API проверки адреса предоставляет ряд сигналов, сообщающих, следует ли подтвердить адрес.
1. Степень детализации проверки
Допустима validationGranularity
ROUTE
или выше, но PREMISE
или SUBPREMISE
обеспечивает более сильный сигнал о доставляемости.
2. Другие сигналы
При принятии решения о подтверждении ввода адреса у клиента вердикт также предоставляет следующую информацию для определения того, какие компоненты следует исследовать:
Выведенные данные | Если поле hasInferredComponents имеет true , вы знаете, что API заполнил информацию, полученную из других компонентов адреса. |
---|---|
Замененные данные | Если поле hasReplacedComponents имеет true , API заменяет введенные данные данными, которые, по его мнению, делают адрес действительным. |
3. Сигналы адреса в США
Некоторые поля, применимые только к адресам в США, указывают на необходимость уточнения информации у клиента. Возможно одно из следующих условий:
dpvConfirmation | S Подробную информацию о |
---|---|
Адрес ответа | Содержит поле missingComponentTypes со значением subpremise . |
Принять адрес
Вы принимаете адрес, если вердикт обеспечивает высокую степень уверенности в том, что адрес доставляем и может быть использован без дальнейшего взаимодействия с к��иентом в последующем процессе.
Принимать сигналы
API проверки адреса предоставляет ряд сигналов, сообщающих, следует ли подтвердить адрес.
1. Степень детализации проверки
Допустима validationGranularity
PREMISE
или выше, но в некоторых случаях ROUTE
по-прежнему указывает на адрес доставки.
2. Другие сигналы
Вердикт о высоком качестве адреса также должен содержать следующее:
- Заменённых данных нет . В этом случае
hasReplacedComponents: FALSE
. - Выведенных компонентов нет . В этом случае
hasInferredComponents: FALSE
.
3. Сигналы адреса в США
Некоторые поля, применимые только к адресам в США, указывают на адрес высокого качества, на который возможна доставка. Для приемлемого адреса в США вы должны увидеть следующее:
dpvConfirmation | Y Подробную информацию о |
---|