CommerceML или API для интеграции с 1С: как выбрать способ обмена

Каталог выгружается на сайт, заказы приходят в 1С, а нужную отмену или изменение сотрудник всё ещё переносит вручную. При выборе CommerceML или API мы начинаем с этой операции: какие данные она использует, что должна изменить и как проверить результат. Смена способа передачи затронет работающие товары и заказы, поэтому сначала стоит найти точный пробел в текущем обмене. Ниже сравним CommerceML, OData и собственный HTTP API на сущностях и действиях, проверим ограничения версий и разберём переход с повтором после сбоя и контрольной сверкой. Вы получите основу карты обмена, по которой можно обсудить доработку и границы первого этапа.

Выбирайте способ обмена на конкретной операции

Оставляйте CommerceML для операций, которые текущая связка 1С и сайта выполняет корректно. Проверяйте OData, если нужен доступ к отдельным объектам базы. Проектируйте собственный HTTP API, если внешней системе требуется действие с особыми правилами. Смешанный обмен тоже возможен: например, каталог остаётся в штатной выгрузке, а новая операция получает свой сервис.

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

Как выглядит сквозной обмен в нашей работе

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

Этот путь удобно разложить на отдельные операции: заменить изображение, передать заказ, отразить изменение остатка. Для каждой мы выясняем, кто меняет данные и где сотрудник проверит результат. Такой разбор помогает увидеть, какую часть существующего обмена нужно расширить в вашем проекте.

Реальный проект 13FOX

«Бакаев»: товары в связанной системе

Мы помогли перенести локальную 1С в облако и настроили двусторонний API-обмен с админ-панелью магазина.

Открыть кейс
Список товаров в админ-панели магазина Бакаев, связанной с 1С
Рабочее место сотрудникаВ панели ведут каталог. Изменения товаров связаны с учётной системой и витриной приложения.
Экран админ-панели из проекта «Бакаев»: каталог, с которым работает команда магазина.

Что сравнивают под названиями CommerceML и API

CommerceML задаёт структуру коммерческих данных в XML: какие сведения о товарах и документах передавать. Штатный протокол обмена 1С с сайтом описывает и передачу файлов по HTTP, и обратный путь заказов со статусами. Поэтому сам факт наличия XML ещё не объясняет, почему операция не проходит.

API описывает доступные запросы между программами. Варианты API различаются: стандартный интерфейс 1С использует OData 3.0 и открывает объекты базы через HTTP. Собственный HTTP-сервис позволяет разработчику задать обработчик запроса, его входные данные и ответ. REST описывает подход к устройству интерфейса; один этот термин не показывает набор ваших операций.

Например, для чтения карточки товара может подойти опубликованный объект OData. Для команды «подтвердить заказ по договору клиента» нужно определить проверку цены, наличия и допустимого состояния заказа. Мы проверяем, можно ли выполнить её через существующие объекты и правила базы или потребуется свой обработчик.

Предметная иллюстрация двух способов передачи одинаковых товарных данных: общим пакетом и отдельными операциями
Пакетный обмен и отдельные запросы решают разные задачи. Концептуальная иллюстрация создана генеративной моделью.

Матрица операций: что проверить в вашей базе

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

