Связаться
  • OpenCart
  • Import/Export
  • v1.0.0

Перенос магазина с Хорошоп и Prom в OpenCart 2.3, 3.x и 4.x

Каталог, фото, клиенты и история заказов из Хорошопа или Prom.ua — через их API, без выгрузки файлов.

Скачать Free
Pro · лицензия навсегда Чем больше сайтов, тем дешевле каждый
Совместимость
OpenCart 4.x · 3.x · 2.3 · ocStore · PHP 7.0+
Версия
v1.0.0 (OpenCart 4)
v1.0.0 (OpenCart 3.x)
v1.0.0 (OpenCart 2.3)
Лицензия
один сайт, навсегда
Триал
7 дней, без карты, один на сайт
Или все 144 Pro-модулей в All Access — 4 990 ₴ / год

Модуль в работе — 40 секунд

Понятно и без звука: субтитры на украинском

Что есть во Free,
а что даёт Pro

Бесплатная версия работает без ограничения по времени. Pro добавляет остальные функции из таблицы.

Функция Free Pro
Категории с вложенностью: разделы Хорошопа и группы Prom ✔ ✔
Товаров за один запуск до 50 весь каталог
Названия, описания, цены, акции, наличие, артикул, штрихкод, производитель, SEO-поля ✔ ✔
Фото загружаются в ваш магазин, а не остаются ссылками ✔ ✔
Повторный запуск обновляет перенесённое, а не дублирует ✔ ✔
Поиск существующих товаров магазина по артикулу ✔ ✔
Сборки под OpenCart 4.x, 3.x и 2.3 ✔ ✔
Старый магазин только читается — в нём ничего не меняется ✔ ✔
Ни одного письма покупателям во время переноса ✔ ✔
История запусков со счётчиками и ошибками строк ✔ ✔
Характеристики как атрибуты товаров — ✔
Модификации как опция «Вариант» одного товара — ✔
Клиенты без паролей и без писем — ✔
История заказов без списания остатков — ✔
Отмена запуска: всё созданное удаляется — ✔

Как это выглядит

Вкладка «Перенос» модуля миграции с Хорошоп и Prom в админке OpenCart
Один запуск — три шага: считать, проверить счётчики, записать в магазин
Настройки переноса с Хорошоп и Prom в админке OpenCart
Подключение к старому магазину, список того, что переносить, правила повторного запуска и сопоставление статусов заказов
Перенесённый товар с вариантами на витрине OpenCart
Перенесённый товар на витрине: производитель, артикул, наличие и опция «Вариант» из модификаций старого магазина

Главное о модуле

Что получает админ

Одна страница в «Расширения → Модули» с четырьмя вкладками: Перенос, Настройки, История и Лицензия.

Что именно переносится

Категории. Разделы Хорошопа и группы Prom становятся категориями OpenCart с той же вложенностью, с описаниями и SEO-полями.

Отмена запуска

В Pro каждый запуск можно отменить: модуль удаляет то, что создал именно этот запуск — товары, категории, клиентов, заказы, а также фото, бренды, атрибуты и опцию «Вариант», если ими больше никто не пользуется.

Триал стартует, когда вы попросите

Свежая установка — бесплатная версия, ничего не включается само. Кнопка «Попробовать Pro 7 дней» → e-mail → ключ сразу в окне и письмом.

Один ключ — один сайт

Переносите магазин — отвяжите лицензию на старом домене и активируйте на новом сами. Если наш сервер недоступен, Pro работает ещё 14 дней. Для студий — ключи на 5, 25 сайтов или без ограничений.

Технические требования

  • OpenCart 4.x, 3.x и 2.3 и ocStore на этих версиях — под каждую ветку отдельный архив. PHP — тот, на котором работает ваша версия OpenCart (сборки для 2.3 и 3.x проверены и на PHP 7.0). Нужны расширение cURL и исходящий HTTPS к API Хорошопа или Prom, а также право записи в папку изображений, чтобы загружать фото.
  • Со стороны старого магазина нужен доступ к API: в Хорошопе — администратор для API («Настройки → Админы»), в Prom — API-токен продавца. Ни там, ни там модуль не использует вход по паролю от кабинета и не парсит страницы.

История версий

v1.0.0 Текущая

Первый выпуск.

Вместе с Перенос магазина с Хорошоп и Prom в OpenCart 2.3, 3.x и 4.x покупают

4 модуля одним заказом — на 40% дешевле, чем по отдельности

Набор «Старт магазина» Перенос магазина с Хорошоп и Prom в OpenCart 2.3, 3.x и 4.x Nova Poshta Premium LiqPay Telegram-уведомления и Viber/SMS покупателям Нужно больше — все 144 модулей в All Access за 4 990 ₴.
3 490 ₴ навсегда вместо 5 860 ₴ поштучно
Купить набор →

