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


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

Журнал отправок
Каждая отправка пишется в журнал: какой заказ, в какой кабинет, когда, с каким номером и что именно ответил кабинет. Это не декоративный лог — именно он отвечает на вопрос «почему в кабинете пусто, я же нажимал».
Ошибка кабинета показывается его же словами, а не кодом ответа. Если Rozetka говорит, что заказ уже в другом статусе, вы прочитаете именно это, а не HTTP 400. Так менеджер разбирается сам, без обращения к разработчику.
Повторная отправка того же номера не делается. Если кнопку нажали дважды или крон зацепил заказ, который уже закрыт, модуль просто ничего не делает — кабинет не дёргается на пустом месте и не получает дублей.

Бесплатная версия и Pro
Бесплатная версия делает всё описанное выше руками: общая очередь, привязка заказов, отправка кнопкой из списка или из карточки, журнал, оба маркетплейса. Ограничений по времени и рекламы в админке нет.
Pro убирает последнее ручное действие:
— автоотправка: номер едет в кабинет сам, как только появился в заказе;
— выбор статусов заказа, которые включают отправку — чтобы номер не уехал из черновика или отменённого;
— крон раз в 10 минут добирает те заказы, где накладная пришла с задержкой (перевозчик отдал номер не сразу — модуль вернётся и дошлёт).
Pro можно попробовать 7 дней бесплатно, без карты.
Сколько стоит
Лицензия Pro — 990 грн, на один домен. Лицензия годовая: после окончания модуль продолжает работать, перестают приходить только обновления и поддержка. Формулировку «навсегда» мы не используем принципиально — API маркетплейсов меняется, и модуль без обновлений рано или поздно отвалится.
Технические требования
WordPress 6.2 и новее, WooCommerce, PHP 7.4 и новее. Модуль совместим с HPOS — режимом отдельных таблиц заказов WooCommerce, — и работает как со старым хранилищем в wp_posts, так и с новым.
Для работы нужен исходящий HTTPS к API Rozetka и Эпицентра. На обычном хостинге он открыт; если магазин стоит за жёстким файрволом, это единственное, что придётся разрешить.
Почему нет демо-стенда
Ни у одного из двух маркетплейсов нет песочницы: API открывается только реквизитами живого кабинета продавца. Поэтому «пощупать» модуль на чужом демо невозможно — ни у нас, ни у кого-либо другого.
Вместо демо в модуле есть кнопка «Проверить связь». Вы вводите свои реквизиты и сразу видите, что ответил кабинет — за секунду, ещё до первой отправки. Если реквизиты не те или токен не выдан, вы узнаете об этом сразу, а не на первом реальном заказе.
Что под капотом
Модуль общается с кабинетами через их официальные API — никакого парсинга страниц и никакой эмуляции входа в кабинет. Реквизиты хранятся в базе в зашифрованном виде.
Привязка заказа маркетплейса к заказу WooCommerce живёт в мета-поле заказа, то есть переживает смену темы, обновление WooCommerce и переезд на HPOS. Журнал отправок лежит в собственной таблице и не раздувает wp_options.
Модуль не создаёт собственных страниц на фронте, не добавляет скриптов в магазин и вообще ничего не делает вне админки — покупатель его не видит и не может замедлить.
Как установить
1. Загрузите архив в «Плагины → Добавить новый → Загрузить плагин».
2. Активируйте плагин.
3. WooCommerce → «ТТН в маркетплейсы» — включите нужные кабинеты и введите реквизиты. Нажмите «Проверить связь».
4. WooCommerce → «Заказы маркетплейсов» — это и есть ваш рабочий список тех заказов, кому ещё нужен номер.
Настройка занимает несколько минут, и дольше всего в ней — найти токен Эпицентра в кабинете.
История версий
1.0.0 — первый выпуск. Rozetka Маркетплейс и Эпицентр Маркетплейс, общая очередь заказов, отправка ТТН из списка и из карточки заказа, источники номера (Новая Почта, Укрпочта, ROZETKA Delivery, своё поле), журнал отправок, защита от повторной отправки, отдельная отметка самовывоза, совместимость с HPOS. В Pro — автоотправка, выбор статусов-триггеров и крон-добирающий.
Частые вопросы
Какие реквизиты нужны?
Для Rozetka — логин и пароль кабинета продавца (seller.rozetka.com.ua). Для Эпицентра — статический токен: кабинет → «Настройки компании» → вкладка «API»; доступ к вкладке открывает категорийный менеджер.
Можно ли проверить модуль без кабинета продавца?
Нет. Ни у одного из двух маркетплейсов нет песочницы — API открывается только реквизитами живого кабинета. Модуль сразу показывает, что именно ответил кабинет, поэтому настройки проверяются кнопкой «Проверить связь» за секунду.
Откуда модуль берёт номер накладной?
Из мета-полей заказа: `_npwc_ttn` (Новая Почта), `_upwc_barcode` (Укрпочта), `_rzdwc_track_id` (ROZETKA Delivery). Если накладную пишет другой модуль — впишите его ключ в поле «Своё поле».
Как заказ маркетплейса привязывается к заказу WooCommerce?
В карточке заказа есть блок «ТТН в маркетплейс»: выберите маркетплейс и укажите ID заказа в нём. После этого номер подставляется в список автоматически, а с Pro — и отправляется сам.
Нужно ли после отправки менять статус в кабинете руками?
Нет. Розетка с появлением ТТН включает собственный трекинг и двигает статусы сама. Эпицентр переводит в «Отправлено» сам модуль.
Что будет, если кабинет не примет номер?
Модуль покажет причину так, как её сформулировал кабинет, запишет её в журнал и в примечания к заказу. Заказ не помечается как отправленный, поэтому следующая попытка пойдёт снова.
Создаёт ли модуль накладные?
Нет, он их не создаёт, а переносит. Накладную делает ваш модуль доставки — Новая Почта, Укрпочта или ROZETKA Delivery; этот модуль забирает готовый номер и кладёт его в кабинет маркетплейса.
Вопросы по модулю?
Пишите в Telegram — ответим в течение рабочего дня. Поможем с настройкой, совместимостью и активацией ключа.
Пока ни одного отзыва. Будь первым — ниже.
Оставить отзыв
Отзыв модерируется перед публикацией — обычно это занимает до 24 часов.
Пока вопросов нет. Спроси — мы ответим в течение 24 часов.
Задать вопрос
Обычно отвечаем в течение 24 часов в рабочее время.
Покупка модуля
—