Зв'язатись
Import/Export · OpenCart

Market Feeds — Rozetka / Prom для OpenCart 2.3, 3.x і 4.x

Фіди Rozetka XML і Prom.ua YML для OpenCart 2.3, 3 і 4: токен-захищені URL, потокова генерація без перевантаження памʼяті, акційні ціни, фільтри категорій і cron-кеш. Повністю безкоштовно, код відкритий на GitHub.

Версія
v1.1.0 (OpenCart 4)
v1.1.1 (OpenCart 3.x)
v1.0.1 (OpenCart 2.3)
Сумісність
OpenCart 2.3.0.0 – 2.3.0.2 · 3.0.2 – 3.0.5 · 4.0.2 – 4.1.x
Платформа
OpenCart
Market Feeds — Rozetka / Prom для OpenCart 2.3, 3.x і 4.x

Що включено в ліцензії

Функція Free
XML-фід для Rozetka і YML-фід для Prom.ua
Два постійні URL-фіди, які маркетплейси забирають самі
Захист фідів секретним токеном у посиланні
Вибір категорій і товарів для вивантаження
Актуальні ціни та залишки без ручного експорту
Окремі збірки для OpenCart 4.0.2–4.1.x, 3.0.2–3.0.5.0 і 2.3.0.0–2.3.0.2
Безкоштовний

Market Feeds — модуль фідів для OpenCart 2.3, 3.x і 4.x, який вивантажує каталог магазину у два найпопулярніші українські маркетплейси: Rozetka (XML) і Prom.ua (YML). Замість ручного експорту чи самописних скриптів ви отримуєте два постійні URL-фіди, захищені секретним токеном — маркетплейси самі забирають актуальні товари, ціни й залишки за своїм розкладом. Генерація потокова, тому фід не «кладе» сервер навіть на великих каталогах.

Модуль повністю безкоштовний. Код відкритий: github.com/catcodestudio/opencart-market-feeds. Жодних платних версій, лімітів чи ліцензійних ключів — усі функції доступні одразу після встановлення.

Як це виглядає в адмінці

Налаштування модуля Market Feeds в адмінці OpenCart 4 з готовими URL фідів
Обидва посилання на фіди видно одразу після встановлення — їх лишається вставити в кабінеті Rozetka чи Prom.ua. Токен у посиланні можна перегенерувати одним кліком, старе посилання після цього перестає працювати.
Вкладка «Фільтри та ціни» модуля Market Feeds: множник ціни, акційна ціна, вибір категорій
Множник і округлення ціни, акційна ціна як основна (price + price_old), поріг залишку «в наявності» й вибір категорій — список показує повний шлях категорії, тож однойменні підкатегорії не плутаються.
Готовий XML-фід Market Feeds у браузері: дерево категорій і offer з ціною та фото
Готовий фід: дерево категорій із parentId, а далі offer’и з ціною, валютою, наявністю, фотографіями й атрибутами. Генерація потокова (XMLWriter), тому великий каталог не з’їдає памʼять.

Як це працює — крок за кроком

  1. Встановлюєте модуль і одним кліком генеруєте секретний токен доступу — без нього фід недоступний стороннім.
  2. Налаштовуєте вивантаження: валюта, мова, множник ціни, фільтри за категоріями та виробниками (порожньо = весь каталог).
  3. Копіюєте готові URL фідів зі сторінки налаштувань — окремо для Rozetka (feed.rozetka) і Prom.ua (feed.prom).
  4. Вставляєте посилання у кабінетах маркетплейсів — Rozetka і Prom.ua самі періодично читають фід і оновлюють товари, ціни та залишки.
  5. Акції підхоплюються автоматично: якщо на товар діє спецціна, вона стає <price>, а звичайна ціна — <price_old> (маркетплейс показує знижку).
  6. Для великих каталогів вмикаєте файловий кеш: фід перебудовується кроном у фоні й віддається маркетплейсу миттєво.

Скільки коштує

Безкоштовно. Код відкритий на GitHub — catcodestudio/opencart-market-feeds, розширення також опубліковане на офіційному маркетплейсі OpenCart. Без Pro-версії, без підписок, без обмежень за кількістю товарів.

