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
Что умеет модуль
Как это выглядит
Технические требования
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)
История версий
Суммы сделки и позиций отправляются в валюте заказа по его историческому курсу.
Сборка под OpenCart 3 подтянута до уровня 2.3 и 4.x.
Отдельная сборка под OpenCart 2.3.0.0.
Все версии (6)
Исправлена отправка на PHP 7.4: обработчик события имел тип mixed (синтаксис PHP 8), из-за чего на 7.4 синхронизация не срабатывала вообще.
Исправлено «молчаливое» событие на OpenCart 4.0.2.x.
Первый публичный релиз: создание сделок в 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 — без лицензионных ключей и ограничений.
Как это работает — шаг за шагом
- Клиент оформляет заказ в магазине OpenCart.
- Модуль ловит событие добавления истории заказа и срабатывает при оформлении или при переходе в выбранный статус.
- Формируется сделка: клиент-лид (ФИО, email, телефон в формате +380), товары строками сделки с ценой и валютой, комментарий — и отправляется в KeepinCRM (POST /agreements на api.keepincrm.com/v1, заголовок X-Auth-Token).
- ID сделки фиксируется в журнале синхронизации. Запись на заказ уникальна, поэтому повторные события не порождают дубли — одна сделка на один заказ, гарантированно.
- Если KeepinCRM недоступен — заказ остаётся в очереди, и почасовой cron OpenCart повторяет отправку (по умолчанию до 5 попыток).
- Админ видит результат в журнале: статус, ID сделки, количество попыток, последнюю ошибку и полное тело запроса/ответа.
Что под капотом
- Событийная архитектура OC4 — модуль регистрирует event на добавление истории заказа и работает без OCMOD-патчей системных файлов или темы.
- Идемпотентность на уровне БД: таблица журнала cc_keepincrm_sync с уникальным ключом по order_id — дубли сделок исключены физически.
- Retry-очередь через штатный cron OpenCart: задача cc_keepincrm_retry выполняется ежечасно и добирает неудачные отправки до исчерпания лимита попыток.
- API-токен шифруется перед сохранением в БД, в открытом виде в базе не хранится.
- Полный лог обмена: журнал хранит тело запроса и ответа CRM по каждому заказу — диагностика проблем без угадываний.
Как установить
- В админке OpenCart откройте Расширения → Инсталлятор и загрузите
cc_keepincrm.ocmod.zip. - В Расширения → Расширения → Модули найдите KeepinCRM Sync и нажмите «Установить» — создадутся таблица журнала, событие и cron-задача.
- Откройте настройки модуля и вставьте API-токен из кабинета KeepinCRM (Настройки → Профиль компании → вкладка API).
- Нажмите кнопку проверки соединения — убедитесь, что CRM отвечает.
- При желании заполните маршрутизацию (воронка, этап, источник, ответственный), выберите момент отправки и сохраните.
Отдельно для 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 — ответим в течение рабочего дня.
Меняет ли модуль файлы OpenCart, checkout или тему?
Нет. Это событийное расширение OC4 без OCMOD-патчей: checkout и тема остаются как были, после удаления модуля магазин работает без следов.
Откуда взять API-токен?
Кабинет KeepinCRM → Настройки → Профиль компании → вкладка API → «Создать». Токен передаётся в заголовке X-Auth-Token и хранится зашифрованным.
Заказ несколько раз меняет статус — в CRM будет несколько сделок?
Нет. Журнал синхронизации держит уникальную запись на заказ: если сделка уже создана, повторные события пропускаются.
Что будет, если KeepinCRM временно недоступен?
Заказ в OpenCart создастся как всегда, а отправка в CRM встанет в очередь — почасовой cron будет повторять её до успеха (до 5 попыток по умолчанию). Ошибка и ответ сервера видны в журнале.
Можно ли направлять сделки в нужную воронку?
Да. В настройках есть необязательные поля ID воронки, этапа, источника и ответственного сотрудника — новые сделки создаются сразу с этой привязкой.
Что произойдёт после удаления модуля?
Событие и cron-задача удаляются автоматически. Таблица журнала намеренно сохраняется, чтобы не потерять историю синхронизации; при необходимости её можно убрать вручную.
Пока нет ни одного отзыва. Будьте первым.
Пока вопросов нет. Спроси — мы ответим в течение 24 часов.
Не тот вариант, что искали?
Делаем кастомные модули под WordPress, WooCommerce, OpenCart и Shopify. Расскажите о задаче — подготовим оценку.
Заказать кастомный модуль
Покупка модуля
—