Інтеграція з WooCommerce
Плагін eSputnik для WooCommerce автоматично виконує таку технічну роботу:
- Передача контактів — створення, оновлення та видалення контактів у реальному часі, а також імпорт історичних даних.
- Передача замовлень — створення та оновлення замовлень у реальному часі, а також імпорт історичних даних.
- Вебтрекінг — встановлення скрипта та конфігурація передачі подій (перелік подій наведено нижче).
- Web Push — встановлення скрипта та Service Worker. Додаткових налаштувань зі стандартної інструкції з Web Push виконувати не потрібно — вам залишається лише активувати Web Push в налаштуваннях організації.
- Віджети — встановлення скрипта.
- App Inbox — плагін дає змогу вмикати або вимикати канал у налаштуваннях. Після ввімкнення він автоматично переналаштовує скрипт вебтрекінгу та отримує токен авторизації; вручну налаштовувати скрипт App Inbox не потрібно.
Зверніть увагу
- Цей додаток називається Yespo, але він повністю підходить для роботи з eSputnik CDP.
- Товарні рекомендації потребують додаткових налаштувань на вашому сайті, тоді як технічна конфігурація решти інструментів виконується плагіном автоматично.
- Технічні деталі щодо плагіна можна дізнатися в публічному репозиторії.
Підтримувані мови
Плагін доступний українською, польською, болгарською, румунською, португальською, італійською, німецькою, французькою та іспанською мовами.
Події вебтрекінга
Плагін дозволяє надсилати до eSputnik наступні події:
Подія | Опис |
|---|---|
PageView | Надсилається, коли відвідувач сайту завантажує певну сторінку вебсайту. Подія за замовчуванням, необхідна для роботи всіх інших подій вебвідстеження. |
ProductPage | Пов’язана з діями на сторінках товарів. Подію можна використовувати для кампаній, що включають покинуті перегляди, сповіщення про знижки на переглянуті товари або кампанії з повернення клієнтів. |
CategoryPage | Спрацьовує, коли відвідувач переглядає сторінку категорії товару. Після отримання цієї події в eSputnik ви можете надсилати електронні листи з рекомендаціями найпопулярніших товарів у переглянутій категорії. |
CustomerData | Передає дані відвідувача сайту, отримані під час реєстрації, входу в систему або здійснення покупки. Подія пов’язує відвідувачів вебсайту з обліковими записами у вашій системі, що дозволяє проводити персоналізовані кампанії. |
StatusCart | Допомагає відстежувати статус кошиків. Подію можна використовувати для запуску ecommerce сценаріїв, таких як покинутий кошик, сповіщення про знижки на товари в покинутому кошику та сповіщення про знижки на товари, схожі на ті, що є в кошику. |
StatusCartPage | Технічна подія для визначення сторінок кошика та чекауту, коли StatusCart передається з бекенду; окремо не відстежується. Може використовуватися для показу рекомендацій на цих сторінках. |
PurchasedItems | Інформує про придбані товари та може бути використана для рекомендацій популярних товарів, додаткових та перехресних продажів. Наприклад, якщо клієнт придбав телефон, ви можете надіслати йому повідомлення з рекомендаціями щодо чохла або зарядного пристрою. |
MainPage | Спрацьовує, коли відвідувач знаходиться на головній сторінці. Необхідна для відображення рекомендацій на сайті. |
NotFound | Спрацьовує при потраплянні на 404 сторінку. Необхідна для відображення рекомендацій на сайті. |
ProductImpression | Дозволяє відстежувати покази рекомендаційних блоків. |
Встановлення плагіна
Зверніть увагу
- Плагін працює на основі передачі даних через cron-завдання. Переконайтеся, що у вас налаштований активний cron: або стандартний WordPress, або серверний на вашому хостингу. За кожного запуску плагін опрацьовує всі замовлення заново, тому та сама подія замовлення може надійти не один раз. Задавайте умову унікальності для сценаріїв, які запускаються за подіями замовлень.
- Якщо ви використовуєте плагіни кешування, обов’язково встановлюйте оновлення через репозиторій WordPress і після цього очистіть кеш, щоб усі зміни застосувалися коректно.
- Також ви можете вручну налаштувати надсилання подій AddToWishlist та SearchRequest.
- Увійдіть у свій обліковий запис WordPress.
- Перейдіть до розділу Плагіни.
- Знайдіть Yespo у полі пошуку та натисніть Встановити зараз.

Або,
- Перейдіть на сторінку плагінів WordPress.
- Знайдіть Yespo у пошуку та натисніть Завантажити.
- Завантажте плагін у розділ Плагіни свого облікового запису WordPress.
- Натисніть Активувати.

- Натисніть кнопку Налаштування під плагіном у розділі Встановлені плагіни або перейдіть на окрему сторінку Yespo.

