WP Manifestindependent plugin directory
manifest / ecommerce / flora24-crm-integration

Flora24 CRM Integration for MFlowers

WordPress плагин для интеграции Flora24 CRM с WooCommerce

by Roman NMSK · github.com/nmskvideo-dot/flora24-crm-integration

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/nmskvideo-dot/flora24-crm-integration/archive/refs/heads/master.zip

Flora24 CRM Integration для MFlowers

WordPress плагін для синхронізації цін та доступності товарів з CRM Flora24 у WooCommerce магазин.

📋 Опис

Flora24 CRM Integration — це професійний WordPress плагін, розроблений для інтеграції WooCommerce-магазину з системою управління CRM Flora24. Плагін забезпечує повністю автоматизовану синхронізацію:

  • Ціни товарів — автоматичне оновлення в реальному часі
  • Доступність (наявність) — моніторинг статусу товарів у CRM
  • Розширене логування — детальне відстеження всіх операцій
  • Гнучка настройка — керування інтервалом синхронізації
  • Майстер-консоль — зручний інтерфейс адміністратора для контролю

✨ Основні можливості

🆕 Керування Flora24 ID товарів (v1.5.0+)

  • Вбудоване поле на сторінці редагування — легко додати Flora24 ID кожному товару
  • Колонка в списку товарів — швидкий перегляд та редагування ID всіх товарів
  • Вбудоване редагування — змінюйте ID прямо в таблиці товарів без переходів
  • Миттєве збереження — автоматичне збереження з візуальним зворотнім зв'язком

Автоматична синхронізація (Cron)

  • Налаштовуваний період синхронізації (від 15 хвилин до 2 днів)
  • Використовує ActionScheduler для надійного виконання фонових завдань
  • Автоматичний моніторинг всіх товарів з ID Flora24
  • Розумне пропускання незмінених товарів для оптимізації

Керування товарами

  • Сканування бази — пошук всіх товарів з Flora24 ID
  • Ручна синхронізація — оновлення одного або кількох товарів на вибір
  • Пакетна обробка — масове оновлення вибраних товарів
  • Валідація ID — перевірка коректності Flora24 ID (формат: PRD-xxx або ПРД-xxx)

Логування та налагодження

  • Денні логи — автоматичне збереження файлів логів
  • Консоль операцій — живий перегляд всіх операцій
  • Архів логів — перегляд історії за останні 30 днів
  • Детальні звіти — інформація про кожне оновлення товару

Кольоровий код стану

  • 🟢 Зелений — успішна синхронізація
  • 🔵 Синій — інформаційні повідомлення
  • 🟡 Жовтий — запуск процесу
  • 🔴 Червоний — помилки та критичні події

🛠️ Вимоги

  • WordPress: 5.0+
  • WooCommerce: 4.0+
  • PHP: 7.2+ (рекомендується 7.4+)
  • Action Scheduler: плагін повинен бути встановлений (зазвичай входить в комплект WooCommerce)
  • Доступ в інтернет: для підключення до Flora24 API

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

Спосіб 1: Завантаження плагіна вручну

  1. Завантажте файл flora24-crm-integration.php
  2. Перейдіть у WordPress Панель управління → Плагіни → Додати новий
  3. Нажміть Завантажити плагін і виберіть завантажений файл
  4. Нажміть Встановити зараз
  5. Після встановлення нажміть Активувати плагін

Спосіб 2: FTP завантаження

  1. Підключіться до сервера по FTP
  2. Перейдіть у папку /wp-content/plugins/
  3. Створіть нову папку flora24-crm-integration
  4. Завантажте файл flora24-crm-integration.php в цю папку
  5. У WordPress Панель управління → Плагіни знайдіть плагін і нажміть Активувати

🔧 Налаштування

1️⃣ Отримання API ключа

  1. Авторизуйтесь на Flora24
  2. Перейдіть у розділ API & Інтеграції
  3. Скопіюйте ваш X-API-Key

2️⃣ Конфігурація плагіна

  1. У WordPress перейдіть у Параметри → Flora 24
  2. Введіть скопійований X-API-Key у поле авторизації
  3. Увімкніть опцію Автоматична синхронізація в фоні (опціонально)
  4. Виберіть оптимальний інтервал синхронізації (рекомендується 1 година)
  5. Нажміть Зберегти налаштування

3️⃣ Додавання Flora24 ID до товарів

Спосіб 1️⃣ : Швидке редагування в списку товарів (⭐ НОВЕ)

  1. Перейдіть у WooCommerce → Товари
  2. Знайдіть колонку Flora24 ID у таблиці
  3. Клікніть на поле і введіть ID (формат: PRD-xxx або ПРД-xxx)
  4. ID збереться автоматично з візуальним підтвердженням ✓

Спосіб 2️⃣ : Редагування на сторінці товара

  1. Перейдіть у WooCommerce → Товари
  2. Відкрийте товар на редагування
  3. Знайдіть поле Flora24 ID (під полем SKU)
  4. Введіть ID товара з Flora24 (формат: PRD-xxx або ПРД-xxx)
  5. Збережіть товар

📊 Використання

Ручна синхронізація

  1. Перейдіть у Параметри → Flora 24
  2. Нажміть кнопку Знайти товари з Flora24 ID
  3. Плагін відсканує базу і виведе всі товари з ID Flora24
  4. Можна вибрати товари і нажати Синхронізувати вибрані
  5. Або нажати кнопку Оновити поруч з окремим товаром

