Что внутри
- Сделка в 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 часов в рабочее время.
Покупка модуля
—