Связаться
CRM и интеграции · OpenCart

ТТН в маркетплейсы для OpenCart — Rozetka и Эпицентр

Скачать бесплатно
Версия
v1.0.0 (OpenCart 4)
v1.0.0 (OpenCart 3.x)
v1.0.0 (OpenCart 2.3)
Платформа
OpenCart
ТТН в маркетплейсы для OpenCart — Rozetka и Эпицентр

Что включено в лицензии

Функция 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, номер накладной, если он уже есть, и кнопку отправки. Нажали — номер ушёл в кабинет, в строке появился ответ кабинета. Не появился — модуль покажет, почему именно, словами самого кабинета.

Вся работа идёт из одного списка: там и привязка, и номер, и кнопка отправки. Отдельно ходить в каждый заказ не нужно.

Самовывоз в списке отмечается отдельно. Там накладной не будет никогда, поэтому модуль не предлагает кнопку и не показывает такие заказы как «незакрытые» — иначе очередь никогда не становилась бы пустой.

Настройки модуля ТТН в маркетплейсы для OpenCart
Расширения → ТТН в маркетплейсы: кабинеты Rozetka и Эпицентра, источники номера и автоотправка

Откуда берётся номер накладной

Модуль не выдумывает номер и не обращается к перевозчику. Он читает его из таблиц наших модулей доставки: 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. Так менеджер разбирается сам, без обращения к разработчику.

Повторная отправка того же номера не делается. Если кнопку нажали дважды или крон зацепил заказ, который уже закрыт, модуль просто ничего не делает — кабинет не дёргается на пустом месте и не получает дублей.

Журнал отправок ТТН в маркетплейсы для OpenCart
Каждая попытка с ответом кабинета — видно и успех, и причину отказа

Бесплатная версия и 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 — ответим в течение рабочего дня. Поможем с настройкой, совместимостью и активацией ключа.

@catcode_support

Не тот вариант, что искали?

Мы делаем кастомные модули под WordPress, WooCommerce, OpenCart и Shopify. Расскажите о задаче — подготовим оценку.

Заказать кастомный модуль