Fullstack-разработчик (Symfony / Битрикс) с опытом DevOps.

Петр Сальников spbcod

Рейтинг: 30
Верифицирован через Сбер ID
Всего отзывов: 0
  • Работ в портфолио: 42
  • Типовых услуг: 11
  • Работ на продажу: 0
  • Возраст: 50 лет
  • Стаж работы: 27 лет
  • Зарегистрирован: 26.02.2023
  • Образование: Cпециалитет
  • Стоимость услуг (руб): 1 000 за час 200 000 за месяц
Был на сайте:

Разработка системы автоматического обновления почтовых индексов с привязкой к местоположениям в 1С-Битрикс

Описание

В интернет-магазине использовались местоположения Битрикс для расчета доставки через различные транспортные компании. Проблема заключалась в том, что:
- Почтовые индексы устаревали — ФИАС регулярно обновляется, новые дома получают индексы, старые меняются
- Индексы отсутствовали — для многих населенных пунктов индексы не были загружены или были неполными
- Ручное обновление невозможно — в России сотни тысяч индексов, обновлять вручную нереально
- Ошибки доставки — из-за неверных индексов заказы уходили не туда или возвращались
- Интеграция с ТК — СДЭК, Почта России и другие требуют точный индекс для расчета стоимости

Требовалось создать систему, которая:
- Автоматически получает актуальные данные из ФИАС (Федеральная информационная адресная система)
- Обновляет существующие местоположения в Битриксе, добавляя или корректируя индексы
- Создает новые местоположения (улицы, дома) при необходимости
- Привязывает индексы к правильным местоположениям через внешние сервисы (ZIP)
- Работает по расписанию (CRON) без участия человека

Имеет интерфейс для ручного запуска и мониторинга

Решение

Создал комплексное решение, интегрированное с модулем местоположений Битрикс:

/local/php_interface/include/zip_updater/
├── ZipUpdater.php # Основной класс обновления
├── FiasApiClient.php # Клиент для работы с API ФИАС
├── LocationMatcher.php # Сопоставление с местоположениями Битрикс
├── ExternalServiceManager.php # Управление внешними сервисами (ZIP)
├── install/
│ └── create_tables.php # Создание служебных таблиц
├── admin/
│ └── zip_updater_admin.php # Интерфейс в админке
└── cron/
└── update_zips.php # Скрипт для запуска по CRON

В Битриксе почтовые индексы хранятся как внешние сервисы типа ZIP . Каждое местоположение может иметь несколько кодов внешних сервисов. Стандартно Битрикс использует:

ZIP — почтовые индексы для данного местоположения

ZIP_LOWER — индексы для всех нижележащих местоположений

При интеграции с транспортными компаниями (СДЭК, Почта России, EMS) система использует эти коды для передачи в API

Результат

Для бизнеса
✅ Актуальные индексы — всегда свежие данные из ФИАС
✅ Точный расчет доставки — индексы передаются в API транспортных компаний
✅ Меньше ошибок — заказы не возвращаются из-за неверных индексов
✅ Экономия времени — не нужно обновлять вручную сотни тысяч записей
✅ Прозрачность — статистика и логирование всех операций

Для покупателей
✅ Корректный адрес — индекс подставляется автоматически
✅ Точная стоимость доставки — рассчитана с учетом реального индекса
✅ Быстрая доставка — без задержек из-за неверных адресов

Технические результаты
✅ Интеграция с API ФИАС для получения актуальных данных
✅ Автоматическое сопоставление адресов с местоположениями Битрикс
✅ Добавление индексов через механизм внешних сервисов (ZIP)
✅ Поддержка иерархии местоположений (регион → город → улица → дом)
✅ Запуск по CRON (рекомендуется раз в неделю)
✅ Подробное логирование и статистика
✅ Интерфейс для ручного запуска в админке

Ссылки на примеры реализации

 aquazon.ru

Презентация проекта

Скриншот 26-02-2026 181941.jpg

Оценили проект:

0