На этой неделе пришлось заниматься синхронизацией между сервисом МойСклад и OpenCart. И потерял много времени на поиски модулей и мог бы потратить много если бы не искал ещё информаций. У меня ocStore 2.3.0.2 но статья будет для всех версий OpenCart. Про скидку – в конец статьи. Весь приведённый ниже код написанн на php.
Модули для интеграций МойСклад и OpenCart
1. CiFrame
У компаний CiFrame есть модуль который работает через API сервиса Мой Склад. Модуль предоставлен в трёх вариантах:
- Беплатный
- Расширенный – 120$
- Расширенный с открытым кодом – 200$
Цена за один домен. При покупке лицензий на несколько доменов, предоставляеться скидка 50% на следующие домены. То есть если вам нужно купить лицензию за 200$, на 3 домена, то цена будет не 600$ а 400$. Консультант по имени Виталий дал мне такую скидку.
Тут можете читать список возможностей данных модулей. Именно данный модуль рекомендует МойСклад.
Плюсы
- синхронизирует одну картинку
(но качество плохое, это и минус) - работает через API
- Ciframe даёт демо версию на модуль на 5 дней
Минусы
- Цена большая
Синхронизирует картинку плохого качество, берёт миниатуру вместо картинкиРаботал с API МоегоСклада, делал как раз синхронизацию картинок, и есть и картинка в хорошем качестве. Метод из библиотеки SDK у меня не работал (ошибка авторизаций):(исправили эту ошибку)$product->image->download('/usr/images/product.jpg', 'normal');Пришлось использовать file_get_contents.- Модуль перезаписывает данные даже если Вы их поменяли в OpenCart
- Нельзя синхронизовать несколько цен из МойСклад, для разных групп покупателей
Видео презентация модуля:
2. NeoSeo
Вот ссылка на модуль. Он работает через CommerceML. Изначально думал что данный модуль предназначен для 1С, но потом понял что МойСклад тоже использует этот “протокол общения”.
Плюсы
- Демо версию можно получить на сайте самостоятельно
- Модуль большой, вроде как имеет много возможностей
- Хорошая поддержка
- Адекватная цена
Минусы
- Картинки не синхронизирует
- У меня цены не синхронизовались, но наверное Я что-то не правильно настроил
- Модуль с закрытым кодом (ionCube)
- Не синхронизирует картинки
Если всё сделали но синхронизация не работает, убираете .txt из имени файла .htaccess, и добавляйте после RewriteEngine On эту строчку:
RewriteRule .*neoseo_exchange1c.php$ - [E=REMOTE_USER:%{HTTP:Authorization},L]
3. Модули для 1C, или CommerceML
Модуль от NeoSeo тоже через CommerceML работает, но потому что он с закрытым кодом, начал искать другое решение, и нашёл модуль от OpenCart2x.
Плисы и минусы примерно все те-же что и у NeoSeo. Только тут можно исправить код если что.
Важно знать! Картинки не синхронизируються потому что МойСклад не передаёт их. Данную информацию подтвердила поддержка.
Ещё одна проблема это то что синхронизация товаров и категорий работает только в одну сторону: Из МойСклад в OpenCart.
Данную проблему можно решить через API. Только придёться дописывать это в ручную.
Даже если использовать модуль от Ciframe, это же проблема будет, поэтому моя рекомендация это использовать CommerceML + API. Через API можно получить картинки и при изменение данных на сайте, отправлять данные изменения в МойСклад.
Для данного модуля есть несколько тонкостей. Ссылку в МойСклад нужно ввести объязательно без https, то есть нужно использовать http. Если у Вас сайт работает через SSL, то в папке /export/ добавьте файл .htaccess:
RewriteEngine On RewriteCond %{HTTPS} on RewriteRule ^.*$ http://%{SERVER_NAME}%{REQUEST_URI} RewriteRule .*exchange1c.php$ - [E=REMOTE_USER:%{HTTP:Authorization},L] php_value max_execution_time 1200 php_value max_input_time 1200
И ещё, если используете модуль brainy filter то в таблице bf_filter тоже нужно добавить данные с МоегоСклада (у меня есть готовый файлик который это делает, если он Вам нужен – пишите).
Как настроить МойСклад для работы по CommerceML?
- Меню пользователя
- Настройки
- ОБМЕН ДАННЫМИ ->
- Добавить магазин
- Обмен по CommerceML
Адрес магазина обычно показываеться на странице с настройками модуля. Логин и пароль Вы задаёте на странице модуля и потом их пишите в МойСклад, это делаеться для того чтобы другие программы не могли отправлять данные на Ваш сайт.
Передаються ли скидки через формат CommerceML?
Задал этот вопрос в поддержку и вот что мне ответили:
Как получить скидку?
Чтобы получить скидку, напишите мне на почту: vodniciarv@gmail.com.
Могу предоставить скидку потому что являюсь официальным партнёром компаний МойСклад, мой сертификат.
Если остались вопросы задавайте их в комментариях, постораюсь ответить максимально быстро.
Полезные ссылки
- SDK Моего Склада для PHP
- Регистрацая в МойСклад
- Топ 10 лучших дизайнеров одежды – если Ваш бизнес связан с одеждой (реклама)
- Курс по PHP для тех кто хочет научиться программировать OpenCart
- Ещё один курс по PHP 🙂
- И курсы по OpenCart: бесплатный и платный
- Информация для разработчиков от МойСклад
- Атрибуты в OpenCart = Дополнительные поля в МойСклад
- Топ материалов для изучения OpenCart
Здравствуйте. Можете настроить синхронизацию OC и МойСклад под ключ? Сообщите пожалуйста условия на почту. Заранее благодарю.