Полное описание модуля

Перенос магазина с Хорошоп и Prom — модуль для OpenCart 2.3, 3.x и 4.x, который переносит в ваш магазин каталог, фото, клиентов и историю заказов со старого магазина на Хорошопе или на Prom.ua. Модуль обращается к официальному API старого магазина, читает из него данные и пишет их в OpenCart. Старый магазин при этом только читается — в нём ничего не меняется и не удаляется.

Переносятся не только названия и цены. Категории приходят с вложенностью, товары — с описаниями, акционными ценами, наличием, артикулом, штрихкодом, производителем, SEO-полями и фотографиями, которые загружаются в ваш магазин, а не остаются ссылками на чужой сервер. В Pro добавляются характеристики, варианты, клиенты и история заказов.

Зачем это магазину

Переезд с конструктора или с маркетплейса обычно выглядит так: выгрузить прайс, руками довести его до нужного формата, залить, а потом неделю сводить фото, категории и остатки. Клиенты и заказы при этом не переносятся вообще — их просто оставляют на старой площадке, пока она работает.

Модуль делает эту работу сам и повторяемо. Вы запускаете перенос, смотрите на результат в своём магазине, при необходимости меняете настройки и запускаете ещё раз — товары обновятся, а не продублируются. Так можно спокойно готовить новый магазин, пока старый ещё продаёт.

Отдельно о заказах: они пишутся именно как история. Без писем покупателям, без списания остатков и без влияния на статистику продаж. Оригинальный номер заказа, способ оплаты, доставка и ТТН сохраняются в примечании к заказу, поэтому старые заказы можно найти по их прежнему номеру.

Что получает админ

Одна страница в «Расширения → Модули» с четырьмя вкладками: Перенос, Настройки, История и Лицензия. На вкладке настроек вы указываете, откуда переносить, что именно переносить и по каким правилам.

Откуда переносим. Хорошоп — адрес магазина, логин и пароль API (в админке Хорошопа это «Настройки → Админы», где добавляется отдельный администратор для API). Prom.ua — API-токен из кабинета продавца и, по желанию, ссылка на YML-экспорт, из которого модуль берёт характеристики. Пароль и токен хранятся в настройках магазина зашифрованными.

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

Правила. Обновлять ли уже перенесённые товары, искать ли существующие товары магазина по артикулу, публиковать ли товары, скрытые в старом магазине, сколько записей брать за один запрос и какое количество ставить товарам, у которых старый магазин отдаёт только «в наличии» без числа.

Статусы заказов. Пять состояний источника — новый, в обработке, доставляется, доставлен, отменён — вы сопоставляете со своими статусами OpenCart, чтобы перенесённые заказы не попали все в одну корзину.

Как это работает — шаг за шагом

1. Считать. Модуль последовательно вызывает читающие методы API старого магазина и складывает всё полученное в собственную промежуточную таблицу. В магазин на этом шаге не пишется ничего, поэтому прервать чтение безопасно.

2. Проверить. После чтения вы видите счётчики (сколько категорий, товаров, клиентов, заказов найдено) и образцы строк: как именно модуль понял название, цену, артикул. Ошибки отдельных записей показываются здесь, а не прячутся в лог.

3. Записать. Запись идёт партиями по несколько секунд, а не одним длинным запросом, поэтому большой каталог не упирается в лимит времени выполнения на хостинге. Каждую созданную запись модуль запоминает в своей карте «источник → магазин».

4. Повторить, если нужно. Второй запуск находит уже перенесённые товары по этой карте и обновляет их. Если товар с таким артикулом уже был в вашем магазине до переноса, модуль обновит его, а не создаст дубль. Заказы повторно не переносятся никогда.

Что именно переносится

Категории. Разделы Хорошопа и группы Prom становятся категориями OpenCart с той же вложенностью, с описаниями и SEO-полями.

Товары. Название, описание, краткая характеристика, цена, акционная цена, наличие и количество, артикул, штрихкод, производитель, SEO-поля. Акция записывается так, как её понимает ваша версия OpenCart: в 4.1 — в скидках товара, в 4.0, 3.x и 2.3 — в специальных ценах.

Фото. Загружаются в ваш магазин в отдельную папку, главное фото становится главным, остальные — дополнительными. Битые ссылки не валят весь запуск: такая строка помечается ошибкой, а перенос идёт дальше.

Характеристики (Pro). Становятся атрибутами товаров. API Хорошопа отдаёт характеристики кодами, а не названиями — распространённые коды модуль знает, остальные вы задаёте строкой «код = Название» прямо в настройках. Для Prom характеристики берутся из YML-экспорта магазина.

