Автоматизація маркетплейсів для iGadget: як синхронізували ціни, залишки й товари

Коли компанія продає товари одночасно на кількох маркетплейсах, навіть проста зміна ціни або залишку може перетворитися на щоденну рутину.
Потрібно оновити інформацію в одному кабінеті, потім в іншому, перевірити третій. Додати новий товар — ще більше ручної роботи. А чим більше каналів продажу, тим вищий ризик помилки: десь не оновилася ціна, десь залишився старий залишок, а десь новий товар взагалі не був опублікований.
Саме з таким завданням до нас звернувся наш давній клієнт - компанія iGadget.

Першим конкретним завданням у цьому проєкті стала синхронізація цін і залишків із Rozetka.
Але вже на старті ми розуміли, що одним маркетплейсом справа не обмежиться. Компанія працювала з кількома каналами продажу, а отже, згодом потрібно буде автоматизувати не лише Rozetka, а й інші майданчики — включно зі створенням та оновленням товарних карток.
Тому ми одразу закладали рішення з можливістю подальшого розширення.
При цьому не намагалися реалізувати все одночасно. Проєкт розвивали поетапно: спочатку налаштували автоматичне оновлення залишків на сайті та маркетплейсах, а потім реалізовували автоматичне створення та оновлення карток товарів.
Такий підхід дозволив запускати окремі етапи в роботу, не чекаючи завершення всього проєкту, і водночас поступово будувати єдину систему для всіх каналів продажу.
Як побудували систему
Сьогодні в основі рішення — Keepin CRM і BAS, з яких інформація автоматично передається на маркетплейси:
Rozetka, Horoshop, Kasta, Hubber, ALLO та Epicentr.
При цьому кожна система виконує свою роль.
Keepin CRM — інформація про товар
У CRM менеджери працюють із картками товарів, наповнюючи їх інформацією:
назва;
опис;
характеристики;
зображення;
інші дані, необхідні для публікації.
Тобто саме Keepin CRM є джерелом інформації про вміст товарної картки.
BAS — ціни та залишки
BAS відповідає за облікову інформацію:
актуальну ціну;
залишок товару.
Тому маркетплейси отримують дані без необхідності вручну переносити їх між системами.
Миттєва синхронізація цін і залишків
Одне з основних завдань інтеграції — забезпечити актуальність інформації на всіх майданчиках.
Коли в BAS змінюється ціна або залишок, система через webhook передає оновлення на підключені майданчики.
Таким чином, менеджеру не потрібно окремо заходити в кабінети маркетплейсів і вносити однакові зміни вручну.
Це особливо важливо для товарів із динамічними залишками: продаж на одному майданчику змінює доступну кількість товару, а інформація має оперативно потрапити на інші канали.
Автоматичне створення нових товарів
Ми автоматизували не лише оновлення вже існуючих карток, а й появу нових товарів.
Система визначає, які товари з'явилися в Keepin CRM і ще не опубліковані на маркетплейсі.
Якщо для товару вже налаштоване необхідне зіставлення категорії та характеристик, система може автоматично сформувати та передати картку.
Наразі цей процес працює для Rozetka та Horoshop з різною періодичністю оновлення.
Для Hubber, ALLO та Epicentr використовується інший механізм передачі даних, оскільки ці майданчики мають власні технічні обмеження та формати обміну.
Що робити, якщо маркетплейс не має потрібного API
Одна з особливостей цього проєкту — неможливість використати однаковий спосіб інтеграції для всіх майданчиків.
Наприклад, Epicentr не дозволяє повністю автоматизувати створення товарних карток через API.
Тому для нього ми реалізували окремий механізм:
Keepin CRM → формування каталогу → файл/посилання → завантаження в систему маркетплейсу.
Для Hubber та ALLO використовуються постійні посилання-фіди.
Менеджер один раз налаштовує таке посилання у кабінеті маркетплейсу, після чого система самостійно оновлює дані.
Тобто відсутність повноцінного API не означає, що весь процес потрібно повернути до ручної роботи.
Маппінг категорій і характеристик
Ще одна важлива частина інтеграції — зіставлення даних між системами.
Наприклад, одна й та сама категорія товару в Keepin CRM та на конкретному маркетплейсі може мати різні назви, а набір характеристик може відрізнятися.
Тому ми створили окрему панель зіставлення, у якій відповідальний співробітник один раз налаштовує відповідність:
категорія CRM → категорія маркетплейсу
та
характеристика CRM → характеристика маркетплейсу.
Після цього система використовує готове зіставлення під час подальшої передачі товарів.
Це дозволяє не налаштовувати кожен новий товар вручну.
Якщо товар не проходить модерацію
Автоматизація не повинна просто передавати дані та зупинятися, якщо щось пішло не так.
Тому ми передбачили обробку помилок.
Якщо товар не може бути опублікований через:
відсутність зображення;
незаповнене обов'язкове поле;
відсутність зіставлення характеристик;
іншу причину, яку повертає маркетплейс,
система створює відповідну задачу в CRM.
Менеджер бачить артикул товару та причину, через яку його потрібно виправити.
Тобто замість постійної перевірки кабінетів маркетплейсів команда отримує інформацію про проблеми безпосередньо у звичному робочому середовищі.
Чому не використали готовий конектор
На перший погляд може здатися, що для такого завдання достатньо встановити готовий конектор.
Але в цьому випадку потрібно було об'єднати:
дві різні системи-джерела;
шість каналів продажу;
різні формати передачі даних;
API та feed-інтеграції;
різні правила формування товарних карток;
маппінг категорій і характеристик;
автоматичне створення товарів;
обробку помилок і модерації.
Готового універсального рішення, яке б враховувало всю цю логіку саме в такій конфігурації, не було.
Тому інтеграційний шар ми розробляли окремо — з можливістю надалі підключати нові майданчики.
Що отримав iGadget
Сьогодні замість шести окремих кабінетів із ручним оновленням інформації iGadget має єдиний процес керування товарними даними.
У результаті:
ціни та залишки передаються з BAS на маркетплейси автоматично;
інформація про товари передається з Keepin CRM;
нові товари можуть автоматично публікуватися на підключених майданчиках;
категорії та характеристики налаштовуються через єдиний маппінг;
для майданчиків без повноцінного API використовуються альтернативні механізми обміну;
помилки передачі перетворюються на задачі для менеджерів.
Окремий результат — скорочення ручної роботи при появі нових товарів.
автоматизація маркетплейсів
Якщо для нової позиції вже налаштоване необхідне співставлення, система може передати її на маркетплейс без проходження всього процесу ручного створення картки менеджером.




Коментарі