
Перенесення магазину з Хорошоп і 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. Розкажіть про задачу — підготуємо оцінку.
Замовити кастомний модуль
Купівля модуля
—


