
CommerceBridge 1C
CommerceBridge 1C организует двусторонний обмен между 1С и интернет-магазином на MODX 3 + miniShop3 по протоколу CommerceML 2.
Компонент принимает каталог и торговые предложения по HTTP, обновляет товары по GUID и выгружает заказы miniShop3 обратно в 1С. Для обмена не требуется FTP.
Возможности
- импорт категорий с сохранением вложенности;
- импорт товаров, наименований, кратких и полных описаний;
- импорт артикула, кода 1С, производителя и SEO description;
- импорт свойств, веса, длины, ширины и высоты;
- загрузка изображений и создание миниатюр средствами miniShop3;
- фильтрация вложений по расширению: документы не загружаются как изображения;
- обновление цен и остатков через
offers.xmlбез повторного импорта каталога; - суммирование остатков всех складов или отбор выбранных складов;
- импорт нескольких типов цен в автоматически создаваемые TV;
- сопоставление свойств 1С с полями MODX, miniShop3, TV и опциями;
- отбор категорий и товаров по GUID;
- управление публикацией и видимостью товаров по остатку;
- скрытие пустых категорий;
- выгрузка заказов и данных покупателя в 1С;
- сопоставление статусов 1С и miniShop3;
- ручная загрузка XML/ZIP из панели компонента;
- история сеансов, краткий отчёт, журнал и режим отладки.
Схема обмена
Компонент поддерживает стандартные команды CommerceML:
checkauth— проверка логина и пароля;init— согласование параметров сеанса;file— загрузка XML, ZIP и изображений;import— обработка загруженного файла;query— передача заказов из miniShop3 в 1С;success— завершение сеанса.
Категории и товары связываются с объектами MODX по GUID 1С. Повторная выгрузка обновляет существующие объекты и не должна создавать дубликаты.
Требования
- MODX Revolution 3.2 или новее;
- miniShop3;
- PHP 8.2 или новее;
- расширения PHP: XMLReader, SimpleXML, XMLWriter, ZIP и Fileinfo;
- OpenSSL для установки защищённого пакета;
- GD или Imagick для обработки изображений;
- HTTPS для endpoint обмена.
Ограничения версии 1.6.0
Внимание
Перед первым полным обменом создайте резервную копию файлов и базы данных. Первую проверку выполняйте на небольшой группе товаров.
- характеристики предложений сохраняются как свойства базового товара, отдельные дочерние SKU miniShop3 не создаются;
- TV с дополнительными ценами хранят значения, но выбор цены по группе покупателя настраивается отдельно в шаблонах сайта;
- валюта выгружаемых заказов —
RUB; - панель показывает результат завершённых HTTP-запросов, а не непрерывный прогресс внутри одного запроса;
- для большого ручного импорта вкладка браузера должна оставаться открытой, автоматический обмен из 1С работает автономно.
Безопасность
Для 1С создаётся отдельная учётная запись обмена. Пароль сохраняется только в виде результата password_hash() и не отображается в панели после сохранения.
Рекомендуется ограничить endpoint по IP сервера 1С на уровне nginx или Apache. Каталог core/cache/commerceml/ не должен быть доступен из веба.
