3

WebTech

Личный кабинет

Проекты, коммерческие предложения, документы и отчёты — в одном месте.

Войти Зарегистрироваться Забыли пароль?
Интеграции

Интеграция 1С и Laravel: обмен товарами, ценами и заказами

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

Команда WebTechRetail 3 мин чтения

Интеграция с 1С почти никогда не бывает «просто выгрузкой товаров». Проблемы начинаются там, где две системы считают одни и те же данные по-разному: цены, остатки, статусы заказов и права менеджеров.

Разберём, какие решения принимаются до первой строки кода и почему они определяют, будет обмен стабильным или превратится в ежедневный ручной труд.

Кто владеет данными

Первый вопрос: какая система является источником правды для каждого типа данных. Обычно товары и цены ведёт 1С, заказы — сайт, остатки — 1С или склад. Как только роли определены, конфликты «кто прав» перестают возникать.

Что и как часто передаётся

  • Номенклатура и характеристики — реже, по факту изменений или раз в сутки.
  • Цены и скидки — чаще, потому что от них зависит продажа.
  • Остатки — самый чувствительный блок: чем чаще, тем меньше продаж «в минус».
  • Заказы — из сайта в 1С практически в реальном времени.
  • Статусы и документы — обратно из 1С на сайт, чтобы клиент видел правду.

Технические требования, без которых обмен ломается

  1. 1 Идемпотентность: повторная передача того же пакета не должна создавать дубли.
  2. 2 Внешние идентификаторы: у каждой сущности должен быть стабильный ключ из 1С, а не только внутренний id.
  3. 3 Пакетная обработка: тысячи позиций передаются порциями, а не одним запросом.
  4. 4 Логирование каждого обмена: что принято, что отклонено и почему.
  5. 5 Повторные попытки с задержкой при недоступности одной из сторон.
  6. 6 Мониторинг и уведомление ответственного, если обмен не прошёл.
// Идемпотентная обработка позиции: ключ из 1С, а не внутренний id
Product::updateOrCreate(
    ['external_id' => $item['Ref_Key']],
    [
        'name'      => $item['Description'],
        'price'     => $item['Price'],
        'synced_at' => now(),
    ]
);

Ошибки, которые встречаются чаще всего

  • Обмен «раз в сутки» при продаже остатков, которых уже нет.
  • Отсутствие журнала: непонятно, почему у товара старая цена.
  • Полная выгрузка каталога вместо изменений — на больших каталогах это часы работы.
  • Обработка ошибок «на потом», из-за чего сбой обнаруживается через неделю по жалобе клиента.

Если обмен уже внедрён, но ведёт себя непредсказуемо, первым шагом стоит проверить его целиком — это часть технического аудита. Дальше мы обычно переводим обмен на схему с журналом и мониторингом, чтобы сбой был виден сразу, а не по звонку.

Обсудим вашу задачу

Опишите ситуацию — вернёмся с вопросами и предложением. Бесплатный аудит и оценка сроков.

Бесплатный аудит

Получите бесплатный аудит интернет-магазина

За 3 рабочих дня разберём: где вы теряете заявки, какие каналы недооценены, и что даст рост в первые 30 дней.

Разбор технической части сайта: скорость, SSR, фильтры
Аудит текущей рекламы: где сливается бюджет
Анализ конкурентов в вашей нише
Прогноз CPL, ROAS и окупаемости
План действий на первый месяц
За этот месяц
42 компании получили аудит
30 мин
реакция
3 дня
аудит
100%
доступ к кабинетам

Заявка на аудит

Без обязательств. С конкретными цифрами.

Бесплатно

Ответим в течение 30 минут в рабочее время