0
Обране
0
Порівняти
Каталог модулів
0
0
Все про товар
Опис
Характеристики
Відгуки 0
3.x
Автоматичні знижки Google для OpenCart
Автоматичні знижки Google для OpenCart

Автоматичні знижки Google для OpenCart

0 Залишити відгук
Модель: 53267
Доповнення розроблено студією Ocmodules.in.ua. Автор: IHOR1989. Профіль: OpenCartForum
Є в наявності
25 $
Бажаєте дізнатись коли ціна зміниться?
Сумісно з OpenCart 3.x
Сумісно з OpenCart 3.x

Модуль протестовано на OpenCart 3.x. Робота на інших версіях не гарантується.

Створено в Україні
Створено в Україні

Продаж та технічна підтримка модуля для інтернет-магазинів на території РФ та РБ не здійснюються.

Відкритий код
Відкритий код

Код модуля не зашифровано, без ionCube чи обфускації. Ви зможете вільно переглядати та змінювати код.

Опис

Модуль Google Automated Discounts інтегрує OpenCart із програмою автоматичних знижок Google Merchant Center. Розширення підтримує два режими роботи: розрахунок мінімально допустимих цін засобами модуля з передаванням їх через додатковий XML-фід або приймання готової персональної ціни, розрахованої Google Merchant Center.

Модуль приймає персональну ціну з підписаного параметра pv2, перевіряє її та застосовує на сторінці товару, у списках, кошику й під час оформлення замовлення. Звичайна ціна та акція товару в базі даних не змінюються: персональна пропозиція зберігається тільки для відповідного відвідувача.

Рішення підходить магазинам із декількома вітринами, валютами та обліковими записами Merchant Center. Для кожної потрібної комбінації створюється окремий канал із власним Merchant Center ID, валютою, полем Offer ID та джерелом цінових обмежень.

Два режими роботи

Для кожного каналу можна окремо вибрати джерело цінових обмежень:

  • Налаштування модуля — модуль визначає товари, які беруть участь у програмі, розраховує мінімально допустимі ціни та формує додатковий XML-фід з атрибутами auto_pricing_min_price і, за наявності закупівельної ціни, cost_of_goods_sold
  • Google Merchant Center — товари, валова маржа та максимальний розмір знижки налаштовуються безпосередньо в кабінеті Google. Додатковий XML-фід мінімальних цін модуля не використовується, а персональна ціна приймається з підписаного JWT без повторної перевірки за локальними правилами та мінімальною ціною

В обох режимах модуль перевіряє криптографічний підпис, Merchant Center ID, Offer ID, валюту, строк дії даних і відповідність товару. Отримана ціна повинна бути додатною та нижчою за поточну ціну товару. Різниця полягає лише в тому, де визначаються умови участі та допустима нижня межа ціни.

Режим Google Merchant Center не скасовує основний товарний фід магазину. Google, як і раніше, повинен отримувати основні дані товарів і коректні Offer ID через стандартне джерело товарних даних.

Як працюють автоматичні знижки

  1. Адміністратор створює канал для потрібного магазину, Merchant Center і валюти
  2. Для каналу вибирається джерело цінових обмежень: налаштування модуля або Google Merchant Center
  3. У локальному режимі адміністратор налаштовує правила участі та розрахунку мінімальної ціни, після чого CRON формує додатковий XML-фід
  4. У режимі Google Merchant Center товари, маржа й максимальна знижка налаштовуються в кабінеті Google без використання додаткового фіда модуля
  5. Google визначає персональну ціну та передає її покупцеві в підписаному JWT через GET-параметр pv2
  6. Модуль перевіряє підпис ES256, Merchant Center ID, Offer ID, товар, валюту, ціну та строк дії даних
  7. У локальному режимі додатково перевіряється участь товару та відповідність ціни розрахованій нижній межі
  8. Після успішної перевірки персональна ціна відображається на сайті та переходить до кошика і замовлення

Персональна ціна зберігається для сторінки товару щонайменше 30 хвилин, а для кошика — 48 годин. Вона не стає загальною ціною товару та не показується іншим покупцям.

Що вміє модуль

  • Створювати окремі канали для різних магазинів, Merchant Center і валют
  • Вибирати джерело цінових обмежень окремо для кожного каналу
  • Працювати за локальними правилами з додатковим XML-фідом мінімальних цін
  • Приймати готову ціну Google без локальної перевірки мінімальної ціни
  • Працювати без додаткового XML-фіда модуля, якщо товари, маржа та максимальна знижка налаштовані в Merchant Center
  • Формувати статичні XML-фіди у форматі Google Merchant Center
  • Задавати власну назву файла кожного XML-фіда
  • Формувати фід за захищеним секретним ключем CRON
  • Вибирати поле OpenCart, яке використовується як Offer ID
  • Керувати участю товарів через категорії, виробників та окремі товари
  • Створювати правила включення та виключення товарів
  • Фільтрувати товари за поточною ціною та наявністю чинної акції
  • Розраховувати мінімальну ціну як максимальну знижку від поточної ціни
  • Розраховувати мінімальну ціну як націнку на закупівельну ціну
  • Задавати індивідуальні налаштування безпосередньо в картці товару
  • Перевіряти підписані персональні ціни Google за протоколом ES256
  • Застосовувати персональну ціну на вітрині, у кошику та замовленні
  • Позначати звичайні й тестові замовлення Google в адміністративній частині
  • Створювати локальні тестові посилання для перевірки сценарію до підключення Merchant Center
  • Показувати статистику активних цін і пов’язаних замовлень
  • Очищати прострочені записи та стару історію
  • Вести журнал причин прийняття або відхилення персональної ціни
  • Працювати з українською, англійською та російською мовами

