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

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

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

Совместимость
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.0 (OpenCart 3.x)
v1.0.0 (OpenCart 2.3)
Обновлено
август 2026

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

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

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

Настройки KeepinCRM Sync в админке OpenCart — API-токен, статус-триггер, момент отправки
Страница модуля в админке OpenCart: API-токен (хранится зашифрованным; пустое поле при сохранении не затирает имеющийся токен), момент отправки — при оформлении или по статусу-триггеру, кнопка проверки соединения и кнопка журнала синхронизации.
Лимит попыток, метка источника, cron-токен и маршрутизация сделок в KeepinCRM
Лимит повторных попыток, метка источника, необязательный cron-токен для защиты публичного URL повторных попыток и маршрутизация новых сделок: ID воронки, этапа, источника и ответственного.
Журнал синхронизации KeepinCRM: статус, ID сделки, количество попыток
Журнал синхронизации: по каждому заказу — статус, ID созданной сделки в KeepinCRM, количество попыток, последняя ошибка и время обновления. Тело запроса и ответа CRM сохраняется полностью.

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

  • OpenCart 4.0.2 – 4.1.x — сборка cc_keepincrm.ocmod.zip, PHP 7.4 и новее
  • OpenCart 3.0.0 – 3.0.5 — сборка cc_keepincrm-oc3.ocmod.zip, PHP 5.6 – 8.2
  • OpenCart 2.3.0.0 – 2.3.0.2 — сборка cc_keepincrm-oc2.ocmod.zip, PHP 5.6 и новее
  • API-токен KeepinCRM — создаётся в кабинете: Настройки → Профиль компании → вкладка API → «Создать»
  • Включённый cron OpenCart — для автоматических повторов при сбоях (основная отправка работает сразу по событию, без cron)

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

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

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

v1.1.0 OC 3 август 2026

Сборка под OpenCart 3 подтянута до уровня 2.3 и 4.x.

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

Отдельная сборка под OpenCart 2.3.0.0.

Все версии (6)
v1.1.0 август 2026

Исправлена отправка на PHP 7.4: обработчик события имел тип mixed (синтаксис PHP 8), из-за чего на 7.4 синхронизация не срабатывала вообще.

v1.0.1 июль 2026

Исправлено «молчаливое» событие на OpenCart 4.0.2.x.

v1.0.0 июль 2026

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

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

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

Модуль полностью бесплатный, код открытый. Скачать с GitHub: github.com/catcodestudio/opencart-keepincrm-sync — без лицензионных ключей и ограничений.

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

  1. Клиент оформляет заказ в магазине OpenCart.
  2. Модуль ловит событие добавления истории заказа и срабатывает при оформлении или при переходе в выбранный статус.
  3. Формируется сделка: клиент-лид (ФИО, email, телефон в формате +380), товары строками сделки с ценой и валютой, комментарий — и отправляется в KeepinCRM (POST /agreements на api.keepincrm.com/v1, заголовок X-Auth-Token).
  4. ID сделки фиксируется в журнале синхронизации. Запись на заказ уникальна, поэтому повторные события не порождают дубли — одна сделка на один заказ, гарантированно.
  5. Если KeepinCRM недоступен — заказ остаётся в очереди, и почасовой cron OpenCart повторяет отправку (по умолчанию до 5 попыток).
  6. Админ видит результат в журнале: статус, ID сделки, количество попыток, последнюю ошибку и полное тело запроса/ответа.

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

  • Событийная архитектура OC4 — модуль регистрирует event на добавление истории заказа и работает без OCMOD-патчей системных файлов или темы.
  • Идемпотентность на уровне БД: таблица журнала cc_keepincrm_sync с уникальным ключом по order_id — дубли сделок исключены физически.
  • Retry-очередь через штатный cron OpenCart: задача cc_keepincrm_retry выполняется ежечасно и добирает неудачные отправки до исчерпания лимита попыток.
  • API-токен шифруется перед сохранением в БД, в открытом виде в базе не хранится.
  • Полный лог обмена: журнал хранит тело запроса и ответа CRM по каждому заказу — диагностика проблем без угадываний.

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

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

Отдельно для OpenCart 3.x. Загрузите cc_keepincrm-oc3.ocmod.zip через Расширения → Инсталлятор и обновите модификации. Планировщика задач в OpenCart 3 нет, поэтому повторные попытки ставятся в crontab хостинга — адрес показан в настройках модуля; там же задайте cron-токен, иначе адрес открыт кому угодно:

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

Отдельно для OpenCart 2.3. Штатный Инсталлятор 2.3 копирует файлы только по FTP: если FTP в магазине не настроен, распакуйте cc_keepincrm-oc2.ocmod.zip и залейте содержимое папки upload/ в корень магазина, после чего установите модуль в Расширения → Модули. Планировщика в 2.3 нет вообще, поэтому повторные попытки ставятся в системный crontab вручную — адрес показан на вкладке «Cron» в настройках модуля; задайте там же cron-токен, иначе адрес открыт кому угодно:

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

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

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

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

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

Откуда взять API-токен?

Кабинет KeepinCRM → Настройки → Профиль компании → вкладка API → «Создать». Токен передаётся в заголовке X-Auth-Token и хранится зашифрованным.

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

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

Что будет, если KeepinCRM временно недоступен?

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

Можно ли направлять сделки в нужную воронку?

Да. В настройках есть необязательные поля ID воронки, этапа, источника и ответственного сотрудника — новые сделки создаются сразу с этой привязкой.

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

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

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

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

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