OpenCart

Product XML Sync - от конкретна нужда до решение за автоматизиран импорт в OpenCart

Автор: ProBG
Product XML Sync - от конкретна нужда до решение за автоматизиран импорт в OpenCart
Много от полезните софтуерни решения започват не като идея за самостоятелен продукт, а като отговор на конкретен бизнес проблем. Именно така започна и разработката на Product XML Sync - специализиран модул за OpenCart, създаден първоначално за нуждите на наш клиент baroborudvane.com.

baroborudvane.com е онлайн магазин, специализиран в продажбата на барово оборудване, консумативи и аксесоари. При подобен тип електронна търговия продуктовият каталог е динамичен - доставчиците променят цени, наличности, характеристики и продуктова информация, а нови артикули могат да бъдат добавяни регулярно.
Ръчното поддържане на тази информация в OpenCart постепенно се превръща в сериозен административен процес. Затова потърсихме начин голяма част от работата да бъде автоматизирана, без да губим контрола върху продуктите в магазина.
Проблемът: продуктовата информация се променя постоянно

Когато един онлайн магазин работи с продуктов каталог на външен доставчик, актуализирането на информацията ръчно създава няколко основни проблема.
  • Промените в цените трябва да бъдат следени и въвеждани ръчно.
  • Наличностите в магазина могат да се различават от тези на доставчика.
  • Добавянето на нови продукти изисква значително време.
  • Промените в заглавия, описания, модели и други продуктови данни трябва да бъдат проследявани.
  • Голям продуктов каталог увеличава вероятността от човешка грешка.
  • Ежедневната поддръжка на магазина отнема време, което може да бъде използвано за продажби и развитие на бизнеса.

Доставчикът разполагаше с продуктов XML източник, който съдържа необходимата информация. Задачата беше тези данни да могат да бъдат обработвани автоматично и синхронизирани с продуктовия каталог на OpenCart.

Решението: разработка на Product XML Sync
Вместо еднократен импорт разработихме собствен механизъм за синхронизация на продукти чрез XML. Така се появи първата версия на Product XML Sync.

Основната идея на модула е OpenCart да може периодично да прочита продуктовия XML файл на доставчика, да идентифицира продуктите и да извършва необходимите промени в каталога според предварително зададени правила.

Това превръща стандартния продуктов импорт в реален процес за синхронизация.

Не просто импорт, а синхронизация
При разработката беше важно да направим разграничение между еднократен импорт и постоянна синхронизация.

При стандартен импорт информацията се прочита веднъж и продуктите се добавят в магазина. След това връзката между външния източник и OpenCart практически приключва.

Product XML Sync е разработен с различна концепция - продуктът в OpenCart продължава да бъде свързан логически с продукта от XML източника. При следващо изпълнение модулът може да разпознае съществуващия продукт и да актуализира само необходимата информация.

Това позволява каталогът да бъде поддържан актуален без повторно създаване на продуктите и без натрупване на дублирани записи.

Как работи Product XML Sync
При изпълнение на синхронизацията модулът прочита XML файла на доставчика и обработва продуктовите записи. Данните се съпоставят с продуктите в OpenCart, след което системата определя дали даден продукт трябва да бъде създаден, обновен или обработен според конфигурацията на импорта.

В зависимост от структурата на XML източника могат да бъдат обработвани различни продуктови данни, включително:
  • идентификатор на продукта;
  • модел или продуктов код;
  • име на продукта;
  • описание;
  • цена;
  • наличност и количество;
  • производител;
  • категории;
  • основно изображение;
  • допълнителни изображения;
  • други данни, предоставяни от конкретния XML източник.


Тъй като XML форматите на различните доставчици не са еднакви, архитектурата на модула постепенно беше развивана така, че обработката да не бъде ограничена единствено до първоначалния XML файл, за който е създадена.

Автоматизация вместо ежедневна ръчна работа
Една от най-важните цели на проекта беше синхронизацията да не зависи от това администраторът ежедневно да влиза в OpenCart и да стартира импорт ръчно.

Product XML Sync позволява процесът да бъде използван като част от автоматизираната поддръжка на продуктовия каталог. Така магазинът може периодично да проверява XML източника и да обработва актуалните данни на доставчика.

На практика това значително намалява количеството ръчна работа при каталози с голям брой продукти и чести промени.

Цените - една от най-важните части на синхронизацията
Получаването на цена от доставчика само по себе си не е достатъчно за един реален онлайн магазин. Цената на доставчика невинаги трябва директно да се превърне в продажна цена.

