KeepinCRM Sync — CRM для OpenCart 2.3, 3.x & 4.x
Автоматична передача замовлень OpenCart 2.3, 3.x і 4.x у CRM KeepinCRM: угода створюється при оформленні з клієнтом, товарами та коментарем. Ідемпотентність, повторні спроби через cron, журнал синхронізації.
- Сумісність
- 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. Розкажіть про задачу — підготуємо оцінку.
Замовити кастомний модуль
Купівля модуля
—
