Открыть сервис

CommerceML

CommerceML — это открытый стандарт обмена данными в формате XML, предназначенный для автоматизации электронной коммерции, в первую очередь для передачи информации о товарах, заказах и документах между интернет-магазинами, системами управления предприятием (ERP, CRM) и бухгалтерскими программами. Стандарт разработан и поддерживается российской компанией «1С-Софт» и широко используется в России и странах СНГ.

История

Разработка CommerceML началась в начале 2000-х годов как ответ на потребность в унифицированном формате обмена данными между различными системами учёта и сайтами электронной коммерции. До появления стандарта каждый разработчик создавал собственные форматы выгрузки, что затрудняло интеграцию. Первая версия CommerceML (1.0) была выпущена в 2002 году и представляла собой простой XML-схему для описания товаров.

В 2004 году вышла версия 2.0, которая расширила возможности формата, добавив поддержку заказов, контрагентов и документов. Версия 2.1 (2006 год) уточнила структуру и добавила элементы для работы с характеристиками товаров, ценами и складами. Версия 2.2 (2008 год) стала наиболее стабильной и популярной, включив поддержку множества типов документов, включая счета, накладные и заказы покупателей.

В 2011 году была выпущена версия 2.3, которая добавила поддержку расширенных свойств товаров, пакетов и групп, а также улучшила работу с остатками и ценами. Версия 2.4 (2013 год) ввела поддержку дополнительных реквизитов, контактной информации и файлов изображений. Версия 2.5 (2015 год) добавила поддержку обмена данными о скидках, наценках и акциях.

Версия 2.6 (2017 год) стала последней на данный момент. Она включает поддержку обмена данными о маркировке товаров (в связи с введением в России системы маркировки «Честный ЗНАК»), а также улучшенную обработку ошибок и расширенные возможности для работы с заказами. В 2020 году была опубликована версия 2.7, которая находится в стадии разработки и тестирования.

Структура и формат

CommerceML базируется на языке XML. Каждый файл обмена представляет собой XML-документ, структура которого описывается XSD-схемой. Основные элементы файла CommerceML:

  • Классификатор — содержит иерархическую структуру категорий товаров (групп), а также список единиц измерения, свойств и значений свойств.
  • Каталог — содержит описание товаров, включая их наименование, артикул, описание, изображения, характеристики, цены и остатки на складах. Каждый товар может быть привязан к одной или нескольким категориям из классификатора.
  • Пакет предложений — содержит информацию о ценах, скидках, остатках и условиях продажи для каждого товара. Цены могут быть заданы в разных валютах и для разных типов покупателей.
  • Документы — содержит информацию о заказах покупателей, счетах, накладных, актах и других документах. Каждый документ содержит информацию о контрагенте, дате, сумме, товарных позициях и статусе.

Файлы CommerceML обычно имеют расширение .xml и могут быть заархивированы в формате ZIP для уменьшения размера. Имена файлов часто содержат префиксы, указывающие на тип данных (например, import.xml, offers.xml, orders.xml).

Версии

Основные версии CommerceML и их ключевые особенности:

ВерсияГод выпускаКлючевые особенности
1.02002Базовая поддержка товаров и категорий.
2.02004Поддержка заказов, контрагентов и документов.
2.12006Уточнение структуры, поддержка характеристик и цен.
2.22008Стабильная версия, поддержка множества типов документов.
2.32011Поддержка расширенных свойств, пакетов и групп.
2.42013Поддержка дополнительных реквизитов, контактов и файлов.
2.52015Поддержка скидок, наценок и акций.
2.62017Поддержка маркировки товаров, улучшенная обработка ошибок.
2.72020В разработке, расширение возможностей.

Применение

CommerceML является де-факто стандартом для интеграции интернет-магазинов с системами учёта в России. Основные сценарии использования:

  • Выгрузка товаров из ERP в интернет-магазин. Программа «1С:Предприятие» (или другая ERP-система) формирует файл CommerceML, содержащий каталог товаров, цены и остатки. Этот файл импортируется в CMS интернет-магазина (например, 1С-Битрикс, OpenCart, WooCommerce, Shop-Script).
  • Загрузка заказов из интернет-магазина в ERP. Интернет-магазин формирует файл CommerceML, содержащий заказы покупателей. Этот файл импортируется в «1С:Предприятие» для обработки и формирования бухгалтерских документов.
  • Обмен данными между различными системами. CommerceML может использоваться для обмена данными между CRM-системами, складскими программами и системами управления заказами.
  • Интеграция с маркетплейсами. Некоторые маркетплейсы (например, Яндекс.Маркет, Ozon) поддерживают импорт товаров через CommerceML, хотя чаще используются собственные форматы.

Преимущества и недостатки

Преимущества

  • Открытый стандарт. Спецификация CommerceML доступна бесплатно, что позволяет разработчикам создавать собственные интеграции.
  • Широкая распространённость. Стандарт поддерживается большинством ERP-систем и CMS, используемых в России.
  • Гибкость. CommerceML позволяет передавать не только товары, но и заказы, документы, контрагентов, цены и остатки.
  • Поддержка сложных структур. Стандарт поддерживает иерархические категории, множественные характеристики товаров, различные типы цен и скидок.

Недостатки

  • Сложность. XML-схема CommerceML является достаточно сложной, что может затруднить её реализацию для новичков.
  • Избыточность. Для простых задач (например, выгрузка только названий и цен) CommerceML может быть избыточным.
  • Отсутствие строгой валидации. Некоторые реализации CommerceML могут интерпретировать одни и те же элементы по-разному, что приводит к ошибкам при обмене.
  • Зависимость от версий. Разные версии CommerceML могут быть несовместимы друг с другом, что требует согласования версий между системами.

Критика

Основная критика CommerceML связана с его сложностью и отсутствием строгой стандартизации. Разработчики отмечают, что разные версии и реализации стандарта могут содержать несовместимые элементы, что приводит к необходимости доработок при интеграции. Кроме того, XML-формат считается устаревшим по сравнению с JSON, который проще для парсинга и обработки. Некоторые критики указывают, что CommerceML является «закрытым» стандартом, поскольку его разработка контролируется одной компанией («1С-Софт»), что ограничивает возможности сообщества по его развитию.

Альтернативы

Существуют альтернативные форматы обмена данными, которые используются в электронной коммерции:

  • YML (Yandex Market Language) — формат, разработанный компанией «Яндекс» для выгрузки товаров на Яндекс.Маркет. Проще CommerceML, но менее гибок.
  • JSON — современный формат, который часто используется для обмена данными через API. Не имеет единого стандарта для электронной коммерции, но может быть адаптирован под конкретные задачи.
  • CSV — простой текстовый формат, который используется для выгрузки табличных данных. Не поддерживает сложные структуры.
  • OpenCart XML — формат, используемый в CMS OpenCart для обмена данными с внешними системами.
  • Google Merchant Center — формат, используемый для выгрузки товаров в Google Shopping.

Источники

  1. Спецификация CommerceML версии 2.6. Официальный сайт «1С-Софт».
  2. Документация по интеграции с CommerceML для 1С-Битрикс.
  3. Статья «CommerceML: стандарт обмена данными для электронной коммерции» на портале «Хабр».
  4. Обсуждение CommerceML на форумах разработчиков «1С:Предприятия».

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →