“CommerceML (1С, МойСклад, Бизнес.Ру)”

Важно

Это статья о новом модуле CommerceML, который впервые появился в 4.11.5 с пометкой [Dev] и полноценно вышел в версии 4.12.1. Старый модуль описан в документации для более ранних версий.

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

  • выгружать из системы учёта в магазин информацию о товарах, их остатках и ценах;
  • отправлять в систему учёта информацию о заказах;
  • выгружать из системы учёта изменения в этих заказах (статус, товары);
  • разрешить вашим продавцам делать всё вышеперечисленное (если у вас маркетплейс).

Чтобы всё это работало, ваша система учёта должна уметь отправлять и принимать эти данные в формате CommerceML. Например, это умеют 1С, МойСклад и Класс365 (Бизнес.Ру).

Примечание

Модуль работает с версиями схемы CommerceML 2.05 и 2.07. При получении данных модуль сам поймёт, какая версия используется.

Как организовать обмен между системой учёта и магазином?

После того, как вы установите модуль, в меню Администрирование появляется пункт Синхронизация данных. Там есть раздел CommerceML: 1С, МойСклад, Бизнес.Ру. Все настройки на стороне CS-Cart выполняются в нём. В Multi-Vendor этот раздел доступен для продавцов. Процесс разбит на 3 шага. Первые два шага понадобится делать не всегда; возможно, только один раз.

Шаг 1. Настройте свою систему учёта

Обмен данными всегда запускается из системы учёта (1С, МойСклад, Бизнес.Ру), а не из CS-Cart. Поэтому в первую очередь нужно, чтобы CS-Cart получил файлы оттуда. Для каждой системы учёта инструкция по подключению своя:

Первый шаг нужен сразу для двух вещей:

  • так мы проверяем, доходят ли файлы из системы учёта до CS-Cart;
  • так CS-Cart узнаёт, какие данные есть в файлах; эта информация нужна при следующем шаге.

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

Важно

Хотя вы запускаете обмен в системе учёта, на этом шаге CS-Cart ещё ничего не создаёт и не импортирует, а только анализирует файл. Полноценный обмен начинается только на третьем шаге.

Шаг 2. Настройте правила обмена и соответствия

После первого шага CS-Cart знает о содержимом вашего файла. Теперь можно настроить правила обмена данными. Они разбиты на несколько вкладок:

  • Каталог. Здесть можно настроить сценарии обмена. Например:

    • Показывать ли новые товары из системы учёта покупателям сразу или делать их сначала выключенными/скрытыми?
    • Создавать ли в магазине сразу все новые характеристики и категории или создавать только те, которые вы одобрите вручную?
    • Что делать, если у товара в системе учёта меняется категория или изображение?
    • Пытаться ли автоматически сопоставить категории (по названиям) и товары (по коду) с теми, которые уже существуют в магазине?
  • Товары. Эта вкладка позволяет ещё точнее настроить, за что у вас отвечает система учёта, а за что — панель администратора магазина. Здесь вы можете:

    • Выбрать, из каких полей в системе учёта брать свойства товаров (и брать ли вообще).
    • Хотите ли вы, чтобы эти свойства отличались в системе учёта и в CS-Cart. Например, если вы хотите в системе учёта одно название товара, а в магазине другое, то можно сделать так, чтобы оно не перезаписывалось при каждом обмене.
  • Заказы. Здесь вы решаете, какие заказы экспортировать в систему учёта, и нужно ли импортировать изменения в них обратно в магазин.

    Примечание

    Для просмотра заказов, выгружаемых в системы учёта, введите в браузере следующий URL: ваш_домен/commerceml?type=sale&mode=query. Для авторизации используйте данные администратора, у которого есть права на обмен по CommerceML.

    В полученном файле будут также присутствовать пользовательские поля профиля, добавленные настройкой Экспорт в CommerceML при создании/редактировании полей.

  • Вкладки Цены, Налоги, Валюты, Характеристики товаров и Склады позволяют вам задать соответствие между этими объектами в системе учёта и в CS-Cart.

Когда вы настроите нужные соответствия, CS-Cart будет готов к обмену. Повторять этот шаг обычно не нужно, но многое зависит от настроек. Например, вы настроили модуль так, чтобы новые характеристики не создавались в CS-Cart до проверки. Если после этого вы создадите какую-нибудь новую характеристику для магазина в 1С, то тогда вам придётся вручную указать на вкладке “Характеристики”, что эту характеристику нужно создать в CS-Cart.

Шаг 3. Выполните полноценный обмен

После того, как заданы все нужные соответствия, можно запустить обмен в системе учёта ещё раз. В этот раз при обмене все данные появятся в CS-Cart. Так же будет происходить и при дальнейших обменах. Теперь имеет смысл настроить систему учёта так, чтобы она запускала обмен с CS-Cart периодически. В случае возникновения проблем c последним обменом их можно будет увидеть на странице обмена в CS-Cart.

Все ключевые события обмена записываются в лог, который хранится на сервере с вашим магазином. Лог последнего обмена можно получить прямо из интерфейса, со страницы Администрирование → Синхронизация данных. Остальные логи хранятся в папке /var/files/[идентификатор]/exim.

Чтобы логи со временем не заполнили весь сервер, старые логи автоматически удаляются. Через файл local_conf.php можно указать, сколько файлов хранить, и каким может быть максимальный размер файла. Для этого туда можно добавить два параметра:

$config[‘commerceml’][‘max_log_file_size’] = 10240;
$config[‘commerceml’][‘max_log_files’] = 10;

Примечание

При выгрузке данных из системы учёта обновляются статусы заказов в соответствии с:

  • Статусом заказа Мой склад;
  • Датой отгрузки по 1С и Датой оплаты по 1С. Если приходят сразу две даты, приоритет отдается Дате отгрузки по 1С.