Что включено в лицензии
| Функция | Free | Pro |
|---|---|---|
| Rozetka Маркетплейс и Эпицентр Маркетплейс в одном модуле | ✔ | ✔ |
| Один список заказов обоих кабинетов, которым ещё нужна ТТН | ✔ | ✔ |
| Номер подставляется из заказа OpenCart | ✔ | ✔ |
| Источники номера: Новая Почта, Укрпочта, ROZETKA Delivery или своё поле | ✔ | ✔ |
| Отправка ТТН одной кнопкой — из списка или из карточки заказа | ✔ | ✔ |
| Rozetka: вместе с номером выставляется статус заказа | ✔ | ✔ |
| Rozetka: после ТТН кабинет ведёт трекинг сам | ✔ | ✔ |
| Эпицентр: номер и перевод в «Отправлено» одним движением | ✔ | ✔ |
| Привязка заказа OpenCart к заказу маркетплейса в списке | ✔ | ✔ |
| Журнал отправок с ответом кабинета | ✔ | ✔ |
| Повторная отправка того же номера не делается | ✔ | ✔ |
| Самовывоз помечается отдельно — накладная там не нужна | ✔ | ✔ |
| Ошибка кабинета показывается его же словами, а не кодом | ✔ | ✔ |
| Реквизиты кабинетов хранятся зашифрованными | ✔ | ✔ |
| Автоотправка ТТН без участия менеджера | — | ✔ |
| Выбор статусов заказа, которые включают отправку | — | ✔ |
| Крон раз в 10 минут добирает заказы с запоздавшей накладной | — | ✔ |
ТТН в маркетплейсы — модуль для OpenCart 2.3, 3.x и 4.x, который отправляет номер накладной из заказа магазина в кабинет Rozetka Маркетплейс и Эпицентр Маркетплейс. Продавец больше не переносит один и тот же номер руками: создал накладную в заказе — и одна кнопка (или автоотправка в Pro) кладёт её в кабинет вместе со статусом.
Модуль не создаёт накладные и не заменяет доставку. Он берёт номер, который уже есть в заказе OpenCart — от Новой Почты, Укрпочты, ROZETKA Delivery или любого другого модуля — и закрывает последний, самый ручной шаг дня.
Зачем это магазину
Продавец, который торгует и на маркетплейсе, и в собственном магазине, делает одну и ту же работу дважды. Сначала в OpenCart создаётся накладная: покупатель выбрал отделение, менеджер нажал «Создать ТТН», номер записался в заказ. Потом открывается кабинет Rozetka или Эпицентра, находится тот же заказ и номер вбивается туда вручную.
На двадцати заказах в день это двадцать переходов между вкладками, двадцать поисков заказа в чужом интерфейсе и ровно столько же шансов перепутать цифру. Ошибка в номере на маркетплейсе стоит дороже, чем у себя: кабинет перестаёт видеть движение посылки, заказ висит «Ожидает отправки», и претензия прилетает продавцу, а не перевозчику.
Модуль убирает второй шаг полностью. Номер едет в кабинет из заказа OpenCart, а вместе с ним выставляется статус — дальше трекинг маркетплейс ведёт сам.
Как это выглядит для менеджера
В меню админки OpenCart появляется пункт «Заказы маркетплейсов». Это один список заказов обоих кабинетов, которым ещё нужна накладная — не отдельно Rozetka и отдельно Эпицентр, а общая очередь работы на день.
В каждой строке видно: заказ маркетплейса, привязанный к нему заказ WooCommerce, номер накладной, если он уже есть, и кнопку отправки. Нажали — номер ушёл в кабинет, в строке появился ответ кабинета. Не появился — модуль покажет, почему именно, словами самого кабинета.
Вся работа идёт из одного списка: там и привязка, и номер, и кнопка отправки. Отдельно ходить в каждый заказ не нужно.
Самовывоз в списке отмечается отдельно. Там накладной не будет никогда, поэтому модуль не предлагает кнопку и не показывает такие заказы как «незакрытые» — иначе очередь никогда не становилась бы пустой.

