Интеграция каталога автозапчастей с 1С через REST API

Изображение 1
Изображение 2
Изображение 3
Изображение 4
Изображение 5
Изображение 6
Изображение 7
Изображение 8
Изображение 9
Изображение 10
Изображение 11

Интеграция каталога автозапчастей с 1С через REST API

Веб разработкаAPIРазработка под ключ
Статус: Активный
Ссылки:

Клиент - дистрибьютор автозапчастей с широкой номенклатурой (более 100 000 позиций) и динамическими остатками на нескольких складах. До внедрения данные обновлялись раз в сутки через выгрузку CommerceML, что приводило к продажам неактуальных позиций, увеличению возвратов и потере лояльности. Требовалось обеспечить мгновенный показ остатков на сайте, автоматическую передачу заказов в 1С и резервирование товара без участия оператора. Ключевым условием была безопасность - исключение прямого доступа веб-сервера к базе 1С. Проект реализован силами внутренней команды с использованием технологий, поддерживающих высокую масштабируемость.

Технологии

  • 1С: платформа 8.3, конфигурация «Управление торговлей» (ред. 11), доработанная HTTP-сервисами для REST API.
  • Сайт: Next.js, Nginx, Redis.
  • Обмен: JSON REST API через HTTPS, авторизация по токенам (OAuth2 Client Credentials).
  • Инфраструктура: Docker-контейнеризация для изоляции компонентов, балансировщик нагрузки, мониторинг через Prometheus.

Решение
В рамках проекта со стороны заказчика была выполнена ключевая часть интеграции - доработка конфигурации 1С для обеспечения полноценного обмена данными с сайтом через REST API. Это позволило реализовать следующие возможности

  1. Разработка HTTP-сервисов в 1С. Созданы REST-эндпоинты для получения остатков и цен по артикулу / VIN-фильтру, для синхронизации справочников (бренды, группы, характеристики), а также для приёма заказов с возможностью резервирования на складе. Каждый запрос проходит авторизацию по JWT-токену, что исключает несанкционированный доступ.
  2. Оптимизация работы с номенклатурой. В 1С настроена инкрементальная выгрузка изменённых за последние 5 минут позиций, что снизило нагрузку на базу данных и позволило обновлять сайт с минимальной задержкой.
  3. Архитектура сайта. Вместо синхронных вызовов к 1С при каждом открытии страницы внедрён кэширующий слой на Redis. Периодический фоновый процесс (воркер) запрашивает через API актуальные остатки и цены для популярных позиций и сохраняет их в Redis. При просмотре карточки товара данные читаются из Redis - время отклика страницы не превышает 200 мс. Для оформления заказа выполняется синхронный POST-запрос в 1С: если остаток подтверждён, товар резервируется, и заказ считается подтверждённым.
  4. Обработка заказов. После успешного создания заказа в 1С сайт получает номер заказа и статус. Все ошибки (отсутствие товара, проблемы связи) логируются и отображаются пользователю. При недоступности 1С заказы временно сохраняются в очередь на базе Redis и обрабатываются при восстановлении соединения - это исключило потерю данных даже при кратковременных сбоях.
  5. Мониторинг и отказоустойчивость. Настроен алертинг на задержки ответов API и сбои резервирования. Благодаря контейнеризации удалось быстро масштабировать количество воркеров в часы пиковых нагрузок. В результате интеграции через REST API время отображения актуальных остатков сократилось с 24 часов до менее чем 1 минуты, количество возвратов из-за неактуальных остатков снизилось на 94%, а ручная обработка заказов в 1С была полностью автоматизирована.