Технічні вимоги

  • OpenCart 4.0.2 – 4.1.x, 3.0.2 – 3.0.5.0 або 2.3.0.0 – 2.3.0.2 — для кожної гілки окрема збірка
  • PHP 8.0+ для OpenCart 4, 7.x для OpenCart 3 і 5.6+ для 2.3 — у всіх випадках з розширенням XMLWriter, стандартним для більшості хостингів
  • Акаунт продавця на Rozetka та/або Prom.ua — щоб додати URL фіду в кабінеті маркетплейсу
  • Для файлового кешу (опційно) — можливість запускати cron на хостингу

Що під капотом

  • Потокова генерація через XMLWriter — товари вибираються посторінково, зображення, атрибути й акції підвантажуються батчами. Стабільне споживання памʼяті незалежно від розміру каталогу.
  • Токен-захист URL — фід віддається лише із секретним параметром token; згенерувати новий можна одним кліком в адмінці.
  • Акційні ціни через рідну механіку кожної гілкиproduct_discount в OpenCart 4.1, окрема product_special у 4.0, 3.x і 2.3; схема визначається автоматично.
  • Правильні теги залишків для кожної платформи: Rozetka отримує stock_quantity, Prom — quantity_in_stock, плюс налаштовуваний поріг «в наявності».
  • Cron-кеш у файл — маршрут extension/cc_feeds/cron.rebuild перебудовує фід за розкладом; кнопка «Перевірити» в адмінці показує, скільки товарів потрапить у вивантаження.

Як встановити

  1. Візьміть збірку під свою версію магазину: cc_feeds.ocmod.zip (OpenCart 4.0.2–4.1.x), cc_feeds-oc3.ocmod.zip (3.0.2–3.0.5.0) або cc_feeds-oc2.ocmod.zip (2.3.0.0–2.3.0.2).
  2. В OpenCart 3 і 4 архів ставиться через Розширення → Інсталятор. У 2.3 штатний інсталятор працює лише по FTP, тому надійніше розпакувати архів і залити вміст теки upload/ у корінь магазину.
  3. Розширення → Модулі → знайдіть Market Feeds (Rozetka / Prom) → Встановити → Налаштувати.
  4. Згенеруйте токен, оберіть валюту, мову й фільтри → Зберегти.
  5. Скопіюйте URL фідів із секції «Посилання на фіди».
  6. Додайте посилання у кабінетах Rozetka і Prom.ua як джерело імпорту товарів.
  7. Опційно: увімкніть «Кешувати у файл» і додайте cron-задачу на перебудову кешу — готовий рядок показано на сторінці налаштувань (в OpenCart 2.3 це єдиний спосіб оновлювати кеш, бо планувальника в ядрі немає).

Історія версій