Канали та Offer ID

Канал об’єднує налаштування одного магазину, облікового запису Merchant Center і валюти. Для кожного каналу задаються назва, магазин, Merchant Center ID, валюта, Offer ID, джерело цінових обмежень, ім’я XML-файла та статус.

Offer ID можна отримувати зі стандартних полів OpenCart: product_id, model, sku, upc, ean, jan, isbn або mpn.

Значення вибраного поля має точно збігатися з ID відповідної пропозиції в основному товарному джерелі Merchant Center. Інакше модуль не прийме персональну ціну для товару.

Локальні правила ціноутворення

Правила використовуються тільки тоді, коли джерелом цінових обмежень вибрано налаштування модуля. У режимі Google Merchant Center локальні правила, закупівельна та ручна мінімальна ціна не обмежують отриману з підписаного JWT пропозицію.

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

  • Дозволити або заборонити участь — включення чи виключення відповідних товарів
  • Категорії, виробники та товари — область дії правила
  • Урахування акції — усі товари, тільки товари з чинною акцією або тільки без неї
  • Ціна від і до — необов’язкові межі поточної ціни
  • Метод і значення — максимальна знижка від поточної ціни або націнка на закупівельну ціну

Категорії, виробники та окремі товари в одному правилі об’єднуються: достатньо відповідності одному з вибраних списків. Якщо всі списки порожні, правило поширюється на всі товари каналу.

Методи розрахунку мінімальної ціни

  • Максимальна знижка від поточної ціни — мінімальна ціна дорівнює поточній ціні мінус заданий відсоток. Закупівельна ціна не потрібна
  • Націнка на закупівельну ціну — мінімальна ціна дорівнює закупівельній ціні плюс заданий відсоток. Для цього методу поле cost має бути заповнене

Якщо закупівельна ціна вказана, модуль передає її як cost_of_goods_sold і не дозволяє встановити локальну мінімальну ціну нижче собівартості. Якщо cost дорівнює нулю, атрибут не додається до XML.

Налаштування в картці товару

Модифікатор додає до стандартної форми товару OpenCart закупівельну ціну, ручну мінімальну автоматичну ціну та режим участі в автоматичних знижках. Ці параметри використовуються локальним режимом і мають пріоритет над автоматичними правилами.

Відображення поля закупівельної ціни можна вимкнути, якщо магазин уже використовує сумісний модуль закупівель, який зберігає дані в тому самому полі cost.

Статичний XML-фід і CRON

Статичний XML-фід використовується в режимі локальних цінових обмежень. Кожен канал формує окремий XML-файл у каталозі price. Google отримує готовий файл без запуску важких SQL-запитів під час кожного звернення до його URL.

  • Один виклик CRON повністю перебудовує вибраний фід
  • URL CRON захищений спільним секретним ключем
  • Для кожного каналу показується готовий URL і команда для crontab
  • У налаштуваннях доступні розмір, дата зміни та статистика створеного файла
  • Товар без cost може передавати Offer ID і auto_pricing_min_price
  • Якщо cost вказано, додатково передається cost_of_goods_sold

Якщо джерелом цінових обмежень вибрано Google Merchant Center, підключати сформований модулем XML-фід не потрібно. Умови участі, валова маржа та максимальна знижка налаштовуються в кабінеті Google.

Перевірка персональної ціни

Вбудована вкладка тестування дозволяє створити тимчасове посилання з тестовою персональною ціною та перевірити весь сценарій до отримання виробничого посилання Google.

У локальному режимі тестова ціна повинна бути нижчою за поточну та не нижчою за розрахований мінімум. У режимі Google Merchant Center локальний мінімум не перевіряється, але ціна має бути додатною й нижчою за поточну ціну товару.

Для тестування модуль створює окрему пару ключів ES256 у захищеному каталозі storage. Локальний тест не змінює офіційний публічний ключ Google і не замінює виробничу перевірку Merchant Center.

Перевірка безпеки

  • Перевірка криптографічного підпису ES256
  • Перевірка Merchant Center ID, Offer ID та відповідного товару
  • Перевірка валюти, строку дії та коректності персональної ціни
  • Перевірка відповідності ціни поточній ціні товару
  • Перевірка допустимої локальної мінімальної ціни, якщо канал працює за правилами модуля
  • Прив’язка локального тестового посилання до IP-адреси
  • Журнал причин прийняття або відхилення без збереження самого JWT

Офіційний публічний ключ Google ES256 уже заповнений у налаштуваннях. Він є спільним для інтеграцій Automated Discounts і не потребує створення адміністратором магазину.

