Связаться
  • OpenCart
  • CRM и интеграции
  • v1.1.1

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

Бесплатный модуль интеграции OpenCart с CRM SalesDrive: каждый заказ становится заявкой с товарами, доставкой и комментарием. Без лицензионных ключей и лимитов.

Совместимость
OpenCart 2.3.0.0 – 2.3.0.2 · 3.0.2 – 3.0.5 · 4.0.2 – 4.1.x
Версия
v1.1.1 (OpenCart 4)
v1.1.1 (OpenCart 3.x)
v1.0.0 (OpenCart 2.3)
Обновлено
август 2026

Что умеет модуль

Функция Free
Каждый заказ OpenCart автоматически становится заявкой в SalesDrive ✔
Передаются покупатель, товары, доставка, оплата и комментарий ✔
Триггер-статусы на выбор ✔
Дедупликация заявок ✔
Очередь повторных попыток при сбоях ✔
Журнал обменов в админке ✔
Отдельные сборки для OpenCart 2.3, 3.x и 4.x ✔
Бесплатный ✔

Как это выглядит

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

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

  • OpenCart 4.0.2 – 4.1.x, 3.0.2 – 3.0.5 или 2.3.0.0 – 2.3.0.2 — для каждой ветки отдельная сборка
  • PHP 7.4 или новее для сборок OC4 и OC3; сборка для OpenCart 2.3 работает начиная с PHP 5.6
  • Кабинет SalesDrive: домен вида yourshop.salesdrive.me и API-ключ базы заявок с правом «Заявки: добавление»
  • Включённый cron OpenCart — для автоматических повторных попыток при сбоях (сама отправка работает и без него)

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

v1.1.1 Текущая август 2026

Суммы заявки и позиций отправляются в валюте заказа по его историческому курсу.

v1.0.0 OC 2.3 август 2026

Отдельная сборка под OpenCart 2.3.0.0–2.3.0.2 и PHP 5.6–7.x.

v1.1.0 август 2026

Исправлена отправка позиций: SalesDrive молча выбрасывал товары без поля id, и заявка приходила с пустым списком и нулевой суммой.

Все версии (5)
v1.0.1 июль 2026

Мелкие исправления регистрации события и маппинга позиций.

v1.0.0 июль 2026

Первый публичный релиз: отправка заказов в SalesDrive при оформлении или по статусу-триггеру, идемпотентный журнал синхронизации (UNIQUE по order_id), retry-очередь через почасовой cron,…

Полное описание модуля

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

Модуль полностью бесплатный. Скачать: cc_salesdrive.ocmod.zip для OpenCart 4.x или cc_salesdrive-oc3.ocmod.zip для OpenCart 3.0.2–3.0.5, либо cc_salesdrive-oc2.ocmod.zip для OpenCart 2.3.0.0–2.3.0.2 — без лицензионных ключей и ограничений по количеству заказов.

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

  1. Покупатель оформляет заказ в вашем магазине OpenCart.
  2. Срабатывает событие catalog/model/checkout/order*addHistory — модуль реагирует на оформление или на переход заказа в статус-триггер.
  3. Формируется заявка: покупатель с телефоном в формате +380, товары с SKU, ценой и количеством, стоимость доставки, комментарий — и отправляется в SalesDrive через обработчик заявок (POST /handler/, заголовок X-Api-Key).
  4. Номер заявки фиксируется в журнале синхронизации. Журнал имеет уникальную запись на заказ, поэтому повторное событие никогда не создаст дубль — завершённая запись просто пропускается.
  5. Если SalesDrive недоступен — запись остаётся в очереди, и почасовой cron OpenCart повторяет отправку (по умолчанию до 5 попыток).
  6. Результат видно в админке: журнал показывает статус, ID заявки, количество попыток и последнюю ошибку, если она была.

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

  • Native-расширение для OpenCart 4.x — события (events) и отдельная таблица, без OCMOD-патчей чужих файлов. Событие регистрируется в формате OC4 с разделителем * перед методом — именно так ядро 4.x сопоставляет события моделей.
  • Идемпотентность на уровне БД: таблица cc_salesdrive_sync с UNIQUE-ключом по order_id — физически невозможно создать две заявки из одного заказа.
  • API-ключ шифруется перед сохранением в БД — в открытом виде в базе не лежит.
  • Retry-очередь через штатный cron OpenCart: задача cc_salesdrive_retry выполняется ежечасно и добирает заказы со статусом ошибки, а также те, что зависли в процессе отправки дольше часа. URL повторов можно закрыть собственным cron-токеном.
  • Журнал с excerpt-ами запроса и ответа — при разборе проблем видно, что именно модуль отправил и что ответила CRM.

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

  1. В админке OpenCart откройте Расширения → Инсталлятор и загрузите cc_salesdrive.ocmod.zip.
  2. Перейдите в Расширения → Расширения → Модули, найдите SalesDrive Sync и нажмите «Установить» — модуль создаст таблицу журнала, событие и cron-задачу.
  3. Откройте настройки модуля: введите домен кабинета SalesDrive и API-ключ.
  4. Нажмите кнопку проверки соединения — убедитесь, что CRM отвечает.
  5. Выберите момент отправки (при оформлении или при переходе в статус), сохраните — готово.

OpenCart 2.3. Штатный Инсталлятор 2.3 копирует файлы только по FTP: если FTP в магазине не настроен, распакуйте cc_salesdrive-oc2.ocmod.zip и залейте содержимое папки upload/ в корень магазина, а дальше так же — Расширения → Модули → SalesDrive Sync → «Установить».

Повторы в OpenCart 2.3. В 2.3 планировщика нет вообще, поэтому очередь повторов запускает обычный адрес витрины — добавьте его в crontab хостинга (обычно раз в 15 минут) и закройте собственным cron-токеном из настроек модуля:

curl -s "https://ВАШ-МАГАЗИН/index.php?route=extension/module/cc_salesdrive_cron/retry&token=ТОКЕН"

Вопросы
о модуле

Не нашли ответ? Напишите в Telegram — ответим в течение рабочего дня.

@catcode_support Настройка, совместимость, активация
Модифицирует ли модуль файлы OpenCart или тему?

Нет. Это событийное расширение для OC4: никаких OCMOD-патчей системных файлов, checkout и тема остаются нетронутыми. После удаления модуля магазин работает как раньше.

Откуда взять API-ключ SalesDrive?

Кабинет SalesDrive → Установки → Общие настройки и интеграции → Другие сервисы → API → API-ключи. Нужен ключ базы заявок с правом «Заявки: добавление».

Заказ меняет статус несколько раз — будет несколько заявок?

Нет. Журнал синхронизации имеет уникальную запись на заказ: если заявка уже создана, повторные события пропускаются.

Что будет, если SalesDrive «ляжет» в момент заказа?

Ничего не потеряется: попытка зафиксируется как ошибка, и почасовой cron будет повторять отправку (до 5 попыток по умолчанию). Заказ в OpenCart создаётся в любом случае.

Что произойдёт после удаления модуля?

Событие и cron-задача удаляются. Таблица журнала синхронизации намеренно сохраняется — чтобы не потерять историю отправок; при необходимости её можно убрать вручную.

Нужен ли постоянно работающий cron?

Только для автоматических повторов при сбоях. Основная отправка происходит сразу по событию заказа, без cron.

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

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

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