CRM и интеграции · OpenCart

NetHunt Sync — CRM для OpenCart 2.3, 3.x и 4.x

Версия
v1.1.1 (OpenCart 4)
v1.1.1 (OpenCart 3.x)
v1.0.0 (OpenCart 2.3)
Совместимость
2.3.0.0 – 2.3.0.2 · 3.0.2 – 3.0.5 · 4.0.2 – 4.1.x
Платформа
OpenCart
NetHunt Sync — CRM для OpenCart 2.3, 3.x и 4.x

Что внутри

  • Каждый заказ OpenCart попадает записью в папку NetHunt CRM
  • Телефон, email, сумма, товары и ссылка на заказ
  • Триггер-статусы на выбор
  • Дедупликация и повторные попытки
  • Журнал обменов в админке
  • Бесплатный

NetHunt Sync для OpenCart — модуль, который передаёт заказы OpenCart в NetHunt CRM без участия менеджера. Отдельные сборки под OpenCart 2.3, 3.x и 4.x. Как только покупатель оформил заказ (или заказ перешёл в нужный статус), в папке NetHunt появляется запись с телефоном, email, суммой и списком товаров. Ручное копирование данных из админки магазина в CRM исчезает как класс.

Модуль полностью бесплатный, код открытый. Репозиторий на GitHub: github.com/catcodestudio/opencart-nethunt-sync. Без ключей активации, платных тарифов и лимитов на количество заказов.

Что получает админ

Настройки NetHunt Sync для OpenCart — токен, папка, триггеры
Страница настроек модуля в админке OpenCart: API-токен NetHunt, выбор папки, триггеры отправки (при создании заказа или при переходе в выбранный статус) и кнопка проверки соединения. Рядом — журнал синхронизации с телом запроса и ответа для каждого заказа.
Общие настройки NetHunt Sync: момент отправки, лимит попыток, cron-токен, папка
Момент отправки, пропуск нулевых позиций, стоимость доставки, лимит повторных попыток и необязательный cron-токен для защиты публичного URL повторов. Поле «ID папки» можно оставить пустым — модуль создаст папку сам.
Папка заказов в NetHunt CRM с записями
Результат в NetHunt: папка с записями заказов, где у каждого — клиент, телефон в формате +380, сумма и перечень товаров с доставкой отдельной строкой.

Как это работает — шаг за шагом

  1. Покупатель оформляет заказ в магазине — модуль ловит событие добавления истории заказа, ничего в checkout не меняя.
  2. Данные летят в NetHunt через REST API v2 с Bearer-токеном: клиент, контакты, сумма, товары в удобном формате.
  3. NetHunt возвращает ID записи — он фиксируется в журнале синхронизации с UNIQUE-ограничением по заказу, поэтому один ордер никогда не создаст две записи.
  4. Неудачные отправки не теряются: cron-очередь повторяет их автоматически, до 5 попыток на заказ — вместе с теми, что зависли в процессе отправки. URL повторов можно закрыть собственным cron-токеном.
  5. Админ контролирует процесс в журнале: статус, запрос и ответ API по каждому заказу.

Сколько стоит

Бесплатно. Модуль с открытым кодом — скачивайте с GitHub и пользуйтесь без ограничений. Платной версии нет, все возможности доступны сразу.

Технические требования

  • OpenCart 4.0.2 – 4.1.x — PHP 7.4 или новее (сборка cc_nethunt.ocmod.zip)
  • OpenCart 3.0.2 – 3.0.5 — PHP 7.0 или новее (сборка cc_nethunt-oc3.ocmod.zip)
  • OpenCart 2.3.0.0 – 2.3.0.2 — PHP 5.6 – 7.x (сборка cc_nethunt-oc2.ocmod.zip)
  • API-токен NetHunt — бесплатно в кабинете: Settings → API & MCP → Create token

Функционал во всех трёх сборках одинаковый. В 2.3-сборке суммы дополнительно переводятся в валюту заказа по его историческому курсу, а вместо реестра задач используется адрес витрины для cron — в OpenCart 2.3 планировщика нет вообще.

Что под капотом

  • События вместо правок ядра — модуль подписывается на событие истории заказа (в OpenCart 4 это addHistory, в 3.x и 2.3 — addOrderHistory), файлы ядра и темы не модифицируются.
  • Автопровижн папки: при сохранении настроек модуль создаёт в NetHunt папку «OpenCart Orders» со всеми нужными полями. Если указать свою папку — добавит только недостающие поля (Phone, Email, Total, Products и т.д.).
  • Идемпотентность через журнал синхронизации — UNIQUE-запись по заказу гарантирует отсутствие дублей даже при повторных срабатываниях события.
  • Cron-очередь повторов — до 5 попыток для заказов, которые не удалось отправить с первого раза; подбирает и «залипшие» отправки. В 3.x и 2.3 это адрес витрины для crontab, защищённый необязательным токеном.
  • API-токен зашифрован в БД (libsodium с HMAC-фолбеком) — в открытом виде не хранится.

