KeepinCRM Sync — CRM для WooCommerce
Автоматична передача замовлень WooCommerce у CRM KeepinCRM: угода створюється одразу після checkout з клієнтом-лідом, товарами та коментарем. Дедуплікація, повторні спроби, метабокс статусу й журнал синхронізації.
Що включено в ліцензії
| Функція | Free |
|---|---|
| Угода в KeepinCRM створюється на кожне нове замовлення WooCommerce | ✔ |
| Клієнт заводиться як лід: ПІБ, email, телефон | ✔ |
| Товари замовлення стають рядками угоди | ✔ |
| Коментар покупця передається в CRM | ✔ |
| Підтримка класичного чекауту та Checkout Blocks | ✔ |
| Дедуплікація та повторні спроби при збоях | ✔ |
| Журнал обмінів і метабокс у замовленні | ✔ |
| Сумісність з HPOS | ✔ |
| Безкоштовний | ✔ |
KeepinCRM Sync для WooCommerce — плагін, який автоматично створює угоду в KeepinCRM на кожне нове замовлення WooCommerce. Клієнт заводиться як лід із ПІБ, email і телефоном, товари стають рядками угоди, коментар покупця потрапляє в CRM — менеджер одразу працює із заявкою, а не передруковує її з адмінки сайту. Працює і з класичним чекаутом, і з Checkout Blocks.
Плагін повністю безкоштовний, код відкритий. Завантажити з GitHub: github.com/catcodestudio/wp-keepincrm-sync. Ліцензія GPLv2 — без ключів, підписок і лімітів на замовлення.
Що отримує адмін