1.0.1 (OpenCart 2.3)
Токен фідів зі спецсимволом (&, лапки) більше не відкидається: у 2.3 Request::clean() проганяє htmlspecialchars і по $_GET, тому Rozetka/Prom отримували 403 на правильному токені. Тепер значення декодується один раз, як і при збереженні в адмінці.
1.1.1 — 9 серпня 2026 (OpenCart 3)
У підказках адмінки теги <price>, <price_old> і <param> були написані без екранування, тому браузер їх ковтав і речення «Якщо у товару діє акція — вона стає , а звичайна ціна — .» виглядало обірваним. Той самий дефект виправили в збірці для OpenCart 4 ще у версії 1.0.2, але в порт під OpenCart 3 він не доїхав. Заразом підказка про кеш більше не називає маршрут планувальника, якого в 3.x немає — на сторінці й так показано готовий cron-URL.
1.0.0 — 9 серпня 2026 (OpenCart 2.3)
Збірка під OpenCart 2.3.0.x — порт напряму з 4.x, проміжної 3.x-версії цей модуль не проходив. Той самий набір налаштувань і той самий формат фідів; кеш оновлює системний crontab, бо планувальника в 2.3 немає. Три виправлення, знайдені під час порту — ціна з податком і валютою рівно як на вітрині, кеш-файл більше не завантажується повз токен, «Перевірити» рахує за фільтром наявності — одразу увійшли й у збірки для OpenCart 3 і 4 версії 1.1.0.
1.1.0 — 9 серпня 2026 (OpenCart 3 і 4)
🔴 Ціна у фіді не збігалася з ціною на сайті — з двох причин одразу. По-перше, податок не додавався взагалі: товар, який вітрина показує за 122 грн, у прайс ішов як 100. По-друге, поле «Валюта» було просто підписом тега — магазин із базовою валютою USD віддавав доларові числа з написом UAH. Тепер ціна проходить рівно той самий шлях, що й на сторінці товару: податок за правилами магазину, потім курс валюти, і лише потім ваш множник. Валюту за замовчуванням виставлено на «валюта магазину».
🔴 Кешований файл фіду можна було завантажити повз токен. Тека кешу не завжди лежить поза коренем сайту, а nginx віддає статичні файли не заглядаючи в .htaccess — тобто прямий запит до файлу віддавав увесь каталог без жодної перевірки. Тепер імʼя файлу містить дайджест токена, а зміна токена, вимкнення фіду й видалення модуля прибирають старі копії.
Кнопка «Перевірити» більше не завищує кількість: раніше вона ігнорувала фільтр наявності й обіцяла більше товарів, ніж реально потрапляло у фід.
1.0.2 — 5 серпня 2026
🔴 Акції не потрапляли у фід на OpenCart 4.0.x. У 4.1 акції лежать у product_discount з прапорцем special, а в 4.0 — в окремій таблиці product_special; запит писався під 4.1, тож на 4.0 падав на неіснуючій колонці. Тепер схема визначається автоматично.
🔴 Сторінка налаштувань не відкривалась на OpenCart 4.0.x — обхід дерева категорій через filter_parent_id, який 4.0 ігнорує, повертав увесь каталог на кожному рівні й вичерпував памʼять. Категорії тепер тягнуться одним плоским запитом із повним шляхом у назві.
Дрібне: у підказках адмінки теги <price>, <price_old> і <param> були написані без екранування, тому браузер їх ковтав і речення виглядало обірваним.
Заразом акційна ціна береться лише з рядків quantity = 1 — точно як на вітрині, щоб ціна у фіді не розходилась із ціною на сайті.
1.0.1 — липень 2026
Виправлено адмін-AJAX: Twig екранував & в URL запитів, через що кнопки «Перевірити» та «Перебудувати кеш» не працювали в частині збірок OpenCart.
1.0.0 — липень 2026
Перший публічний реліз: фіди Rozetka XML і Prom.ua YML, токен-захищені URL, потокова генерація XMLWriter, фільтри категорій і виробників, множник ціни, акційні ціни (price + price_old), атрибути як <param>, налаштування опису й кількості фото, файловий кеш із cron.

Часті питання

Чи потрібні API-ключі Rozetka або Prom?

Ні. Фід — це URL, який маркетплейс читає сам. Єдиний «ключ» — секретний токен, який модуль генерує для захисту фіду від сторонніх.

У мене великий каталог — фід не покладе сервер?

Ні. Генерація потокова (XMLWriter, посторінкова вибірка, батч-підвантаження зображень і атрибутів), а для найбільших каталогів є файловий кеш із перебудовою кроном — маркетплейс отримує готовий файл миттєво.

Чи можна вивантажити лише частину каталогу?

Так: фільтри за категоріями та виробниками, поріг залишку «в наявності» та окреме налаштування — вивантажувати чи ні товари, яких немає в наявності.

Що з акційними цінами?

Якщо на товар діє акція, у фід іде акційна ціна як <price> плюс стара ціна як <price_old> — маркетплейс покаже знижку. Це вмикається одним перемикачем.

Чи змінює модуль тему або checkout?

Ні. Модуль додає лише сторінку налаштувань в адмінці та службові маршрути фідів — вітрина й оформлення замовлення не зачіпаються.

Одна збірка на всі версії OpenCart?

Ні, це три окремі порти в одному комплекті: cc_feeds.ocmod.zip для 4.0.2–4.1.x, cc_feeds-oc3.ocmod.zip для 3.0.2–3.0.5.0 і cc_feeds-oc2.ocmod.zip для 2.3.0.0–2.3.0.2. Набір налаштувань і формат фідів однакові.

Це точно безкоштовно? Де підступ?

Підступу немає: усі функції відкриті, код опублікований на GitHub. Немає Pro-версії, прихованих лімітів чи платних «розблокувань».

Питання щодо модуля?

Пишіть у Telegram — відповімо протягом робочого дня. Допоможемо з налаштуванням, сумісністю та активацією ключа.

@catcode_support

Не той варіант, що шукаєте?

Ми робимо кастомні модулі під WordPress, WooCommerce, OpenCart і Shopify. Розкажіть про задачу — підготуємо оцінку.

Замовити кастомний модуль