← Все статьи
Интеграции · 10.11.2026 · 11 мин

Обмен заказами с 1С: статусы, оплаты и доставка

Как передавать заказы в 1С без дублей и потерь: статусы, оплаты, доставка, повторные попытки и мониторинг.

Обмен заказами с 1С: статусы, оплаты и доставка

Обмен заказами — самая чувствительная часть интеграции с 1С. Если каталог обновился с задержкой, покупатель увидит старую цену. Если потерялся заказ, магазин теряет деньги и доверие. Если статусы не совпадают, поддержка не понимает, что происходит.

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

Что должно передаваться

Заказ

Состав, количество, цены, скидки, сумма, контакты и комментарий покупателя.

Оплата

Способ, статус, сумма, идентификатор платежа и время операции.

Доставка

Способ, адрес, пункт выдачи, сроки, стоимость и трек-номер.

Статусы

Создан, оплачен, собирается, отправлен, доставлен, отменён, возврат.

Схема обмена заказами

1
Заказ создаётся на сайте

Фиксируем состав, цены и контакты. Присваиваем стабильный идентификатор, который не меняется.

2
Заказ уходит в очередь

Не отправляем его синхронно в момент оформления. Очередь защищает checkout от падения 1С.

3
1С принимает заказ

Проверяет данные, создаёт документ и возвращает свой идентификатор. Повторная отправка не должна создавать дубль.

4
Статусы идут обратно

Оплата, сборка, отправка и доставка обновляют заказ на сайте.

5
Ошибки обрабатываются

Неудачные операции повторяются с ограничением и попадают в журнал для разбора.

Статусы и их соответствие

Статусы на сайте и в 1С почти никогда не совпадают один к одному. Нужна таблица соответствия: какой статус сайта соответствует какому статусу учётной системы и что видит покупатель.

  • Составьте таблицу статусов до разработки.
  • Определите, кто меняет статус: сайт, 1С или менеджер.
  • Не показывайте покупателю внутренние статусы вроде «ожидает проводки».
  • Настройте уведомления на ключевые переходы.
  • Обработайте отмены и возвраты отдельно.

Если статус меняется в двух местах, рано или поздно появится расхождение. Выберите источник истины и запретите ручные правки в обход правила.

Оплаты

Платёж — отдельный поток. Сайт может получить подтверждение от платёжной системы раньше, чем 1С, или наоборот. Важно не считать заказ оплаченным только по факту возврата пользователя на сайт.

  • Используйте серверное подтверждение платежа, а не только редирект.
  • Передавайте идентификатор транзакции и сумму.
  • Обрабатывайте повторные уведомления без дублей.
  • Сверяйте статусы оплат с платёжной системой.
  • Настройте алерты на зависшие платежи.

Доставка

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

  • Кэшируйте тарифы и пункты выдачи, но обновляйте их по расписанию.
  • Показывайте понятную ошибку, если сервис недоступен.
  • Передавайте трек-номер и статус в заказ.
  • Не блокируйте checkout из-за недоступности одного перевозчика.

Идемпотентность и повторные попытки

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

Повторные попытки должны быть ограничены и иметь задержку. Бесконечные retry могут устроить шторм запросов и добить систему, которая только что восстановилась.

Мониторинг

  • Количество заказов, ожидающих отправки.
  • Время обработки и задержка.
  • Число ошибок и повторных попыток.
  • Заказы без статуса или с зависшим платежом.
  • Расхождения между сайтом и 1С.
  • Алерты на простой обмена и рост очереди.

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

Тестовый контур

Перед запуском проверьте на копии: новый заказ, оплату, отмену, возврат, повторную отправку, недоступность 1С и восстановление. Только после этого включайте боевой обмен.

Типичные ошибки

  • Отправлять заказ синхронно в момент оформления.
  • Не хранить идентификаторы и создавать дубли.
  • Считать заказ оплаченным по редиректу.
  • Игнорировать отмены и возвраты.
  • Не мониторить очередь и ошибки.

Обмен заказами — это не один запрос, а процесс с состояниями. Чем лучше описаны статусы, ошибки и повторные попытки, тем спокойнее работает магазин.

Возвраты и отмены

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

  • Отмена до оплаты и после оплаты — разные процессы.
  • Возврат денег должен быть связан с платежом.
  • Товар возвращается на склад отдельной операцией.
  • Пользователь должен видеть понятный статус.
  • Все действия фиксируются в журнале.

Сверка данных

Даже при хорошей интеграции нужна регулярная сверка. Она помогает найти расхождения до того, как их заметит клиент.

  • Количество заказов на сайте и в 1С.
  • Суммы и статусы оплат.
  • Статусы доставки и трек-номера.
  • Заказы без движения и зависшие платежи.
  • Расхождения по возвратам.

Роли и ответственность