Откуда берётся номер накладной
Модуль не выдумывает номер и не обращается к перевозчику. Он читает его из таблиц наших модулей доставки: np_shipment.int_doc_number (Новая Почта), up_shipment.barcode (Укрпочта) и из ROZETKA Delivery. То есть номер подставляется сам, как только накладная создана, а с Pro — и отправляется сам.
Если доставку у вас ведёт другой модуль, номер можно вписать в заказ руками: очередь и отправка от этого не меняются, исчезает только автоподстановка.
Rozetka Маркетплейс
Для Rozetka вместе с номером накладной выставляется статус заказа. Это важно: в кабинете Rozetka номер сам по себе ничего не запускает, пока заказ не переведён в соответствующий статус. Модуль делает оба действия за один вызов, поэтому после нажатия кнопки заказ в кабинете сразу становится отправленным.
Дальше трекинг ведёт сам кабинет — модуль больше в этот заказ не лезет и не дёргает API каждый час. Это осознанное решение: Rozetka сама лучше знает, где сейчас посылка, и дублировать её статусы у себя означает лишь накапливать расхождения.
Реквизиты для подключения — логин и пароль кабинета продавца с seller.rozetka.com.ua. Отдельный API-ключ получать не нужно.
Эпицентр Маркетплейс
Для Эпицентра модуль кладёт номер накладной и переводит заказ в «Отправлено» одним движением. Логика та же, что и у Rozetka, отличается только способ авторизации.
Эпицентр работает по статическому токену. Берётся он в кабинете: «Настройки компании» → вкладка «API». Если вкладки не видно — доступ к ней открывает ваш категорийный менеджер, это вопрос одного сообщения ему.
Как это работает — шаг за шагом
1. Заказ приходит с маркетплейса в ваш обычный рабочий процесс. Модуль видит его в общей очереди «Заказы маркетплейсов».
2. Вы привязываете заказ маркетплейса к заказу OpenCart — без отдельного экрана и без импорта.
3. В заказе создаётся накладная вашим обычным способом. Номер ложится в мета-поле.
4. Вы нажимаете «Отправить ТТН» — из списка или из карточки. Модуль берёт номер, обращается к кабинету, выставляет статус.
5. Ответ кабинета пишется в журнал. Если всё хорошо — строка исчезает из очереди. Если нет — вы видите точную причину.
В Pro-версии шаги 4 и 5 происходят сами: номер едет в кабинет, как только появился в заказе.
Журнал отправок
Каждая отправка пишется в журнал: какой заказ, в какой кабинет, когда, с каким номером и что именно ответил кабинет. Это не декоративный лог — именно он отвечает на вопрос «почему в кабинете пусто, я же нажимал».
Ошибка кабинета показывается его же словами, а не кодом ответа. Если Rozetka говорит, что заказ уже в другом статусе, вы прочитаете именно это, а не HTTP 400. Так менеджер разбирается сам, без обращения к разработчику.
Повторная отправка того же номера не делается. Если кнопку нажали дважды или крон зацепил заказ, который уже закрыт, модуль просто ничего не делает — кабинет не дёргается на пустом месте и не получает дублей.

