“CommerceML (1С, МойСклад, Бизнес.Ру)”¶
Важно
Это статья о новом модуле CommerceML, который впервые появился в 4.11.5 с пометкой [Dev] и полноценно вышел в версии 4.12.1. Старый модуль описан в документации для более ранних версий.
Модуль CommerceML полезен для тех магазинов и маркетплейсов, которые работают с системами учёта. Он позволяет:
- выгружать из системы учёта в магазин информацию о товарах, их остатках и ценах;
- отправлять в систему учёта информацию о заказах;
- выгружать из системы учёта изменения в этих заказах (статус, товары);
- разрешить вашим продавцам делать всё вышеперечисленное (если у вас маркетплейс).
Чтобы всё это работало, ваша система учёта должна уметь отправлять и принимать эти данные в формате CommerceML. Например, это умеют 1С, МойСклад и Класс365 (Бизнес.Ру).
Примечание
Модуль работает с версиями схемы CommerceML 2.05, 2.07 и 2.10. При получении данных модуль сам поймёт, какая версия используется.
Как организовать обмен между системой учёта и магазином?¶
После того, как вы установите модуль, в меню Администрирование появляется пункт Синхронизация данных. Там есть раздел 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С.