ОперацияCommerceMLODataСвой HTTP API
Каталог и варианты товараПакет каталога. Сверить характеристики, единицы и постоянные ID в обоих модулях.Чтение опубликованных справочников. Сайт должен понимать связи объектов конфигурации.Согласованный состав карточки и вариантов. Преобразования данных нужно разработать.
Цены и остатки по складамПротокол предусматривает цены и остатки. Проверить отбор складов и смысл доступного количества.Данные регистров и доступные методы остатков. Состав и расчёт зависят от базы.Можно задать ответ для конкретного покупателя и склада. Правило доступности согласуют отдельно.
Создание заказа с сайтаОбратный обмен заказами предусмотрен. Проверить сопоставление клиента, состава и номера.Создание документа при наличии объекта и прав. Его реквизиты и проверки нужно изучить.Команда создания заказа с согласованными проверками и ответом. Обработчик пишут под процесс.
Проведение документаПорядок обработки загруженного заказа определяет прикладной модуль 1С.Есть методы проведения и отмены проведения. Проверить права и результат в учёте.Можно включить проведение в обработчик. Условия выполнения и ошибки нужно задать.
Отмена, частичная отгрузка, резервПроверить конкретные статусы и действия модулей; их состав может не покрыть ваш процесс.Доступ к данным и методам объектов ещё требует проверки всей цепочки действий.Собственная команда может собрать нужную цепочку. Конкурирующие изменения проверяют отдельно.
Фотография из панели в 1СПроверить обратное направление и обработку изображения в выбранной связке.Проверить способ хранения изображения и возможность доступа к нему в этой базе.Можно согласовать отдельную загрузку и связь с товаром. Хранение и ошибки входят в разработку.
Повтор и сверка после сбояКонтролировать этап передачи файла и этап применения данных; сверять ID и результат.При неизвестном результате запроса проверить объект до повторной записи.Задать ключ операции, ответ на повтор и проверку результата. Сам HTTP этого не обеспечивает.

Для CommerceML отправной точкой служат описанные 1С механизмы обмена. Для собственного API основа возможностей дана в документации HTTP-сервисов: ответ и логику формирует разработчик. По этой таблице мы проверяем функции вашей связки и фиксируем результат каждого испытания.

Версия платформы, конфигурации и модуля меняют решение

У названия «1С 8.3» слишком широкий смысл для выбора обмена. Платформа предоставляет технические механизмы, конфигурация задаёт товары и документы, а модуль обмена сопоставляет их с сайтом. Мы отдельно фиксируем все три версии, изменения конфигурации и расширения.

  • CommerceML: 1С описывает штатный обмен для «Управления торговлей», «Комплексной автоматизации» и «Управления нашей фирмой». Это отправная точка проверки. Возьмите фактический XML и сверьте версию схемы, поля и обработку с модулем сайта. На странице стандарта доступна схема CommerceML 2.10; наличие этой схемы не подтверждает поддержку вашей установленной связкой.
  • OData: по документации 1С:Фреш, механизм поддерживается с платформы 8.3.5. Затем проверяем веб-публикацию, состав открытых объектов, их метаданные и права служебного пользователя. Если сайт обращается к недоступному объекту, замена XML на JSON не решит проблему.
  • Собственный HTTP-сервис: выясняем, можно ли добавить обработчик в вашей среде размещения, как его публиковать и сопровождать после обновлений. В управляемом облаке условия доработки и публикации проверяем у оператора сервиса.

В 1С:Фреш есть отдельное ограничение: OData-запрос с заголовком 1C_OData-DataLoadMode: true не поддерживается. Этот заголовок включает режим записи, аналогичный загрузке при обмене. Если старый механизм использует этот режим, перенос требует проверки обработчиков и результата записи.

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

Запись документа и завершение бизнес-операции

OData позволяет создавать и изменять объекты, а для документов предусмотрено проведение. При этом 1С отдельно указывает исключение для проверки заполнения при чтении и записи через этот интерфейс. Поэтому после успешного запроса мы проверяем обязательные данные и результат операции в самой программе.

Допустим, сайт создал заказ с товарным составом. Сотруднику ещё нужны корректный договор, склад, цена, налоговые реквизиты и согласованное состояние документа. Какие проверки выполняет база, в какой момент они срабатывают и что произойдёт при отказе, выясняем на тестовом заказе. Проведённый документ тоже проверяем по его результату в учёте.

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

У каждой операции фиксируем источник данных, действие, повтор и проверку результата.

Пропавший ответ: как узнать, дошёл ли заказ

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

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

У CommerceML также нужно отличать принятие файла от применения его содержимого: протокол описывает эти этапы отдельно. Восстановление начинаем с последнего подтверждённого этапа и сверки данных. Для API проверяем значение HTTP-ответа: он подтверждает приём запроса или уже завершённую операцию.

