Связаться
  • WordPress
  • CRM и интеграции
  • v0.2.0

KeepinCRM Sync — CRM для WooCommerce

Бесплатный плагин интеграции WooCommerce с KeepinCRM: новый заказ становится сделкой с лидом, товарами и комментарием. Токен хранится зашифрованным, GPLv2.

Совместимость
WordPress 6.2+, WooCommerce 6.0+
PHP
7.4 и новее
Обновлено
август 2026

Что умеет модуль

Функция Free
Сделка в KeepinCRM создаётся на каждый новый заказ WooCommerce ✔
Клиент заводится как лид: ФИО, email, телефон ✔
Товары заказа становятся строками сделки ✔
Комментарий покупателя передаётся в CRM ✔
Поддержка классического чекаута и Checkout Blocks ✔
Дедупликация и повторные попытки при сбоях ✔
Журнал обменов и метабокс в заказе ✔
Совместимость с HPOS ✔
Бесплатный ✔

Как это выглядит

Настройки KeepinCRM Sync для WooCommerce — API-токен, маршрутизация в CRM, триггерные статусы
Страница WooCommerce → KeepinCRM Sync: API-токен (хранится зашифрованным и не возвращается в форму), необязательная маршрутизация — ID воронки, этапа, источника и ответственного, момент отправки по статусам. Кнопка «Проверить соединение» делает живой запрос GET /clients/statuses.
Журнал синхронизации KeepinCRM: дата, заказ, событие, попытка, HTTP-код и сообщение CRM
Вкладка «Журнал» — последние попытки синхронизации: создание сделки, обновление, запланированные повторы и ошибки с ответом CRM как есть. Видно и код HTTP, и номер попытки, так что понятно, дошла ли заявка.
Метабокс KeepinCRM в заказе WooCommerce: статус синхронизации, ID сделки и кнопка повторной отправки
Метабокс в каждом заказе: статус синхронизации, ID сделки в KeepinCRM, время отправки и кнопка «Отправить повторно» — для уже синхронизированного заказа она обновляет сделку (PATCH), а не создаёт вторую.

Технические требования

  • WordPress 6.2+ (протестировано до 7.0)
  • WooCommerce 6.0 или новее, включая HPOS (custom order tables)
  • PHP 7.4+
  • API-токен KeepinCRM — создаётся в кабинете: Настройки → Профиль компании → вкладка API (только владелец аккаунта). Внимание: KeepinCRM отдаёт API только на платном тарифе — на бесплатном любой запрос возвращает «Недоступно на бесплатном тарифе» (HTTP 402).

История версий

v0.2.0 Текущая август 2026

Защита от двойной отправки переведена на лок уровня БД.

v0.1.0 июль 2026

Первый публичный релиз: создание сделок в KeepinCRM (POST /agreements) после checkout или по статусу-триггеру, клиент-лид с товарами-строками, маршрутизация…

Полное описание модуля

KeepinCRM Sync для WooCommerce — плагин, который автоматически создаёт сделку в KeepinCRM на каждый новый заказ WooCommerce. Клиент заводится как лид с ФИО, email и телефоном, товары становятся строками сделки, комментарий покупателя попадает в CRM — менеджер сразу работает с заявкой, а не перепечатывает её из админки сайта. Работает и с классическим чекаутом, и с Checkout Blocks.

Плагин полностью бесплатный, код открытый. Скачать с GitHub: github.com/catcodestudio/wp-keepincrm-sync. Лицензия GPLv2 — без ключей, подписок и лимитов на заказы.

Как это работает — шаг за шагом

  1. Покупатель оформляет заказ — плагин реагирует сразу после checkout или при переходе заказа в один из выбранных статусов.
  2. Собирается сделка: клиент-лид (ФИО, email, телефон в формате +380), товары как строки сделки (jobs) с ценой и количеством, сумма, комментарий. Для оплаченных онлайн заказов опционально добавляется пометка «Оплачено онлайн».
  3. Данные отправляются в KeepinCRM через REST API — POST /agreements с заголовком X-Auth-Token.
  4. CRM возвращает ID сделки — он сохраняется в мете заказа (_cc_keepincrm_agreement_id). Повторное событие не создаст вторую сделку.
  5. При сбое CRM плагин повторяет отправку сам: 3 попытки с паузами 5 мин / 30 мин / 2 ч по WP-Cron.
  6. Менеджер видит результат в метабоксе заказа и во вкладке «Журнал» на странице настроек.

Что под капотом

  • 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 (реакция на успешную отправку).

Как установить

  1. Скачайте catcode-order-sync-with-keepincrm-for-woocommerce-0.2.0.zip и установите через Плагины → Добавить новый → Загрузить плагин.
  2. Активируйте в меню «Плагины».
  3. Откройте WooCommerce → KeepinCRM Sync и вставьте API-токен из кабинета KeepinCRM (Настройки → Профиль компании → вкладка API).
  4. Нажмите «Проверить соединение» — убедитесь, что CRM отвечает.
  5. При желании заполните маршрутизацию (воронка, этап, источник, ответственный) и выберите момент отправки. Сохраните — готово.

Вопросы
о модуле

Не нашли ответ? Напишите в Telegram — ответим в течение рабочего дня.

@catcode_support Настройка, совместимость, активация
Трогает ли плагин 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.

Не тот вариант, что искали?

Делаем кастомные модули под WordPress, WooCommerce, OpenCart и Shopify. Расскажите о задаче — подготовим оценку.

Заказать кастомный модуль