
Перенос магазина с Хорошоп и Prom в OpenCart 2.3, 3.x и 4.x
Каталог, фото, клиенты и история заказов из Хорошопа или Prom.ua — через их API, без выгрузки файлов.
- Совместимость
- 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 дней, без карты, один на сайт
Модуль в работе — 40 секунд
Понятно и без звука: субтитры на украинском
Что есть во Free,
а что даёт Pro
Бесплатная версия работает без ограничения по времени. Pro добавляет остальные функции из таблицы.
Главное о модуле
Что получает админ
Одна страница в «Расширения → Модули» с четырьмя вкладками: Перенос, Настройки, История и Лицензия.
Что именно переносится
Категории. Разделы Хорошопа и группы 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-токен продавца. Ни там, ни там модуль не использует вход по паролю от кабинета и не парсит страницы.
История версий
Первый выпуск.
Вместе с Перенос магазина с Хорошоп и Prom в OpenCart 2.3, 3.x и 4.x покупают
4 модуля одним заказом — на 40% дешевле, чем по отдельности


Nova Poshta Premium — модуль Новая Почта для OpenCart 2.3, 3.x и 4.x

LiqPay — оплата картой для OpenCart 2.3, 3.x и 4.x

Telegram-уведомления и Viber/SMS покупателям для OpenCart
Полное описание модуля
Перенос магазина с Хорошоп и 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 — ответим в течение рабочего дня.
Меняется ли что-то в старом магазине?
Нет. Модуль вызывает только читающие методы API Хорошопа и Prom — ничего не создаёт, не редактирует и не удаляет на старой площадке.
Получат ли покупатели письма, когда я перенесу заказы?
Нет. Заказы записываются как история: без писем, без списания остатков и без изменения статистики продаж.
Что будет, если запустить перенос дважды?
Каждая запись из источника запоминается. Второй запуск обновляет уже перенесённые категории и товары (или только добавляет новое, если выключить обновление). Заказы повторно не переносятся никогда.
Какая сборка мне нужна?
Под каждую ветку свой архив: OpenCart 4.x, 3.x и 2.3. В OpenCart 2.3 установщик работает только через FTP, поэтому содержимое папки upload заливается в корень магазина.
Хорошоп отдаёт характеристики кодами.
Да, это особенность их API. Распространённые коды модуль переводит сам, остальные вы задаёте строками «код = Название» в настройках. Для Prom характеристики берутся из YML-экспорта.
Можно ли отменить запуск?
Да, в Pro. «Отменить этот запуск» удаляет то, что создал именно этот запуск, вместе с загруженными фото, брендами, атрибутами и опцией «Вариант», если ими больше никто не пользуется.
Лицензия годовая?
Нет. Для OpenCart лицензия навсегда: одна оплата, без ежегодных платежей.
Пока нет ни одного отзыва. Будьте первым.
Пока вопросов нет. Спроси — мы ответим в течение 24 часов.
Не тот вариант, что искали?
Делаем кастомные модули под WordPress, WooCommerce, OpenCart и Shopify. Расскажите о задаче — подготовим оценку.
Заказать кастомный модуль
Покупка модуля
—


