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

SalesDrive Sync — CRM для WooCommerce

Бесплатный плагин интеграции WooCommerce с SalesDrive: заказ попадает в CRM сразу после checkout — покупатель, товары, доставка. Классический чекаут и Blocks.

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

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

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

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

Страница настроек SalesDrive Sync для WooCommerce
Одна страница настроек в меню WooCommerce → SalesDrive Sync: домен кабинета (например, yourshop.salesdrive.me), API-ключ, триггерные статусы и кнопка «Проверить соединение» — она делает тестовый запрос GET /api/statuses/ и сразу показывает, всё ли подключено.
Журнал синхронизации SalesDrive Sync для WooCommerce
Вкладка «Журнал» показывает последние попытки: заказ, событие, номер попытки, HTTP-статус и текст ответа CRM. Видно и успешные отправки, и ошибки — не надо догадываться, почему заявки нет в SalesDrive.
Метабокс SalesDrive в заказе WooCommerce с кнопкой повторной отправки
В каждом заказе — метабокс SalesDrive: статус синхронизации, ID заявки в CRM и кнопка «Отправить повторно». Для уже отправленных заказов кнопка не создаёт дубль, а обновляет заявку через /api/order/update/.

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

  • WordPress 6.2+ (протестировано до 7.0)
  • WooCommerce 6.0 или новее, включая HPOS (custom order tables)
  • PHP 7.4+
  • Кабинет SalesDrive: домен вида yourshop.salesdrive.me и API-ключ базы заявок с правом «Заявки: добавление» (Установки → Общие настройки и интеграции → Другие сервисы → API → API-ключи). Право «Заявки: чтение» не обязательно, но желательно — с ним плагин после таймаута проверяет, создана ли заявка, вместо того чтобы рисковать дублем.

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

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

Кнопка «Отправить повторно» в метабоксе наконец работает.

v0.1.0 июль 2026

Первый публичный релиз: отправка заказов в SalesDrive после checkout или по статусу-триггеру, дедупликация по externalId, повторные попытки через WP-Cron (3 попытки), метабокс в заказе с…

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

SalesDrive Sync для WooCommerce — плагин, который автоматически передаёт каждый заказ WooCommerce в CRM SalesDrive. Как только покупатель завершил checkout, в SalesDrive появляется заявка с покупателем, товарами, доставкой и комментарием — менеджер работает в CRM, а не копирует данные из админки сайта вручную. Поддерживаются и классический чекаут, и новые Checkout Blocks.

Плагин полностью бесплатный. Скачать: catcode-order-sync-with-salesdrive-for-woocommerce-0.2.0.zip. Лицензия GPLv2 — без ключей, без пробных периодов, без ограничений по количеству заказов.

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

  1. Покупатель оформляет заказ в магазине — через классический чекаут или Checkout Blocks.
  2. Плагин собирает payload: покупатель (телефон нормализуется до формата +380), товары с SKU, ценой и количеством, доставка, комментарий. Для оплаченных онлайн заказов в комментарий опционально добавляется пометка «Оплачено онлайн».
  3. Данные летят в SalesDrive через обработчик заявок — POST /handler/ с заголовком X-Api-Key.
  4. SalesDrive возвращает номер заявки — он сохраняется в мете заказа (_cc_salesdrive_order_id). Вместе с локом на уровне БД это гарантирует: один заказ — одна заявка.
  5. Если CRM временно недоступна — плагин сам повторяет отправку: 3 попытки с паузами 5 мин / 30 мин / 2 ч по WP-Cron.
  6. Менеджер видит результат в метабоксе заказа и во вкладке «Журнал» на странице настроек.

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

  • API-ключ зашифрован в БД — libsodium с HMAC-фолбеком для хостингов без расширения sodium. В открытом виде ключ в базе не лежит.
  • Лок на уровне БД против дубля: чекаут, смена статуса и колбэк платёжки могут прилететь одновременно — в работу проходит ровно один запрос, а заказ перечитывается мимо кеша HPOS перед финальной проверкой.
  • Проверка по externalId после таймаута: обработчик заявок SalesDrive НЕ дедуплицирует (два POST с тем же externalId дают две заявки), поэтому перед повторной попыткой плагин спрашивает CRM через GET /api/order/list/, есть ли заявка, и подхватывает её ID. Если у ключа нет права на чтение — заказ помечается в метабоксе, чтобы менеджер проверил CRM вручную.
  • HPOS-совместимость — вся работа с заказами идёт только через WC_Order CRUD, без прямых запросов к постам.
  • Нормализация телефона покупателя до E.164 (+380…) перед отправкой в CRM.
  • Валюта: у обработчика заявок нет поля валюты, поэтому для заказов не в гривне код валюты дописывается в комментарий заявки.
  • Точки расширения для разработчиков: фильтр cc_salesdrive_order_payload (изменить тело заявки) и хук cc_salesdrive_order_sent (реакция на успешную отправку).

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

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

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

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

@catcode_support Настройка, совместимость, активация
Меняет ли плагин мой checkout или тему?

Нет. Плагин работает только «за кулисами»: слушает события создания заказа и смены статуса. Никаких изменений в шаблонах или чекауте.

Откуда взять API-ключ SalesDrive?

Кабинет SalesDrive → Установки → Общие настройки и интеграции → Другие сервисы → API → API-ключи. Нужен ключ базы заявок с правом «Заявки: добавление»; добавьте ещё «Заявки: чтение», чтобы работала проверка дублей после таймаута.

Создадутся ли дубли, если статус заказа меняется несколько раз?

Нет. Плагин сохраняет SalesDrive ID в мете заказа, а перед отправкой берёт лок на уровне базы — даже если чекаут, смена статуса и колбэк платёжки сработают одновременно, заявка создастся одна. Если ответ от CRM вообще не пришёл, плагин перед повтором проверяет по externalId, нет ли заявки там.

Что делает кнопка «Отправить повторно»?

Если заказ ещё не в SalesDrive — создаёт заявку. Если уже отправлен — обновляет её актуальными данными через /api/order/update/. Результат показывается сообщением вверху страницы заказа.

Что будет после удаления плагина?

Удаление (не деактивация) убирает настройки, зашифрованный ключ и таблицу журнала. ID заявок на заказах остаются намеренно — именно они не дают при переустановке залить в CRM вторую копию старого заказа.

В какой валюте идут суммы?

В валюте заказа, обычными числами: у обработчика заявок SalesDrive нет поля валюты, поэтому суммы попадают в ту валюту, в которой работает ваш кабинет. Для заказов не в гривне плагин дописывает код валюты в комментарий заявки.

Работает ли с новым блочным чекаутом WooCommerce?

Да, поддерживаются и классический чекаут, и Checkout Blocks.

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

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

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