KeepinCRM Sync — CRM для WooCommerce
Бесплатный плагин интеграции WooCommerce с KeepinCRM: новый заказ становится сделкой с лидом, товарами и комментарием. Токен хранится зашифрованным, GPLv2.
- Совместимость
- WordPress 6.2+, WooCommerce 6.0+
- PHP
- 7.4 и новее
- Обновлено
- август 2026
Что умеет модуль
Как это выглядит
Технические требования
WordPress 6.2+ (протестировано до 7.0)
WooCommerce 6.0 или новее, включая HPOS (custom order tables)
PHP 7.4+
API-токен KeepinCRM — создаётся в кабинете: Настройки → Профиль компании → вкладка API (только владелец аккаунта). Внимание: KeepinCRM отдаёт API только на платном тарифе — на бесплатном любой запрос возвращает «Недоступно на бесплатном тарифе» (HTTP 402).
История версий
Защита от двойной отправки переведена на лок уровня БД.
Первый публичный релиз: создание сделок в KeepinCRM (POST /agreements) после checkout или по статусу-триггеру, клиент-лид с товарами-строками, маршрутизация…
Полное описание модуля
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.
- Менеджер видит результат в метабоксе заказа и во вкладке «Журнал» на странице настроек.
Что под капотом
- 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 отвечает.
- При желании заполните маршрутизацию (воронка, этап, источник, ответственный) и выберите момент отправки. Сохраните — готово.
Вопросы
о модуле
Не нашли ответ? Напишите в Telegram — ответим в течение рабочего дня.
Трогает ли плагин 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.
Пока нет ни одного отзыва. Будьте первым.
Пока вопросов нет. Спроси — мы ответим в течение 24 часов.
Не тот вариант, что искали?
Делаем кастомные модули под WordPress, WooCommerce, OpenCart и Shopify. Расскажите о задаче — подготовим оценку.
Заказать кастомный модуль
Покупка модуля
—