- Введіть свій ключ API з повним доступом з облікового запису eSputnik і натисніть Синхронізувати, щоб розпочати синхронізацію даних.

Зверніть увагу
- Права доступу для ключа API мають бути встановлені як Full access to API. Докладніше про ключі API в eSputnik можна дізнатися в цій статті.
- Плагін Yespo підтримує багатосайтові конфігурації для магазинів WooCommerce у WordPress. Для коректної обробки даних кожен магазин WooCommerce має бути підключений до окремого облікового запису eSputnik.
Після натискання кнопки Синхронізувати нові контакти та замовлення, що з'являтимуться у WooCommerce, автоматично передаватимуться в eSputnik. Також буде налаштовано відстеження подій на сайті та встановлено скрипт Web Push.
Якщо захист сайту (наприклад, Cloudflare) блокує наші запити, перевірка домену не проходить. Додайте у виключення IP-адреси 18.193.171.62, 3.66.101.249 і 52.16.166.210 та повторіть підключення.
Активація App Inbox (опційно)
Використовуйте перемикач App Inbox у налаштуваннях плагіна, щоб увімкнути або вимкнути канал. Після ввімкнення плагін автоматично оновлює конфігурацію скрипта вебтрекінгу й отримує authToken, необхідний для авторизації запитів App Inbox. Додаткових налаштувань зі стандартної інструкції з App Inbox виконувати не потрібно.

