Возможности интеграции Опенкарт и МойСклад
Интеграция проверена на проектах до 12 тыс. товарных позиций
Платформа: Opencart
Версия Api МойСклад: 1.2
ОПИСАНИЕ: работает в нескольких режимах. Когда нужна первая начальная синхронизация, перебирает всю информацию из МС от самого раннего товара. Потом ставится на крон и работает в режиме, когда скрипты отыскивают изменения из МС, которые были совершены между крайними запусками. В модуле компактный код, используются одна и та же библиотека и функции для разных режимов. Ещё плюс, что модуль извлекает из АПИ МойСклад информацию постранично и фиксируется в БД процент выполнения. То есть если синхронизация по какой-то причине прервется, то достаточно запустить скрипт снова и процесс начнется не сначала, а с зафиксированной точки останова.
Заказать интеграцию можно через мой кворк или обратившись ко мне напрямую.
Структура-категории-группы
Передача товаров из категорий МойСклад (МС) в категории магазина один в один
Структура МС (группы) полностью соответствуют структуре магазина (Категории товаров в Моем Складе соответствуют категориям в магазине).
ТОВАРЫ
Из Моего склада в магазин передаются:
— товары;
— цены. Передаются два типа цен – закупка и розница;
— остатки. Импортируются остатки со всех складов МС;
— основные характеристики товара (дополнительные поля в МС, атрибуты в опенкарт);
— главное изображение
При появлении нового товара в Моем Складе, он появляется в магазине после синхронизации по расписанию в крон.
При удалении товара в Моем складе, товар удаляется из магазина после синхронизации по расписанию в крон.
Синхронизация товаров идет по артикулу(SKU) или по модели (коду).
Если остаток товара = 0, карточка товара в магазине все равно остается. В этом случае отображается вместо кнопки «купить» кнопка «нет в наличии» или «предзаказ» или «уведомить о поступлении» и т.п.
При изменении в МС любого доп. поля, названия, описания, изображения товара в МС, новые данные подтягиваются в магазин при первом же обновлении каталога по расписанию.
Для всех переданных товаров из МС в магазине генерируются ЧПУ URL.
Синхронизация товарных модификаций(например, по размеру или цвету) в МС с опциями в опенкарт.
ЗАКАЗЫ
Передача заказов и клиентов(контрагентов) из магазина в Мой склад,
Автоматическое резервирование товаров в Моем Складе.
Двусторонний обмен статусами заказов
Ответы на вопросы
Вопрос 1. С версткой и отображением карточек при переносе интеграции на боевой сайт все будет нормально, верно понимаю?
Да, с версткой скрипты интеграции не имеют дело.
Вопрос 2. Все товары у нас в опенкарте. Завели аккаунт в МоемСкладе. Какой алгоритм наших действий, чтобы заработала правильно синхронизация?
Т.к. через АПИ товары не передаются из магазина в МС, то требуется выполнить их первоначальную загрузку через YML(например, модуль
Яндекс.YML для опенкарт) или эксель (например, модуль export-import для опенкарт). После того, как будут загружены товары в МС потребуются импортировать их остатки через эксель. Образец файла импорта. Подробнее про остатки в вопрос 7
Вопрос 3. Наполнение категорий в МС не соответствует наполнению категорий на сайте
В МС товар может находиться только в одной группе. Вбейте в поиске МС несколько позиций и увидите, что они есть. В магазине они в нескольких категориях, а в МС попадают только в первую из них. Это значит, что при синхронизации магазина с МойСклад товар будет принадлежать только одной категории, даже в том случае, если ранее он был связан с несколькими категориями.
Вопрос 4. Провел эксперимент, изменил изображение у товара в МС, запустил процедуру обновления. Изображение изменилось. Изменил изображение еще раз, опять запустил вышеуказанную процедуру. Изображение осталось прежним. Подождал 15 минут, изображение осталось прежним. Не первый раз вижу такую проблему, первый раз обновляется, последующие нет. Почему так происходит? Как это решить?
1.Кэш сайта и браузера нужно почистить.
2.Если вернуть изображение обратно то, которое было уже когда-то загружено в МС, то оно в магазине не появится, если не изменить предварительно перед загрузкой у него название на новое.
3. Картинки из МС не появляются в магазине, если они были созданы/обновлены ранее последней даты запуска крона.
Вопрос 5. Правильно ли я понял, если в опенкарте не внесены атрибуты, то из МС ничего не подтянется?
У нас в задании была передача характеристик в товары и создание производителей.
Вопрос-если атрибуты вносятся только вручную в ОС, то как быть с новыми товарами, добавленными в МС? С ними также придётся вручную возиться?
1.Да, надо, чтобы названия их совпадали в МС и опенкарте . 2 если у нового товара из МС есть характеристика, которой нет в магазине, то нужно её там добавить. Не думал, что с характеристиками будут проблемы, т.к. их перечень всегда фиксированный (задается изначально) и довольно редко дополняется потом.
Вопрос 6. Планирую протестировать работоспособность интеграции с чистого листа (сделаю бэкап сайта, очищу и обнулю (auto increment) таблицы в БД, удалю изображения). Есть какие-то подводные камни, которые нужно учитывать при таком подходе? Будет ли интеграция работать корректно?
Работать будет, если: 1. связи удалить между товарами/категориями МС и опенкартом, а потом нужно будет запустить первичную синхронизацию. Она будет длиться больше часа, если больше 4500 товаров 2. все скрипты обновления, поставленные на крон, приостановить на это время
3. после первичной синхронизации включить скрипты на кроне
Вопрос 7. Про остатки у товаров и модификаций
1.Если в МС нулевые остатки у позиций(будь это товар или модификация), то при синхронизации в магазине количество товаров не меняется.
2. При синхронизации из МС в общее поле товара в магазине значение складывается из остатка товара и остатков опций/модификаторов. Т.е. такая автоматизация подсчета общего остатка происходит. Поэтому на начальной стадии проекта нужно переносить в МС (см. разбор вопрос 2 ) либо остаток товара или опций
Вопрос8. Создал сценарии на отгрузку https://skr.sh/sGacVZDau8l и отмену отгрузки при отмене заказа. https://skr.sh/sGanlDua9EB У меня возник вопрос по поводу частичного возврата, как будет в этом случае происходить в сценарии на отмену/возврат?
т.е. к примеру, заказали 5 позиций, прошла отгрузка по 5 позициям, но по факту выкупили 3, т.е. по идее, отгрузка, в которой 5 позиций должна после возврата меняться?
После возврата покупателя отгрузка по позициям не меняется, возврат отображается в самом документе возврата.
Товар автоматически встает на остаток.