Интеграция с 1С редко ломается целиком. Чаще она работает «почти правильно»: цены обновляются с задержкой, остатки расходятся, новые товары появляются не сразу, а менеджеры правят данные вручную. Вот семь ошибок, которые встречаются чаще всего.
1. Полная выгрузка вместо инкрементальной
Если магазин каждые пять минут получает весь каталог, интеграция быстро упирается в лимиты. Правильнее передавать только изменения: новые товары, изменённые цены, остатки и статусы заказов.
2. Синхронизация в пиковые часы
Тяжёлая выгрузка во время рекламной кампании конкурирует за ресурсы с покупателями. Вынесите обмен в очередь и запускайте его в окно низкой нагрузки.
3. Нет идемпотентности
Повторная обработка одного и того же заказа или товара не должна создавать дубли. Каждой операции нужен стабильный идентификатор и защита от повторного применения.
4. Один поток на всё
Каталог, цены, остатки и заказы — разные по частоте и критичности. Если всё идёт одним пакетом, ошибка в цене блокирует выгрузку заказов. Разделите потоки и настройте отдельные очереди.
5. Нет логов и мониторинга
Проблему интеграции замечают, когда клиент жалуется на неверную цену. Нужны логи обмена, счётчики ошибок, алерты на задержку и понятный экран статуса.
6. Цены и остатки правят в двух местах
Если менеджер меняет цену в магазине, а 1С считает её своей, при следующем обмене изменение откатится. Определите единственный источник истины и правила для ручных правок.
7. Нет плана отката
Перед выгрузкой должна быть возможность вернуть предыдущее состояние: резервная копия, версия каталога или флаг, отключающий обмен. Иначе ошибка в данных превращается в простой магазина.
Чек-лист здоровой интеграции
- Инкрементальные выгрузки по расписанию.
- Очереди и retry с ограничением попыток.
- Идемпотентные операции и стабильные ID.
- Логи, метрики и алерты по задержке.
- Разделение каталога, цен, остатков и заказов.
- Тестовый контур и план отката.
Как мы подходим к интеграциям
Сначала описываем схему обмена и источники истины, затем собираем контур с логами и мониторингом. Только после этого включаем боевую выгрузку — маленькими шагами, с проверкой на реальных данных.