Бесплатная версия и Pro
Бесплатная версия делает всё описанное выше руками: общая очередь, привязка заказов, отправка кнопкой из списка или из карточки, журнал, оба маркетплейса. Ограничений по времени и рекламы в админке нет.
Pro убирает последнее ручное действие:
— автоотправка: номер едет в кабинет сам, как только появился в заказе;
— выбор статусов заказа, которые включают отправку — чтобы номер не уехал из черновика или отменённого;
— крон раз в 10 минут добирает те заказы, где накладная пришла с задержкой (перевозчик отдал номер не сразу — модуль вернётся и дошлёт).
Pro можно попробовать 7 дней бесплатно, без карты.
Сколько стоит
Лицензия Pro — 1 290 грн, на один домен. Лицензия навсегда: оплачиваете один раз, без ежегодных платежей.
Технические требования
Поддерживаются OpenCart 4.x, 3.x и 2.3 — три отдельные сборки в одном архиве, ставится та, что соответствует вашей версии. ocStore на базе этих версий тоже подходит.
Для работы нужен исходящий HTTPS к API Rozetka и Эпицентра. На обычном хостинге он открыт; если магазин стоит за жёстким файрволом, это единственное, что придётся разрешить.
Почему нет демо-стенда
Ни у одного из двух маркетплейсов нет песочницы: API открывается только реквизитами живого кабинета продавца. Поэтому «пощупать» модуль на чужом демо невозможно — ни у нас, ни у кого-либо другого.
Вместо демо в модуле есть кнопка «Проверить связь». Вы вводите свои реквизиты и сразу видите, что ответил кабинет — за секунду, ещё до первой отправки. Если реквизиты не те или токен не выдан, вы узнаете об этом сразу, а не на первом реальном заказе.
Что под капотом
Модуль общается с кабинетами через их официальные API — никакого парсинга страниц и никакой эмуляции входа в кабинет. Реквизиты хранятся в настройках магазина в зашифрованном виде.
Результат каждой отправки ложится не только в журнал модуля, но и в историю заказа — там, где менеджер и так привык смотреть, что с заказом происходило. Привязка заказа OpenCart к заказу маркетплейса хранится в отдельной таблице и переживает обновление темы и магазина.
Модуль не создаёт собственных страниц в витрине, не добавляет скриптов в магазин и вообще ничего не делает вне админки — покупатель его не видит и не может замедлить.
Как установить
1. Залейте архив через «Расширения → Установщик расширений» (в OpenCart 2.3 и 3.x — «Установщик дополнений»).
2. «Расширения → Модули» → найдите «ТТН в маркетплейсы» и установите.
3. Откройте настройки, включите нужные кабинеты, введите реквизиты и нажмите «Проверить связь».
4. Дальше работаете в списке заказов маркетплейсов — это и есть ваша ежедневная очередь тех, кому ещё нужен номер.
Настройка занимает несколько минут, и дольше всего в ней — найти токен Эпицентра в кабинете.
История версий
1.0.0 — первый выпуск. Rozetka Маркетплейс и Эпицентр Маркетплейс, общая очередь заказов, отправка ТТН из списка и из карточки заказа, источники номера (Новая Почта, Укрпочта, ROZETKA Delivery, своё поле), журнал отправок, защита от повторной отправки, отдельная отметка самовывоза, запись результата в историю заказа, сборки под OpenCart 4.x, 3.x и 2.3. В Pro — автоотправка, выбор статусов-триггеров и крон-добирающий.
Частые вопросы
Какие реквизиты нужны?
Для Rozetka — логин и пароль кабинета продавца (seller.rozetka.com.ua). Для Эпицентра — статический токен: кабинет → «Настройки компании» → вкладка «API»; доступ к вкладке открывает категорийный менеджер.
Можно ли проверить модуль без кабинета продавца?
Нет. Ни у одного из двух маркетплейсов нет песочницы — API открывается только реквизитами живого кабинета. Модуль сразу показывает, что именно ответил кабинет, поэтому настройки проверяются кнопкой «Проверить связь» за секунду.
Откуда модуль берёт номер накладной?
Из мета-полей заказа: `np_shipment.int_doc_number` (Новая Почта), `up_shipment.barcode` (Укрпочта), `rzd_shipment.track_id` (ROZETKA Delivery). Если накладную пишет другой модуль — впишите его ключ в поле «Своё поле».
Как заказ маркетплейса привязывается к заказу OpenCart?
В списке заказов маркетплейсов рядом с каждой строкой есть поле «ID заказа OpenCart». Один раз вписали — привязка сохранилась. После этого номер подставляется в список автоматически, а с Pro — и отправляется сам.
Нужно ли после отправки менять статус в кабинете руками?
Нет. Розетка с появлением ТТН включает собственный трекинг и двигает статусы сама. Эпицентр переводит в «Отправлено» сам модуль.
Что будет, если кабинет не примет номер?
Модуль покажет причину так, как её сформулировал кабинет, запишет её в журнал и в примечания к заказу. Заказ не помечается как отправленный, поэтому следующая попытка пойдёт снова.
Создаёт ли модуль накладные?
Нет, он их не создаёт, а переносит. Накладную делает ваш модуль доставки — Новая Почта, Укрпочта или ROZETKA Delivery; этот модуль забирает готовый номер и кладёт его в кабинет маркетплейса.
Вопросы по модулю?
Пишите в Telegram — ответим в течение рабочего дня. Поможем с настройкой, совместимостью и активацией ключа.
Пока ни одного отзыва. Будь первым — ниже.
Оставить отзыв
Отзыв модерируется перед публикацией — обычно это занимает до 24 часов.
Пока вопросов нет. Спроси — мы ответим в течение 24 часов.
Задать вопрос
Обычно отвечаем в течение 24 часов в рабочее время.
Покупка модуля
—