top of page
Search

Как улучшить валидацию адресов с помощью USPS и Smarty

  • Writer: Sarov+
    Sarov+
  • Apr 25
  • 3 min read

Сегодня расскажем о нашем опыте использования USPS Address Validation Control в одном из проектов, который мы реализовали для клиента. Этот инструмент значительно упростил процесс работы с адресами, сокращая время заполнения и повышая точность данных. Мы также рассмотрим, почему мы выбрали именно этот контрол, какие лицензии использовали и как интегрировали его в проект.

 

А узнать больше про USPS можно в нашем видео:


 

Предыстория проекта


Проект был ориентирован на работу с клиентами, где было критически важно точное заполнение адресов. У клиента было три разных типа адресов, каждый из которых содержал минимум десяти строк данных: улица, номер дома, квартира, город и т. д. Вручную заполнять эти адреса каждый раз было неэффективно и занимало много времени. Поэтому мы решили использовать автоматическое автозаполнение и валидацию адресов с помощью USPS Address Validation Control.

 

Почему Smarty?


Мы выбрали Smarty по нескольким причинам:

  1. Опыт предыдущих интеграций: Компания клиента уже использовала интеграцию с Smarty, что обеспечивало бесперебойное продолжение работы.

  2. API для County: Одна из возможностей API Smarty позволяла вытаскивать информацию о County (нечто вроде микрорайона), что было необходимо клиенту для корректного заполнения адресов.

  3. Наличие подходящих лицензий: Мы использовали две лицензии от Smarty — Address Autocomplete и Address Verification. Эти лицензии идеально подходили для нужд проекта, и они обеспечивали необходимую точность и скорость работы.

 

Добавление на форму


Для добавления контрола на форму, сначала необходимо создать поле, в котором будет отображаться компонент Smarty Address Autocomplete. Далее мы маппируем это поле с необходимыми адресными данными: country, county, street, city, state, zip, apartment. Важно отметить, что для интеграции требуется Smarty API Key, который мы получаем при регистрации в системе Smarty и приобретении лицензии.

 

Лицензии


Для этого проекта использовались две лицензии:

  1. Address Autocomplete — для автоматического автозаполнения адресов.

  2. Address Verification — для проверки корректности введенного адреса и получения дополнительной информации, такой как County.

Smarty предоставляет бесплатную триальную версию, которую можно использовать до 45 дней, и также есть международная версия, однако она менее стабильна, чем версия для США.

 

Flow input адреса


Интеграция с Smarty начинается с ввода данных в поле автозаполнения. При этом сразу происходит запрос к первому API Smarty, который возвращает список адресов из базы данных. Пользователь выбирает нужный адрес, включая, если необходимо, номер квартиры. Затем выбранный адрес отправляется на второй API, где происходит валидация, и если доступны, данные о County добавляются в форму.

 

Использование контрола


Контрол активно использовался для автоматического заполнения всех полей адреса, что существенно упростило работу с большими объемами данных. Важно отметить, что если county не было в адресе, то это влияло и на поле country. Если не было информации о county, то автоматически добавлялось значение United States в поле country.

 

Заполнение полей после выбора


После выбора адреса пользователем система автоматически заполняла все необходимые поля. Если же county не пришел, то автоматически вставлялось значение N/A, что было предусмотрено бизнес-правилами клиента. Такая логика была разработана для уменьшения нагрузки на контрол и подстроена под специфические требования клиента.

 

Технические улучшения


В проекте были реализованы некоторые улучшения, чтобы контрол работал более эффективно:

  • Захардкоженные значения: Если при валидации не было получено county, то в контрол добавлялось дефолтное значение — United States.

  • Обработка отсутствующих данных: В случае отсутствия номеров квартир или других полей, в эти поля автоматически вставлялись значения N/A.

 

Преимущества


  • Экономия времени: Автоматическое заполнение адресов существенно сокращает время работы.

  • Точность: Использование API для валидации помогает убедиться, что введенные адреса точны и корректны.

  • Дополнительная информация: Возможность вытаскивать дополнительную информацию, такую как County, делает решение более гибким.

 

Ограничения

  • Платная подписка: Использование Smarty требует покупки лицензий, что накладывает некоторые финансовые ограничения.

  • Не всегда заполняются все поля: Если для адреса нет информации о county или country, то эти поля могут быть не заполнены, и система должна применять дефолтные значения.

  • International: Для международных адресов система работает менее стабильно, чем для США.

  • Требование обновления данных: При интеграции с уже существующим проектом требовались значительные обновления данных, чтобы обеспечить правильное отображение и структуру адресов.

 

Рекомендации


Мы рекомендуем:

  • Всегда проверять API-ключи при релизах.

  • Тестировать контрол с большим количеством различных типов данных, чтобы убедиться в его стабильности.

  • Адаптировать логику заполнения полей под конкретные требования клиента, используя бизнес-правила.

 

Есть ли баги в Smarty?


Во время тестирования с использованием API не было зафиксировано никаких проблем с самим сервисом Smarty. Однако на начальном этапе мы столкнулись с проблемой, что при любых изменениях формы или релизах важно не забывать проверять API-ключи. Несмотря на это, сам сервис оказался стабильным и не вызывал проблем в эксплуатации.

 

Заключение


Интеграция USPS Address Validation Control с Smarty показала свою эффективность и надежность в проекте. С помощью этого контрола мы смогли значительно сократить время на ввод данных и повысить точность адресных данных, при этом оставив гибкость в настройке логики заполнения и валидации.

 
 
 

Comments


Power Platform logo

Подписывайся на наши ресурсы.

  • Telegram
  • LinkedIn
  • Facebook
  • Twitter
  • YouTube
  • Instagram

© 2035 by The Pop Show. Powered and secured by Wix

bottom of page