Логика проверки сборки

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

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

Обзор рабочего процесса

В таблице ниже обобщены два действия для вашей системы:

  1. Рабочий процесс, который следует использовать , основан на поведении «исправить, подтвердить, принять».
  2. Первые сигналы, которые следует проверить в ответе. Описанные здесь сигналы берутся из свойства verdict и не являются единственными сигналами, которые следует проверить, но служат первоначальным индикатором качества адреса. Каждому типу поведения соответствует раздел в этом документе, описывающий дополнительные сигналы, которые вам также может потребоваться изучить.
Поведение вашей системы
исправит адрес

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

Рабочий процесс

  1. При необходимости проверьте компоненты адреса.
  2. Предложите клиенту исправить проблемы с адресом.
  3. Запросите подтверждение обновленного адреса.
  4. Продолжайте с адресом.

Сигналы вердикта

Применимо любое из следующих условий:

Подтвердите адрес

В ответе verdict указан адрес доставки, но в исходные входные данные внесены изменения: выведены данные, в которых либо исправлена орфография, либо данные, которые можно подтвердить.

Рабочий процесс

  1. Необходимые исправления:
    1. При необходимости проверьте компоненты адреса.
    2. Запросите подтверждение обновленного адреса.
    3. Продолжайте с адресом.
  2. Исправления не требуются:
  3. Продолжайте с адресом.

Сигналы вердикта

Применимы все следующие положения:

Принять адрес

Ответ API проверки адреса указывает на отличное качество адреса.

Рабочий процесс

Продолжайте с обратным адресом.

Сигналы вердикта

Применимы все следующие положения:

  • validationGranularity содержит PREMISE или лучше.
  • addressComplete имеет true .
  • Никаких предполагаемых или замененных компонентов.

Руководство по внедрению

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

Руководство Подробности
Уровень риска

Примите во внимание уровень терпимости к вашей ситуации, балансируя между предложением внести исправления и принятием адреса в том виде, в котором он введен.

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

Подробную информацию о dpvConfirmation см. в разделе Обработка адресов в США .

Адрес ответа Содержит поле missingComponentTypes со значением subpremise .

Примеры подтверждения адреса

Принять адрес

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

Принимать сигналы

API проверки адреса предоставляет ряд сигналов, сообщающих, следует ли подтвердить адрес.

1. Степень детализации проверки

Допустима validationGranularity PREMISE или выше, но в некоторых случаях ROUTE по-прежнему указывает на адрес доставки.

2. Другие сигналы

Вердикт о высоком качестве адреса также должен содержать следующее:

  • Заменённых данных нет . В этом случае hasReplacedComponents: FALSE .
  • Выведенных компонентов нет . В этом случае hasInferredComponents: FALSE .

3. Сигналы адреса в США

Некоторые поля, применимые только к адресам в США, указывают на адрес высокого качества, на который возможна доставка. Для приемлемого адреса в США вы должны увидеть следующее:

dpvConfirmation Y

Подробную информацию о dpvConfirmation см. в разделе Обработка адресов в США .

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