=== SalesDrive Sync for WooCommerce ===
Contributors: catcodestudio
Tags: woocommerce, salesdrive, crm, orders, ukraine
Requires at least: 6.2
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 0.1.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

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

== Опис ==

Плагін зв'язує WooCommerce з SalesDrive через обробник заявок (POST /handler/ з ключем X-Api-Key). Кожне нове замовлення магазину автоматично створюється в SalesDrive з покупцем, товарами, доставкою та коментарем.

= Можливості =

* Відправка замовлення одразу після checkout (класичний чекаут і Checkout Blocks) або при переході в один із вибраних статусів
* Дедуплікація: `externalId = wc-{id}` + збережений SalesDrive ID у меті замовлення — жодних дублів
* Позначка оплати: для сплачених онлайн замовлень у коментар заявки додається «✅ Оплачено онлайн» (опційно)
* Повторні спроби при збої: 3 спроби з паузами 5 хв / 30 хв / 2 год (WP-Cron)
* Метабокс на сторінці замовлення: статус синхронізації, SalesDrive ID, кнопка «Відправити повторно» (для вже відправлених — оновлення через /api/order/update/)
* Кнопка «Перевірити з'єднання» на сторінці налаштувань (GET /api/statuses/)
* Журнал останніх подій синхронізації (вкладка «Журнал»)
* Шифрування API-ключа у БД (libsodium з HMAC-фолбеком)
* Нормалізація телефону покупця до E.164 (+380...)
* HPOS-сумісність (custom order tables), робота лише через WC_Order CRUD
* Фільтр `cc_salesdrive_order_payload` і хук `cc_salesdrive_order_sent` для сторонніх інтеграцій

= Вимоги =

* WooCommerce 7.0 або новіше
* PHP 7.4+
* Домен кабінету SalesDrive (напр. yourshop.salesdrive.me) та API-ключ рівня бази заявок з правами «Заявки: додавання»

= Як це працює =

1. Клієнт оформлює замовлення у магазині
2. Плагін збирає payload (покупець, товари, доставка, коментар) і надсилає POST /handler/ у SalesDrive із заголовком X-Api-Key
3. SalesDrive повертає `{"success":true,"data":{"orderId":N}}` — ID заявки зберігається у меті `_cc_salesdrive_order_id`
4. Якщо SalesDrive недоступний — спроба повторюється автоматично (до 3 разів)
5. Менеджер бачить статус і ID у метабоксі замовлення та в журналі

== Встановлення ==

1. Залити папку плагіна у `/wp-content/plugins/salesdrive-sync-for-woocommerce/`
2. Активувати у меню «Плагіни»
3. WooCommerce → SalesDrive Sync → ввести домен кабінету та API-ключ
4. Натиснути «Перевірити з'єднання», зберегти налаштування

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

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

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

= Чи створюються дублі при повторній зміні статусу? =

Ні. Плагін зберігає SalesDrive ID у меті замовлення і передає `externalId = wc-{id}` — SalesDrive також дедуплікує на своєму боці.

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

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

== Screenshots ==

1. Settings page: domain, API key, trigger statuses / Налаштування: домен, ключ, тригерні статуси
2. SalesDrive metabox on the WooCommerce order with resend button / Метабокс SalesDrive у замовленні з кнопкою повторної відправки

== Changelog ==

= 0.1.0 =
* Перший реліз: відправка замовлень, ретраї, метабокс, журнал, перевірка з'єднання.