Як це працює — крок за кроком
- Покупець оформлює замовлення — плагін реагує одразу після checkout або при переході замовлення в один із вибраних статусів.
- Збирається угода: клієнт-лід (ПІБ, email, телефон у форматі +380), товари як рядки угоди (jobs) із ціною та кількістю, сума, коментар. Для сплачених онлайн замовлень опційно додається позначка «Оплачено онлайн».
- Дані відправляються в KeepinCRM через REST API — POST /agreements із заголовком X-Auth-Token.
- CRM повертає ID угоди — він зберігається в меті замовлення (_cc_keepincrm_agreement_id). Повторна подія не створить другу угоду.
- При збої CRM плагін повторює відправку сам: 3 спроби з паузами 5 хв / 30 хв / 2 год через WP-Cron.
- Менеджер бачить результат у метабоксі замовлення і у вкладці «Журнал» на сторінці налаштувань.
Скільки коштує
Безкоштовно, код відкритий. Репозиторій на GitHub: catcodestudio/wp-keepincrm-sync — ліцензія GPLv2, використовуйте без обмежень.
Технічні вимоги
- WordPress 6.2+ (тестовано до 7.0)
- WooCommerce 6.0 або новіше, включно з HPOS (custom order tables)
- PHP 7.4+
- API-токен KeepinCRM — створюється в кабінеті: Налаштування → Профіль компанії → вкладка API (лише власник акаунта). Увага: KeepinCRM віддає API лише на платному тарифі — на безкоштовному будь-який запит повертає «Недоступно на безкоштовному тарифі» (HTTP 402).
Що під капотом
- API-токен зашифрований у БД — libsodium із HMAC-фолбеком для хостингів без розширення sodium.
- Захист від подвійної відправки — окрім мети замовлення плагін бере лок на рівні БД, тому чекаут, зміна статусу і колбек оплати, що прийшли одночасно, не створять дві угоди.
- Дедуплікація за збереженим ID угоди: перед створенням плагін перевіряє мету замовлення — повторна відправка оновлює наявну угоду (PATCH /agreements/{id}), а не створює нову.
- HPOS-сумісність — робота з замовленнями тільки через WC_Order CRUD, без прямих SQL до постів.
- Нормалізація телефону до E.164 (+380…) перед відправкою в CRM.
- Хуки для розробників: фільтр cc_keepincrm_order_payload (змінити тіло угоди) і екшн cc_keepincrm_order_sent (реакція на успішну відправку).
Як встановити
- Завантажте
catcode-order-sync-with-keepincrm-for-woocommerce-0.2.0.zipі встановіть через Плагіни → Додати новий → Завантажити плагін. - Активуйте у меню «Плагіни».
- Відкрийте WooCommerce → KeepinCRM Sync і вставте API-токен із кабінету KeepinCRM (Налаштування → Профіль компанії → вкладка API).
- Натисніть «Перевірити з’єднання» — переконайтесь, що CRM відповідає.
- За бажанням заповніть маршрутизацію (воронка, етап, джерело, відповідальний) і оберіть момент відправки. Збережіть — готово.
Історія версій
- 0.2.0 — серпень 2026
- Захист від подвійної відправки переведено на лок рівня БД: раніше це був транзієнт (читання-потім-запис), і два одночасні хуки могли створити дві угоди. Полагоджено кнопку «Відправити повторно» в метабоксі — вона була вкладеною формою всередині форми замовлення, тож браузер її викидав і повторна відправка не спрацьовувала. Видалення плагіна тепер прибирає й таблицю журналу. Спроба без відповіді від CRM (таймаут) позначається як
no_responseіз попередженням у замовленні. Інтерфейс переведено на англійську з українським перекладом у комплекті, плагін перейменовано під wp.org (слагcatcode-order-sync-with-keepincrm-for-woocommerce) — налаштування, мета замовлень і таблиця журналу лишились зі старими іменами, тому міграція не потрібна. - 0.1.0 — липень 2026
- Перший публічний реліз: створення угод у KeepinCRM (POST /agreements) після checkout або за статусом-тригером, клієнт-лід із товарами-рядками, маршрутизація воронка/етап/джерело/відповідальний, повторні спроби через WP-Cron, метабокс у замовленні, журнал подій, перевірка з’єднання, шифрування токена, HPOS-сумісність.
Часті питання
Чи чіпає плагін checkout або тему?
Ні. Він лише слухає події замовлень WooCommerce і шле дані в CRM у фоні. Розмітка чекаута і шаблони теми не змінюються.
Звідки взяти API-токен KeepinCRM?
Кабінет KeepinCRM → Налаштування → Профіль компанії → вкладка API (лише власник акаунта). Токен передається в заголовку X-Auth-Token і зберігається в БД у зашифрованому вигляді.
Замовлення пройшло кілька статусів — буде кілька угод?
Ні. ID угоди зберігається в меті замовлення, а перед відправкою плагін бере лок на рівні БД: повторна подія оновить наявну угоду, а не створить дубль.
Що робить кнопка «Відправити повторно» в метабоксі?
Якщо замовлення ще не в CRM — створює угоду (POST /agreements). Якщо вже відправлене — оновлює її актуальними даними через PATCH /agreements/{id}.
Чи можна направляти угоди в конкретну воронку?
Так. У налаштуваннях є необов'язкові поля: ID воронки, етапу, джерела та відповідального працівника — угоди створюватимуться одразу з цією прив'язкою.
Що буде після видалення плагіна?
Видалення (не деактивація) прибирає налаштування із зашифрованим токеном і таблицю журналу. ID угод у замовленнях лишаються навмисно — саме вони не дають повторному встановленню створити другу копію старого замовлення в CRM.
CRM відповідає «Недоступно на безкоштовному тарифі» — що робити?
Це відповідь самої KeepinCRM (HTTP 402), а не помилка плагіна: API доступне лише на платному тарифі. Підключіть тариф або тріал у кабінеті й повторіть перевірку з'єднання.
А якщо CRM не відповіла зовсім (таймаут)?
У KeepinCRM немає зовнішнього ID на угодах, тому плагін не може перепитати, чи заявка дійшла. Таку спробу він позначає в журналі як no_response і виводить попередження в метабоксі замовлення — перед повторною відправкою варто глянути в CRM.
Питання щодо модуля?
Пишіть у Telegram — відповімо протягом робочого дня. Допоможемо з налаштуванням, сумісністю та активацією ключа.
Поки що жодного відгуку. Будь першим — нижче.
Залишити відгук
Відгук модерується перед публікацією — це звичайно займає до 24 годин.
Поки питань немає. Запитай — ми відповімо протягом 24 годин.
Поставити питання
Зазвичай відповідаємо протягом 24 годин у робочий час.
Купівля модуля
—