Відображення персональної ціни

Персональна ціна інтегрується у сторінку товару, категорії, сторінки виробників, пошук, акції, стандартні модулі товарів, кошик, стандартне оформлення замовлення та адміністративну сторінку замовлення.

Модулі швидкого замовлення, які використовують стандартні Cart і addOrder OpenCart, отримують персональну ціну автоматично. Для розширень, що читають ціну або створюють замовлення прямими SQL-запитами, може знадобитися окрема адаптація.

Мітка замовлення

Якщо під час оформлення використано персональну ціну, модуль зберігає зв’язок із замовленням. Адміністратор бачить окрему мітку Google Automated Discounts, а для локальних тестів використовується окрема тестова мітка.

SEO URL і параметр pv2

SEO-модуль, CDN або редирект із index.php на SEO URL не повинен видаляти GET-параметр pv2. Якщо магазин використовує SeoPro або інший модифікатор URL, параметр потрібно додати до переліку дозволених. Сторінки з персональною ціною не можна зберігати у спільному повносторінковому кеші.

Мультимагазин і валюти

Для кожного каналу вибирається конкретний магазин і одна з активних валют OpenCart. Правила не змішуються між каналами, тому можна створювати різні умови для окремих країн, валют, магазинів або облікових записів Merchant Center.

Продуктивність

  • Статичні XML-файли замість генерації фіда під час кожного запиту Google
  • Вибірка тільки необхідних даних товарів
  • Індекси власних таблиць для основних операцій
  • Застосування персональних цін до масиву товарів одним пакетним запитом
  • Використання стандартних Currency, Tax, Cart, Events і DB API OpenCart
  • Відсутність зовнішніх API-запитів під час відкриття сторінок магазину

Сумісність із шаблонами та сторонніми модулями

Основна логіка працює на рівні стандартних моделей товарів, кошика, подій та замовлення OpenCart. Якщо тема або сторонній модуль отримує ціни прямими SQL-запитами, використовує власний кошик чи створює замовлення в обхід стандартного addOrder, може знадобитися точкова адаптація.

Відкритий код і незалежність

Код модуля не закодований і не обфускований. Розширення не використовує ліцензійні сервери, телеметрію чи віддалені бібліотеки. Перевірка JWT, розрахунок правил, збереження персональних цін і формування XML виконуються безпосередньо на сайті.

Системні вимоги

  • OpenCart 3.0.3.x
  • PHP 7.4–8.5
  • PHP OpenSSL із підтримкою ES256
  • MySQL або MariaDB
  • Обліковий запис Google Merchant Center із доступною програмою Automated Discounts
  • Налаштоване передавання конверсій покупки з даними кошика
  • Для локального режиму — можливість запису XML-файлів до каталогу price та налаштування регулярного CRON

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

  1. Встановіть архів через Extensions / Installer
  2. Оновіть кеш у Extensions / Modifications
  3. Встановіть і відкрийте Google Automated Discounts у розділі Feeds / Канали просування
  4. Увімкніть модуль і створіть канал для потрібного магазину, Merchant Center і валюти
  5. Перевірте поле Offer ID та виберіть джерело цінових обмежень
  6. Для локального режиму налаштуйте правила, запустіть CRON і підключіть XML як додаткове джерело даних Merchant Center
  7. Для режиму Google Merchant Center налаштуйте товари, валову маржу та максимальну знижку безпосередньо в кабінеті Google
  8. Перевірте локальне та виробниче тестове посилання

Модуль не змінює файли ядра OpenCart безпосередньо. Інтеграція виконується через стандартні Events OpenCart та OCMOD.

Важливі примітки

Модуль не підключає магазин до програми Google Automated Discounts автоматично. Доступність програми, налаштування Merchant Center і остаточне схвалення магазину визначаються Google.

Основне джерело товарних даних Merchant Center повинно містити товари з коректними Offer ID незалежно від вибраного режиму. Значення поля Offer ID у модулі має точно збігатися з ідентифікатором відповідної пропозиції в основному товарному джерелі Google.

У режимі локальних налаштувань XML модуля використовується як додаткове джерело атрибутів автоматичних знижок. У режимі Google Merchant Center цей додатковий файл не потрібний, оскільки цінові обмеження налаштовуються безпосередньо в кабінеті Google.

Модуль не замінює систему аналітики та не надсилає конверсії покупки до Google. Для цього потрібна окрема інтеграція Google Analytics, Google Ads або інший сумісний модуль.

Ліцензія

Ліцензія поширюється на один домен і його піддомени.

Характеристики
Основні характеристики
Поточна версія модуля 1.2
Сумісність OpenCart 3.x
ocStore 3.x
Локалізація Українська
Англійська
Російська
Підтримка надається наступними мовами Українська
Англійська
Російська
Тип ліцензії На один домен + його піддомен
Метод активації Без активації
Звернення до сервера розробника Ні
Ioncube Loader Ні
Підтримувана версія PHP PHP 7.0-7.4
PHP 8.0-8.3
Відгуки

Немає відгуків про цей товар, станьте першим, залиште свій відгук.