Как установить

  1. Загрузите сборку под вашу версию (cc_nethunt.ocmod.zip для 4.x, cc_nethunt-oc3.ocmod.zip для 3.x, cc_nethunt-oc2.ocmod.zip для 2.3) через Расширения → Инсталлятор в вашей админке OpenCart.
  2. Для OpenCart 2.3: штатный Инсталлятор копирует файлы только по FTP. Если FTP не настроен — распакуйте архив и залейте содержимое папки upload/ в корень магазина.
  3. В списке Расширения → Модули найдите NetHunt Sync и нажмите «Установить», затем откройте настройки.
  4. Вставьте API-токен из кабинета NetHunt (Settings → API & MCP → Create token).
  5. Выберите триггер отправки — при создании заказа или при переходе в конкретный статус.
  6. Сохраните настройки — модуль сам создаст папку «OpenCart Orders» с полями (или подключит указанную) — и нажмите «Проверить соединение».
  7. Оформите тестовый заказ и проверьте запись в NetHunt и строку в журнале.
  8. Для OpenCart 3.x и 2.3 добавьте в crontab хостинга строку повторных попыток (обычно раз в 15 минут), задав перед этим cron-токен в настройках:
    curl -s "https://SHOP/index.php?route=extension/module/cc_nethunt_cron/retry&token=ТОКЕН" (в 3.x роут — extension/module/cc_nethunt/cronRetry).

Прямая ссылка на 2.3-сборку: cc_nethunt-oc2.ocmod.zip.

История версий

1.1.1 — август 2026
Суммы записи и позиций отправляются в валюте заказа по его историческому курсу — раньше в NetHunt ехали числа базовой валюты магазина рядом с кодом валюты заказа (сборки 4.x и 3.x).
1.0.0 (OpenCart 2.3) — август 2026
Отдельная сборка под OpenCart 2.3.0.0 – 2.3.0.2 и PHP 5.6 – 7.x: шаблоны Bootstrap 3, события через addOrderHistory, cron как адрес витрины с токеном, журнал синхронизации отдельной страницей с пагинацией. Суммы переводятся в валюту заказа по его историческому курсу; заполняется поле «Order status». Неудачное подключение папки больше не отменяет сохранение настроек.
1.1.0 — август 2026
Событие теперь регистрируется в формате OC4 с * перед методом (с точкой оно не срабатывало). Совместимость с PHP 7.4. В очередь повторов попадают заказы, зависшие в процессе отправки. Добавлен необязательный cron-токен для публичного URL повторов. Журнал больше не требует mbstring.
1.0.0 — июль 2026
Первый публичный релиз: отправка заказов OpenCart 4.x в NetHunt (REST API v2, Bearer-токен) при создании или смене статуса, автопровижн папки «OpenCart Orders» с полями, идемпотентный журнал синхронизации, cron-очередь повторов, шифрование токена, проверка соединения.

Частые вопросы

Меняет ли модуль checkout или тему магазина?

Нет. Модуль работает через события OpenCart на стороне сервера — страница оформления, шаблоны и тема остаются нетронутыми.

Надо ли готовить папку и поля в NetHunt заранее?

Нет. При сохранении настроек модуль сам создаст папку «OpenCart Orders» со всеми полями. Если у вас уже есть своя папка — укажите её, и модуль добавит только недостающие поля.

Что будет, если NetHunt не ответит в момент заказа?

Заказ попадёт в очередь повторов: cron автоматически попробует отправить его ещё раз, суммарно до 5 попыток. Каждая попытка видна в журнале.

Могут ли появиться дубли записей?

Нет. Журнал синхронизации имеет UNIQUE-ограничение по заказу, а ID созданной записи сохраняется — повторное срабатывание события не создаст вторую запись.

Что будет после удаления модуля?

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

Где посмотреть, что именно модуль отправил в CRM?

В журнале синхронизации: для каждого заказа сохраняются запрос и ответ API — удобно для диагностики без доступа к логам сервера.

Вопросы по модулю?

Пишите в Telegram — ответим в течение рабочего дня. Поможем с настройкой, совместимостью и активацией ключа.

@catcode_support

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

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

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