Зв'язатись
  • OpenCart
  • CRM та інтеграції
  • v1.1.1

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

Що вміє модуль

Функція 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. Розкажіть про задачу — підготуємо оцінку.

Замовити кастомний модуль