• /
  • /

Микросервисный адресный справочник для мобильного приложения энергосбытовой компании

К мобильному приложению клиента было подключено несколько справочников адресов, поэтому один и тот же адрес мог быть записан по-разному. Из-за этого пользователи не могли быстро находить адреса, а поддержка получала около 5000 обращений в месяц. Новый микросервис объединяет все адреса, приводит их к единому стандарту и обеспечивает быстрый и точный поиск в мобильном приложении.
Решения для производства У меня похожая задача

О клиенте

Крупная региональная энергосбытовая компания с мобильным приложением для частных клиентов. Приложение используется для оплаты услуг, передачи показаний и общения с поддержкой.

Проблема

В существующей системе использовались несколько справочников адресов (КЛАДР, ФИАС, ГАР), что усложняло поиск:

Пользователи не могли быстро находить адреса, из-за чего в службу поддержки поступало около 5000 обращений в месяц.
Форматы и аббревиатуры адресов различались между системами, что приводило к ошибкам при добавлении новых адресов.
Поиск в мобильном приложении требовал строгой последовательности ввода: населенный пункт – улица – дом – квартира, без возможности гибкого поиска.

Задача проекта — создать единый централизованный справочник адресов, унифицировать данные и обеспечить быстрый и удобный поиск в мобильном приложении и внутренних системах.
«Ранее сотрудник поддержки вводил адрес вручную, и одна и та же улица могла записываться по-разному: «Ленина ул.» или «ул. Ленина». В результате поиск не находил нужный адрес, пользователю приходилось обращаться в поддержку, а сотрудники тратили время на исправление ошибок.»

Решение

Мы построили единый централизованный адресный справочник на базе мастер-системы 1С MDM, DaData и таблицы «ненайденных адресов», интегрированный с внутренними системами клиента, включая мобильное приложение. Он собирает все адреса в одном источнике, исправляет ошибки и приводит их к единому формату. Благодаря этому любой поиск адреса работает быстро и показывает правильный результат.

Как это работает

Сбор и нормализация адресов
Все адреса из разных источников (ГАР, КЛАДР, ФИАС) собираются микросервисом и приводятся к единому формату. Каждому дому присваивается уникальный идентификатор (GUID), который используется для привязки к сущностям в разных системах. Нормализация выполняется с учетом аббревиатур, регистров и структуры записи.
Централизованный доступ через сервис
Данные передаются в форматах JSON и XML, что обеспечивает совместимость с разными системами. Это значит, что любая система, которая ищет адрес, обращается к одному источнику и получает корректные данные без ошибок и дубликатов.
Умный поиск
Пользователь вводит часть адреса, и система сразу показывает подходящие варианты, обновляя их по мере ввода. Показываются только релевантные результаты.
Поиск по карте
Система интегрирована с Яндекс.Картами. При необходимости можно добавить уточнения — квартира, комната, корпус. Данные записываются в микросервис и становятся доступными для всех систем.
Обработка отсутствующих адресов
Если адрес не найден, он сохраняется в отдельной таблице «ненайденных адресов» с уникальным идентификатором запроса. Пользователь может сразу обратиться в поддержку, чтобы новый адрес добавили.
Быстродействие и масштабируемость
Поиск и получение адресов выполняется быстро (ответ сервиса занимает не более 3 секунд). Система легко масштабируется, можно подключать новые источники адресов или дополнительные системы без изменения существующих функций.

Результат

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