Сотруднику нужен результат проверки: заказ найден в 1С и связан с номером сайта; обработка ещё идёт; либо требуется исправить конкретное поле. Технический журнал дополняем списком ошибок и ответственным за их разбор.

Как перейти на API по одному участку обмена

Полная замена нужна, когда проверка показывает, что текущий механизм не покрывает согласованный процесс и его доработка не подходит. Если пробел локальный, мы предлагаем перенос одной операции. Например, каталог остаётся в CommerceML, а проверка доступности с созданием резерва получает отдельную команду. Правила резерва, отмены и истечения срока проектируем для конкретной конфигурации.

  1. Зафиксировать текущую карту. Сохранить настройки, примеры пакетов и связи ID. Для цены, фото, остатка и статуса выбрать систему, в которой данные меняют.
  2. Проверить новый путь на копии. Выполнить обычную операцию, отказ и повтор. Для операции резерва проверить два конкурирующих заказа на последнюю единицу. Измерить задержку и нагрузку при согласованном объёме, сравнить результат со старым обменом.
  3. Разделить запись. Назначить один канал для каждой переносимой операции и поля. Во время сравнения новый канал может читать данные; две независимые записи одного заказа требуют специального согласованного механизма.
  4. Переключить выбранный участок. Остановить его старую запись, разобрать незавершённые пакеты и запросы, выполнить сверку, затем включить новую. Согласовать допустимый перерыв с сотрудниками.
  5. Проверить восстановление и возврат. Зафиксировать условие остановки нового канала и порядок возврата. Сначала сверить уже принятые изменения и сохранить связи ID; простое включение старого задания может повторно загрузить их.

Для обновлений 1С и сайта сохраняем контрольные примеры и повторяем затронутые проверки. Если новый API оставляет CommerceML для каталога, в документации указываем, какой канал отвечает за каждое поле. Это помогает сотруднику понять, где исправлять ошибку, а разработчику не перезаписать данные соседним обменом.

Что включить в карту и границы первого этапа

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

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

Мы обсуждаем проекты компаний из Москвы, Санкт-Петербурга и других регионов России удалённо. Для начала важны доступность ответственного за 1С и описание процесса. Общий состав работ по интеграции с 1С вынесен на страницу услуги; здесь основой оценки служит выбранная операция.

Вопросы перед выбором обмена

Нужно ли менять CommerceML ради двустороннего обмена?

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

OData подходит только для чтения?

Стандартный интерфейс 1С позволяет создавать и изменять объекты; для документов предусмотрены проведение и отмена проведения. Возможность нужной операции проверяют по опубликованным объектам, правам и правилам конкретной базы.

API гарантирует обмен в реальном времени?

Задержку определяют способ запуска, нагрузка, обработка и доступность систем. API позволяет проектировать отдельные запросы; нужную скорость подтверждают измерением. Для заказа отдельно согласуют поведение при недоступности 1С.

Можно оставить CommerceML и добавить API?

Можно, если операции и поля закреплены за каналами, сохранены связи ID и есть общий порядок сверки. Начните с участка, которого не хватает текущему обмену, и проверьте переключение вместе с возвратом.

Документы для проверки своей связки

Технические возможности сверены 7 октября 2026 года по документации 1С: протокол обмена с сайтом, стандартный REST-интерфейс, HTTP-сервисы и OData в 1С:Фреш. Используйте их вместе с описанием установленной конфигурации и контрольным обменом на тестовой базе.

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

Составим карту обмена и границы первого этапа

Укажите конфигурацию и версию 1С, связанные системы, одну сущность и пример ошибки. На первом обсуждении разложим нужное действие по системам и определим, что проверить в текущем обмене. Затем согласуем карту обмена и границы первого этапа для оценки работ.

Оставьте контакт в форме. Пример операции разберём при обратной связи; для начала достаточно обезличенных данных.

Ко всем статьямИнтернет-магазин и 1С

Спасибо!

Наша команда свяжется с вами!

Отправляем 🚀

Схема