У обмена должны быть владельцы с обеих сторон. Если за заказы отвечает только сайт, а 1С «так работает», проблемы решаются медленно.

  • Кто отвечает за заказы на сайте.
  • Кто отвечает за проведение в 1С.
  • Кто разбирает ошибки обмена.
  • Кто принимает решение об откате.
  • Где хранятся инструкции и контакты.

Что проверить перед запуском

✓ Новый заказ доходит и создаётся один раз.
✓ Повторная отправка не создаёт дубль.
✓ Оплата подтверждается серверно.
✓ Отмена и возврат обрабатываются.
✓ Статусы совпадают с таблицей соответствия.
✓ Очередь и ошибки видны в мониторинге.
✓ Недоступность 1С не ломает checkout.
✓ Есть план отката и ответственный.

Что делать при сбое 1С

1С может быть недоступна из-за обновления, сети или ошибки. Магазин в этот момент должен продолжать принимать заказы, а не показывать ошибку.

  • Заказы сохраняются в очередь и не теряются.
  • Пользователь видит подтверждение, а не техническую ошибку.
  • Повторная отправка начинается после восстановления.
  • Поддержка видит статус очереди и может объяснить ситуацию.

Документация

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

  • Схема потоков и статусов.
  • Форматы и идентификаторы.
  • Правила повторных попыток.
  • Контакты ответственных.
  • Инструкция по ручному запуску.

Очередь и приоритеты

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

  • Разделите критичные и фоновые операции.
  • Ограничьте параллелизм, чтобы не перегрузить 1С.
  • Настройте приоритет для оплаченных заказов.
  • Следите за временем ожидания в очереди.

Как выбрать формат обмена

Формат зависит от возможностей 1С и требований к скорости. Для небольших объёмов хватает периодической выгрузки, для оплат и статусов нужен более оперативный канал.

  • HTTP API — для быстрых точечных операций.
  • Очередь — для надёжности и повторной обработки.
  • Файлы — для простых сценариев и больших пакетов.
  • Прямое подключение к базе — только при сильной поддержке.

Не все ошибки 1С означают, что интеграция плохая. Иногда проблема в данных: дубли клиентов, неверные статусы или отсутствующие товары. Поэтому в разборе участвуют и техническая команда, и операторы учётной системы.

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

Если в 1С заказ создаётся вручную или требует подтверждения менеджера, это должно быть отражено в статусах. Иначе сайт будет считать заказ принятым, а в учётной системе он ещё не существует.

Проверим обмен заказами

Посмотрим схему, статусы, оплаты и ошибки. Предложим контур без дублей и потерянных заказов.

Обсудить интеграцию →

Вопросы и ответы

Как часто передавать заказы в 1С? +

Лучше сразу через очередь, но с ограничением параллелизма и повторными попытками. Периодическая выгрузка раз в час увеличивает риск потерять заказ.

Что делать, если 1С недоступна? +

Магазин должен продолжать принимать заказы. Они остаются в очереди, а после восстановления отправляются повторно.

Как избежать дублей заказов? +

Использовать стабильный идентификатор заказа и хранить журнал обработанных операций. Повторная отправка должна обновлять существующий заказ, а не создавать новый.

Кто должен менять статус заказа? +

Обычно 1С или учётная система, а сайт отображает статус. Если статус меняется в двух местах, нужны явные правила приоритета.

Как передавать оплату? +

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

Что делать с отменами и возвратами? +

Обрабатывать отдельными операциями с идемпотентностью и уведомлениями. Они не должны теряться среди обычных статусов.

Можно ли сделать обмен без программиста 1С? +

Иногда да, если есть готовый модуль или API. Для сложных правил и статусов обычно нужен человек, который понимает учётную систему.

Как понять, что обмен работает правильно? +

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

Что делать с тестовыми заказами? +

Помечать их отдельно и не смешивать с боевыми. Иначе они попадут в отчёты и могут быть приняты за реальные продажи.

Что делать с заказами, созданными до миграции? +

Их нужно перенести или сохранить доступ к старой системе. Иначе поддержка не сможет разобрать историю заказов и возвратов.

Как часто сверять заказы? +

В первые недели — ежедневно, затем по регламенту. Сверка помогает поймать расхождения до жалоб клиентов.

Что делать с зависшими заказами? +

Поместить в отдельную очередь, проверить статус в 1С и платежах, затем повторить операцию или закрыть с комментарием.

Как тестировать обмен без риска? +

На копии сайта и тестовой базе 1С. Проверьте новые заказы, оплаты, отмены, возвраты и недоступность сервиса, прежде чем включать боевой обмен.

Можно ли использовать вебхуки? +

Да, если сервис поддерживает их и есть повторная обработка. Вебхук ускоряет обмен, но не заменяет очередь и журнал операций.