Щоб забезпечити правильну роботу, додайте товарний фід до eSputnik.
Зверніть увагу
- Ви завжди може призупинити надсилання контактних даних у eSputnik.
- Якщо додаток було деактивовано та активовано повторно, видалені за час його неактивності контакти не будуть передані до eSputnik.
- Видалення плагіна видаляє всі компоненти, встановлені під час налаштування вебтрекінгу, включаючи скрипти та функції, що використовуються для відстеження подій.
Якщо у вас виникнуть запитання або проблеми з інтеграцією — зв’яжіться з нами.
Хуки, таблиці, функції та інші компоненти WordPress і WooCommerce
Для коректної роботи плагіна необхідна наявність у системі низки стандартних елементів ядра WordPress і WooCommerce, а також доступ до базових таблиць, функцій, глобальних змінних та службових директорій.
Переконайтеся у наступному:
- Стандартні хуки WordPress не були видалені чи деактивовані в темі або іншими плагінами. Ці хуки активні за замовчуванням, тому їхня відсутність може свідчити про навмисне використання
remove_actionабоremove_filter. - Необхідні хуки WooCommerce присутні в темі й працюють належним чином. Ці хуки критично важливі для інтеграції з функціями WooCommerce і мають бути доступними у вашій конфігурації.
- Таблиці WordPress доступні для читання та запису. Плагін використовує їх для зберігання налаштувань, роботи з користувачами та замовленнями.
- Вбудовані функції WordPress не перевизначені або не заблоковані стороннім кодом. Плагін покладається на них для обробки запитів, захисту даних і взаємодії між фронтендом та бекендом.
- Директорії та службові файли WordPress доступні для запису та читання. Плагін зберігає у них лог-файли, вебпуш-файли та власні скрипти.
- Глобальні змінні WordPress і WooCommerce доступні. Вони використовуються для роботи з базою даних та замовленнями.
Якщо будь-який з перелічених компонентів відсутній, заблокований або змінений, це може призвести до некоректної роботи плагіна або повної втрати функціональності.
Хуки дій WordPress
Нава | Опис |
|---|---|
admin_notices | Відображає повідомлення в зоні адміністративних сповіщень. Є частиною ядра WordPress і не залежить від тем оформлення чи їхніх кастомізацій. Використовується самим WordPress і сторонніми плагінами. |
profile_update | Активується, коли створюється або оновлюється профіль користувача. Належить до ядра WordPress і не залежить від тем або налаштувань інтерфейсу. Використовується як WordPress, так і сторонніми плагінами. |
delete_user | Викликається перед видаленням користувача. Являється частиною ядра WordPress і працює незалежно від кастомізацій тем. Використовується WordPress і сторонніми плагінами. |
wp_privacy_personal_data_erased | Активується після виконання запиту на видалення персональних даних (GDPR). Належить до ядра WordPress і не залежить від змін у темах оформлення. Використовується всередині самого ядра WordPress. |
admin_enqueue_scripts | Використовується для підключення JavaScript і CSS-файлів, що розширюють функціональність адміністративної панелі. Є частиною ядра і не залежить від оформлення інтерфейсу. Використовується WordPress і плагінами. |
wp_footer | Додає власний код перед закриваючим тегом
. Є частиною ядра WordPress і не впливає на теми оформлення. Використовується WordPress і сторонніми плагінами. |
wp_login | Активується після успішного логіну користувача. Базовий хук ядра, не залежить від кастомізацій тем. Використовується WordPress і сторонніми плагінами. |
wp_head | Додає скрипти, стилі, метатеги для коду вебпушів в хедер сайту. |
Таблиці WordPress
Нава | Опис | |
|---|---|---|
wp_posts | Одна з головних таблиць бази даних, у якій зберігаються всі типи контенту для отримання даних замовлень і подальшого експорту в eSputnik. | |
wp_users | Зберігає дані всіх зареєстрованих користувачів для подальшого експорту в eSputnik. | |
wp_options | Зберігає глобальні налаштування сайту, плагінів, тем, кешу, URL сайту та інші конфігураційні значення для зберігання API-ключа, скриптів вебтрекінга та вебпушів. |
Вбудовані функції WordPress
Нава | Опис |
|---|---|
wp_remote_request | Виконання HTTP-запитів будь-якого типу (GET, POST, PUT, DELETE тощо) до eSputnik. |
wp_localize_script | Передача даних (зазвичай - об'єктів та рядків) з PHP у JavaScript для використання в підключеному скрипті. |
esc_html_ | Перекладає рядок і екранує його для безпечного виводу в HTML. |
esc_js | Екранує текст для безпечного використання всередині JavaScript-коду, щоб запобігти XSS-атакам. |
esc_url | Очищує та екранує URL перед його виведенням у HTML, щоб запобігти XSS-атакам або неправильному форматуванню посилань. |
esc_sql | Екранує рядки, що вставляються в SQL-запити, щоб запобігти SQL-інʼєкціям. |
wp_create_nonce | Створює одноразовий токен (nonce) для захисту від CSRF-атак при передачі даних через форми або AJAX-запити. |
wp_nonce_field | Виводить приховане поле у формі з nonce (одноразовим токеном) для захисту від CSRF-атак. |
wp_enqueue_script | Додає JS-файли у сайт для підключення скриптів плагіна. |
wp_send_json | Надсилає JSON-відповідь і завершує скрипт. |
wp_kses_post | Очищає HTML, залишаючи дозволені теги. |
wp_send_json_success | Надсилає JSON-відповідь про успішну операцію. |
wp_send_json_error | Надсилає JSON-відповідь про помилку. |
get_option | Отримує значення опцій з БД (API-ключа, скриптів вебтрекінгу та вебпушів). |
update_option | Створює або оновлює опцію в БД (збереження API-ключа та скриптів.) |
sanitize_text_field | Очищає текст від небажаних символів для збереження в БД чи опціях. |
update_user_meta | Додавання мітки, що контакт відправлено до eSputnik. |
get_user_by | Пошук користувача за ID. |
wp_upload_dir | Повертає дані про директорію завантаження файлів логів вебтрекінгу та вебпушів. |
wp_parse_url | Обгортка навколо PHP-функції parse_url(), яка є більш стійкою до помилок і завжди повертає масив для логів вебтрекінгу та вебпушів. |
wp_json_encode | Кодує PHP-масив або об’єкт у JSON-рядок перед відправкою даних до eSputnik. |
Директорії та файли WordPress
Нава | Опис |
|---|---|
/wp-content/plugins | Директорія для зберігання файлів плагіна. |
/wp-content/uploads | Директорія для зберігання вебпуш-файлів і логів вебтрекінгу. |
admin-ajax.php | Файл для обробки AJAX-запитів для обміну даними між фронтендом і бекендом. |
Фільтр-хуки WordPress
Нава | Опис |
|---|---|
cron_schedules | Використовується для додавання кастомних інтервалів для cron-завдань. Застосовується як ядром WordPress, так і сторонніми плагінами. |
Хуки дій WooCommerce
Нава | Опис |
|---|---|
woocommerce_add_to_cart | Активується під час додавання товару до кошика. Є частиною ядра WooCommerce, ініціалізується у файлі
у
. |
woocommerce_after_cart_item_quantity_update | Викликається при зміні кількості товару в кошику. Базовий хук WooCommerce, ініціалізується у
у директорії
, але плагін безпосередньо його не використовує. Через рідкісні зміни в цих файлах ризик його порушення низький. |
woocommerce_cart_item_removed | Активується при видаленні товару з кошика. Являється частиною ядра WooCommerce, ініціалізується у
в директорії
. Активно використовується WooCommerce. Через рідкісні зміни в
ризик пошкодження цього хука мінімальний. |
woocommerce_thankyou | Викликається після оформлення замовлення. Є частиною ядра WooCommerce, використовується в шаблонах для відображення фінальних даних замовлення. Ініціалізується у файлі
у директорії
. Оскільки шаблони часто кастомізуються, ризик перезапису ініціалізації хука вищий. |
Глобальні дані
Нава | Опис |
|---|---|
$wpdb | Глобальний об’єкт для роботи з MySQL. |
WC | Глобальний об’єкт, що надає доступ до замовлень та методів WooCommerce. |
WC_Order | Клас для роботи з замовленнями. |
Updated 4 days ago