Зв'язатись
CRM та інтеграції · WordPress

SalesDrive Sync — CRM для WooCommerce

Автоматична передача замовлень WooCommerce у CRM SalesDrive: заявка створюється одразу після checkout з покупцем, товарами, доставкою та коментарем. Дедуплікація, повторні спроби при збої, метабокс статусу й журнал синхронізації.

Версія
v0.2.0
Сумісність
WordPress 6.2+, WooCommerce 6.0+
Платформа
WordPress
SalesDrive Sync — CRM для WooCommerce

Що включено в ліцензії

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

SalesDrive Sync для WooCommerce — плагін, який автоматично передає кожне замовлення WooCommerce у CRM SalesDrive. Щойно покупець завершив checkout, у SalesDrive з’являється заявка з покупцем, товарами, доставкою та коментарем — менеджер працює у CRM, а не копіює дані з адмінки сайту вручну. Підтримуються і класичний чекаут, і нові Checkout Blocks.

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

Що отримує адмін

Сторінка налаштувань 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/.

Як це працює — крок за кроком

  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. Менеджер бачить результат у метабоксі замовлення та у вкладці «Журнал» на сторінці налаштувань.

Скільки коштує

Безкоштовно. Плагін розповсюджується під ліцензією GPLv2 — завантажуйте і користуйтесь без активацій, підписок і лімітів.

Технічні вимоги

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

Що під капотом

  • 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 або при переході у вибрані статуси), збережіть налаштування.

Історія версій

0.2.0 — серпень 2026
Кнопка «Відправити повторно» в метабоксі нарешті працює: раніше метабокс малював власну форму всередині форми замовлення WooCommerce, і браузер її викидав — клік нічого не відправляв. Тепер це нонсифіковане посилання з повідомленням про результат. Захист від подвійної відправки переведено з транзієнта на лок рівня БД (транзієнт — це read-then-write, і паралельні запити створювали дві заявки). Після спроби, яка не отримала відповіді, плагін перевіряє за externalId через GET /api/order/list/, чи заявка вже є, і підхоплює її замість створення другої. Видалення плагіна тепер прибирає й таблицю журналу. Позначка про оплату більше не їде в CRM HTML-сутністю замість символу гривні; для замовлень не в гривні дописується код валюти. Інтерфейс переведено на англійську з українським перекладом у /languages, під wp.org плагін перейменовано на catcode-order-sync-with-salesdrive-for-woocommerce (налаштування, мета замовлень і таблиця журналу не змінились — мігрувати нічого не треба).
0.1.0 — липень 2026
Перший публічний реліз: відправка замовлень у SalesDrive після checkout або за статусом-тригером, дедуплікація за externalId, повторні спроби через WP-Cron (3 спроби), метабокс у замовленні з ручною відправкою, журнал подій, перевірка з’єднання, шифрування API-ключа, HPOS-сумісність.

Часті питання

Чи змінює плагін мій checkout або тему?

Ні. Плагін працює лише «за лаштунками»: слухає події створення замовлення і зміни статусу. Жодних змін у шаблонах чи чекауті.

Звідки взяти API-ключ SalesDrive?

Кабінет SalesDrive → Установки → Загальні налаштування і інтеграції → Інші сервіси → API → API-ключі. Потрібен ключ бази заявок із правом «Заявки: додавання»; додайте ще «Заявки: читання», щоб працювала перевірка дублів після таймауту.

Чи створяться дублі, якщо статус замовлення змінюється кілька разів?

Ні. Плагін зберігає SalesDrive ID у меті замовлення, а перед відправкою бере лок на рівні бази — навіть якщо чекаут, зміна статусу і колбек платіжки спрацюють одночасно, заявка створиться одна. Якщо відповідь від CRM взагалі не прийшла, плагін перед повтором перевіряє за externalId, чи заявка вже там.

Що робить кнопка «Відправити повторно»?

Якщо замовлення ще не в SalesDrive — створює заявку. Якщо вже відправлене — оновлює її актуальними даними через /api/order/update/. Результат показується повідомленням угорі сторінки замовлення.

Що буде після видалення плагіна?

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

У якій валюті йдуть суми?

У валюті замовлення, звичайними числами: у обробника заявок SalesDrive немає поля валюти, тож суми потрапляють у ту валюту, в якій працює ваш кабінет. Для замовлень не в гривні плагін дописує код валюти в коментар заявки.

Чи працює з новим блоковим чекаутом WooCommerce?

Так, підтримуються і класичний чекаут, і Checkout Blocks.

Питання щодо модуля?

Пишіть у Telegram — відповімо протягом робочого дня. Допоможемо з налаштуванням, сумісністю та активацією ключа.

@catcode_support

Не той варіант, що шукаєте?

Ми робимо кастомні модулі під WordPress, WooCommerce, OpenCart і Shopify. Розкажіть про задачу — підготуємо оцінку.

Замовити кастомний модуль