Перегляд логів

  1. На тій же сторінці Параметри → Flora 24 внизу знаходиться Консоль оновлення
  2. Виберіть дату логу з випадного списку
  3. Нажміть Завантажити лог для перегляду повної історії

Автоматична синхронізація (Cron)

  1. Переконайтесь, що увімкнена опція Автоматична синхронізація
  2. Встановіть потрібний інтервал (рекомендується 1-3 години для середніх магазинів)
  3. Плагін буде автоматично оновлювати товари в фоні

⚙️ Розширена конфігурація

Інтервали синхронізації

  • Кожні 15 хвилин — для дуже активних каталогів (велике навантаження на сервер)
  • Кожні 30 хвилин — для магазинів з частими змінами
  • Кожну годинуРЕКОМЕНДОВАНО — оптимальний баланс
  • Кожні 2-12 годин — для стабільних каталогів
  • Раз на добу — для магазинів з рідкими змінами

Вимоги до сервера

  • Cron-завдання повинні бути увімкнені (зазвичай увімкнені за замовчуванням)
  • Action Scheduler повинен мати доступ до БД
  • API Flora24 повинна бути доступна з вашого сервера

🐛 Вирішення проблем

Проблема: API ключ не приймається

Рішення:

  • Переконайтесь, що ключ скопійований повністю без пробілів
  • Перевірте, що ключ ще активний у кабінеті Flora24
  • Спробуйте вийти і увійти знову в аккаунт Flora24

Проблема: Товари не синхронізуються

Рішення:

  • Перевірте, що товари мають правильний формат Flora24 ID (PRD-xxx)
  • Переконайтесь, що товари існують у вашому кабінеті Flora24
  • Перевірте логи в Консолі оновлення для деталей помилок
  • Переконайтесь, що на сервері увімкнені WordPress Cron-завдання

Проблема: Повільна синхронізація

Рішення:

  • Збільшіть інтервал синхронізації (встановіть 2-3 години замість 1)
  • Перевірте швидкість підключення до Flora24 API
  • Розглядайте можливість оптимізації бази даних WordPress

Проблема: Логи не зберігаються

Рішення:

  • Перевірте, що папка /wp-content/uploads/flora24-logs/ існує
  • Переконайтесь, що у сервера є права на запис у цю папку (755 для Linux)
  • Перевірте, що на диску достатньо вільного місця

📝 Структура логів

Логи зберігаються у форматі:

[HH:MM:SS] [Повідомлення операції]

Приклад:

[14:23:45] Запуск масової синхронізації для 5 товарів...
[14:23:47] Товар ID 1234 (Flora ID: PRD-ABC123) [Букет "春"]: Ціна: [250 грн -> 280 грн] | Наявність: [В наявності -> Немає]
[14:23:50] Авто-Крон | Товар ID 1235 (Flora ID: PRD-XYZ789) [Букет "Сакура"]: Синхронізовано успішно

🔐 Безпека

  • API ключ — зберігається в зашифрованому вигляді в БД WordPress
  • Перевірки прав — тільки користувачі з правами manage_woocommerce мають доступ
  • CSRF захист — використовуються WordPress nonce для всіх форм
  • Санітизація — всі вхідні дані проходять валідацію та очистку
  • Старі логи — автоматично видаляються через 30 днів

� Безопасність (v1.6.1+)

Плагін включає розширені заходи безопеки для захисту вашого магазину:

CSRF захист

  • ✅ WordPress Nonce токени для всіх AJAX запитів
  • ✅ Перевірка referer для кожного дії управління

Захист від атак

  • Path Traversal — строга валідація імен файлів логів через регулярне вираження
  • Memory Overflow — обмеження розміру файлів логів (макс. 2 МБ в пам'яті)
  • SQL Injection — санітизація всіх вхідних даних
  • Race Conditions — Mutex-блокування через WordPress транзієнти для запобігання конфліктам синхронізації

Валідація даних

  • ✅ Строга перевірка структури API відповідей (обов'язкові поля: price, active)
  • ✅ Типізація і валідація всіх параметрів
  • ✅ Перевірка формату Flora24 ID перед обробкою

Оптимізація ресурсів

  • ✅ Batch-кеширування API відповідей (2 хвилини) для зменшення нагрузки на сервер
  • ✅ Своєчасне видалення старих логів (понад 30 днів)
  • ✅ Контроль пам'яті при обробці великих масивів товарів

�📞 Підтримка

При виникненні проблем:

  1. Перевірте Вирішення проблем вище
  2. Подивіться логи в консолі плагіна
  3. Зв'яжіться з розробником через GitHub Issues

📄 Ліцензія

MIT License — дивіться файл LICENSE

👨‍💻 Автор

Roman NMSK — розробник та підтримка

🔗 Посилання

📊 Статистика та версії

Версія Дата Зміни
1.5.0 2026 🆕 Вбудоване редагування Flora24 ID у списку товарів + Метабокс на сторінці редагування
1.4.2 2024-2026 Розширене логування та консоль операцій
1.4.0 2024 Додана інтеграція з Action Scheduler
1.0.0 2023 Перша версія

Дякуємо за використання Flora24 CRM Integration! 🌸