Затова развитието на Product XML Sync включва и разширяване на логиката за работа с цените. Целта е върху импортираната цена да могат да бъдат прилагани ценови правила, преди тя да бъде използвана като крайна цена в OpenCart.

Това позволява автоматизацията да следва реалния бизнес модел на магазина, вместо магазинът просто да копира информацията от доставчика.

Контролът остава в OpenCart
При автоматичните импорти един от основните рискове е външният източник да започне безусловно да презаписва информацията в магазина.

Нашата цел при Product XML Sync е различна - автоматизацията трябва да спестява работа, но собственикът на магазина трябва да запази контрол върху каталога си.

Затова модулът се развива като система, в която може ясно да бъде определено кои данни идват от доставчика, как се обработват и какво трябва да се случи с вече съществуващите продукти.

Защо разработихме собствен OpenCart модул
На пазара съществуват различни решения за XML импорт, но при реален проект много бързо се появяват специфични изисквания - различна XML структура, специфичен идентификатор на продуктите, особен начин за определяне на цената, различна логика за наличностите или необходимост от бъдещо интегриране на още доставчици.

Използването на собствен модул ни даде няколко важни предимства:
  • пълен контрол върху процеса на синхронизация;
  • възможност за адаптиране към конкретния XML формат;
  • директна интеграция с OpenCart;
  • възможност за постепенно добавяне на нови правила;
  • по-лесна диагностика при проблем с конкретен продукт;
  • възможност за развитие на решението при промяна на бизнес процесите;
  • независимост от ограниченията на универсални импорт инструменти.


От клиентска разработка до самостоятелен проект
Product XML Sync е добър пример за начина, по който разработваме индивидуални решения в ProBG.

Проектът започна с конкретна задача за BarOborudvane.com - да бъде намалена ръчната работа по поддържане на продуктовия каталог и информацията от доставчика да бъде интегрирана по надежден начин в OpenCart.

В процеса на работа обаче стана ясно, че проблемът не е специфичен само за един магазин. Същата необходимост съществува при много онлайн търговци, които работят с производители, дистрибутори и складове, предоставящи продуктовите си данни чрез XML.

Затова първоначалната индивидуална разработка постепенно се превърна в отделен модул, който продължаваме да развиваме, подобряваме и адаптираме към различни версии на OpenCart и различни сценарии за синхронизация.

Развитие на модула
С времето Product XML Sync премина през множество подобрения. Освен добавянето на нови функционалности, важна част от разработката е проверката на съвместимостта с различни версии на OpenCart, подобряването на сигурността и по-надеждната обработка на големи продуктови каталози.

Разработката продължава и в момента. Сред посоките, върху които работим, са допълнителни правила за обработка на импортните данни, по-гъвкава работа с цените и разширяване на възможностите за използване на модула при различни доставчици.

Резултатът за BarOborudvane.com
Най-важният резултат от разработката не е самият XML импорт, а автоматизирането на един повтарящ се бизнес процес.

Вместо продуктовата информация от доставчика да бъде преглеждана и прехвърляна ръчно, OpenCart получава механизъм, чрез който тази информация може да бъде обработвана систематично.

Това означава по-малко ръчна работа, по-малък риск от грешки и много по-добра основа за поддържане на голям и постоянно променящ се продуктов каталог.

Когато стандартният OpenCart не е достатъчен
Product XML Sync показва едно от основните предимства на OpenCart - платформата може да бъде надграждана според реалните процеси на бизнеса.

Не всеки проблем може да бъде решен с готов модул. Понякога правилният подход е първо да бъде анализиран начинът, по който работи бизнесът, и след това да бъде разработена функционалност около него.

В ProBG разработваме индивидуални OpenCart модули, XML и API интеграции и системи за автоматизация, когато стандартните възможности на платформата не са достатъчни за конкретния проект.

Ако ваш доставчик предоставя продуктов каталог чрез XML и в момента актуализирате цени, наличности или продукти ръчно, подобен процес също може да бъде автоматизиран.

ProBG Web Studio - OpenCart разработка, индивидуални модули, интеграции и автоматизация на електронни магазини.

Изпратете запитване

Позволени типове: pdf, doc, docx, xls, xlsx, jpg, jpeg, png. Можете да добавите до 3 файла, максимум 10 MB за файл.

Имате идея за нов сайт или онлайн магазин?

Разкажете ни за проекта и ще обсъдим най-подходящото техническо решение.