Модификации (Pro). Товары с общим родительским артикулом в Хорошопе или из одной группы вариаций в Prom становятся одним товаром OpenCart с опцией «Вариант»: у каждого варианта своя разница в цене и свой остаток.

Клиенты (Pro). Зарегистрированные пользователи Хорошопа и клиенты Prom создаются без пароля и без единого письма — покупатель задаст пароль сам через «Забыли пароль». Если аккаунт с таким e-mail уже есть в вашем магазине, он привязывается, а не перезаписывается.

История заказов (Pro). Заказы переносятся с датой из источника, с составом товаров, суммами, скидкой и доставкой. Остатки не списываются, счётчики продаж не меняются, письма не отправляются. Можно взять не всю историю, а заказы с определённой даты.

Отмена запуска

В Pro каждый запуск можно отменить: модуль удаляет то, что создал именно этот запуск — товары, категории, клиентов, заказы, а также фото, бренды, атрибуты и опцию «Вариант», если ими больше никто не пользуется. Записи, которые запуск только обновил, остаются как есть, а то, что было в вашем магазине до переноса, модуль не трогает вообще.

Отмена привязана к конкретному запуску. Если вы делали несколько запусков, отменять нужно каждый из них — через «Историю», где видны дата, источник и итоги каждого.

Персональные данные покупателей

Клиенты и заказы — это персональные данные. Модуль только переносит их между двумя вашими системами и никуда больше не передаёт: ни в CatCode, ни третьим сторонам. Ответственным за эти данные остаётся продавец, поэтому переносите их только в том объёме, который нужен вам для работы, и только если у вас есть основание их обрабатывать. Блоки «Клиенты» и «История заказов» выключаются отдельно — можно перенести один каталог и не трогать покупателей.

Что под капотом

Считанные данные ложатся в промежуточную таблицу cc_hpm_item, а связь «запись в старом магазине → запись в вашем» — в таблицу cc_hpm_map. Именно через эту карту работают и повторный запуск, и отмена, и привязка заказов к уже перенесённым товарам.

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

Ключи подключения хранятся зашифрованными. На витрине модуль не появляется вообще: это инструмент администратора, покупатель его не видит, и после завершения переезда модуль можно просто выключить.

Как установить

1. Загрузите архив под свою версию. В OpenCart 4.x и 3.x — «Расширения → Установщик расширений». В OpenCart 2.3 установщик работает только через FTP, поэтому содержимое папки upload заливается в корень магазина.

2. В OpenCart 3.x после установки зайдите в «Расширения → Модификации» и нажмите «Обновить».

3. «Расширения → Модули» → «CatCode Миграция: Хорошоп и Prom» → «Установить», затем «Редактировать».

4. Укажите данные старого магазина, нажмите «Сохранить и проверить соединение», выберите, что переносить, и пройдите три шага: «Считать» → проверка счётчиков → «Записать».

Вопросы
о модуле

Не нашли ответ? Напишите в Telegram — ответим в течение рабочего дня.

@catcode_support Настройка, совместимость, активация
Меняется ли что-то в старом магазине?

Нет. Модуль вызывает только читающие методы API Хорошопа и Prom — ничего не создаёт, не редактирует и не удаляет на старой площадке.

Получат ли покупатели письма, когда я перенесу заказы?

Нет. Заказы записываются как история: без писем, без списания остатков и без изменения статистики продаж.

Что будет, если запустить перенос дважды?

Каждая запись из источника запоминается. Второй запуск обновляет уже перенесённые категории и товары (или только добавляет новое, если выключить обновление). Заказы повторно не переносятся никогда.

Какая сборка мне нужна?

Под каждую ветку свой архив: OpenCart 4.x, 3.x и 2.3. В OpenCart 2.3 установщик работает только через FTP, поэтому содержимое папки upload заливается в корень магазина.

Хорошоп отдаёт характеристики кодами.

Да, это особенность их API. Распространённые коды модуль переводит сам, остальные вы задаёте строками «код = Название» в настройках. Для Prom характеристики берутся из YML-экспорта.

Можно ли отменить запуск?

Да, в Pro. «Отменить этот запуск» удаляет то, что создал именно этот запуск, вместе с загруженными фото, брендами, атрибутами и опцией «Вариант», если ими больше никто не пользуется.

Лицензия годовая?

Нет. Для OpenCart лицензия навсегда: одна оплата, без ежегодных платежей.

Не тот вариант, что искали?

Делаем кастомные модули под WordPress, WooCommerce, OpenCart и Shopify. Расскажите о задаче — подготовим оценку.

Заказать кастомный модуль