Masz dużą firmę i potrzebujesz zintegrować swój sklep internetowy z ERP? Jeden z naszych klientów, międzynarodowy sklep motoryzacyjny, poprosił nas o pomoc z dokładnie takim zleceniem!
Podjęliśmy się integracji ich platformy e-commerce (PrestaShop 8) z jednym z najbardziej zaawansowanych ERP na rynku – Microsoft Dynamics 360. Zobacz, co klient na tym zyskał!
Nasz klient to sklep, którego historia sięga 1993 roku. Na początku firma miała zaledwie trzech pracowników i niewielki magazyn. Dzisiaj to prężnie rozwijający się sklep internetowy, który ma ponad 100 tysięcy produktów w ofercie i ponad 100 stacjonarnych sklepów i reprezentację w całej Europie.
Tak rozbudowana struktura firmy wymaga odpowiedniego oprogramowania, które umożliwia sprawne zarządzanie codziennymi operacjami. Nasz klient korzysta z dwóch takich systemów:
- platformy e-commerce PrestaShop (PS) 8
- zaawansowanego systemu ERP Microsoft Dynamics 360.
Wyzwanie: Połączyć PrestaShop z najbardziej zaawansowanym ERP na rynku
Klient zwrócił się do nas jako do oficjalnego partnera PrestaShop z prośbą o przygotowanie integracji platformy e-commerce, z której korzysta firma (PrestaShop 8, która zadebiutowała po raz pierwszy w marcu 2023 roku) z ich systemem ERP (w tym wypadku Microsoft Dynamics 360).
Zlecenie było dość złożone, bowiem Dynamics 360 to jedno z najbardziej zaawansowanych rozwiązań tego typu na rynku, stworzone z myślą o dużych, międzynarodowych firmach (firma posiada przedstawicielstwa w ponad 30 krajach). Dzięki Dynamics 360 firma może sprawnie łączyć i zarządzać wszystkimi procesami związanymi z klientami, dostawcami i pracownikami poprzez integrację wszystkich procesów biznesowych.
Aby móc zyskać pełną kontrolę nad tym, co dzieje się w firmie, klientowi zależało na integracji także z platformą e-commerce. Jest to w pełni zrozumiały i naturalny krok, szczególnie w przypadku firmy, której większość operacji dzieje się online.
Jednak złożoność narzędzia Microsoft była dopiero początkiem wyzwania, bowiem klient posiada bardzo rozbudowane platformy B2C (dla klientów) i B2B (dla ich klientów, dystrybutorów i przedstawicieli handlowych), co sprawia, że trzeba było wziąć pod uwagę wiele różnych aspektów działalności firmy.
Integracja
Cały projekt zajął nam 10 tygodni. Pracowało nad nim 2 specjalistów, którzy zadbali o poprawną integrację Microsoft Dynamics 360 i PrestaShop 8. Główny cel integracji jaki został postawiony to całkowita synchronizacja danych na sklepie z zewnętrznymi systemami klienta tak aby cały proces wymiany oraz obsługi danych odbywał się automatycznie i umożliwiał zarządzanie sklepem z poziomu ERP, a przy tym aby klient miał też wgląd w logi mechanizmu.
Przed przystąpieniem do prac, sporządziliśmy dokładny schemat i wytyczne integracji, które towarzyszyły nam przez cały okres prac.
Najważniejsze elementy naszej pracy to:
- Tworzenie oraz synchronizacja produktów: Automatyczne przekazywanie danych o nowych produktach z Dynamics AX do PrestaShop oraz aktualizowanie ich po każdych zmianach produktu przez klienta w zewnętrznym systemie. Jednym słowem wykonanie pełnej kartoteki produktu bazując na danych dostarczonych z ERP..
- Przypisywanie zdjęć do produktów. Zdjęcia znajdują się w zewnętrznym systemie klienta więc zrealizowanie tego wymagało odpowiedniego mapowania danych tak aby powiązać zdjęcia z produktami, a następnie przeprowadzić cały proces skalowania obrazów.
- Tworzenie cech: Utworzenie pełnej kartotek produktów oraz filtrowanie produktów wymagało utworzenia oraz ciągłej aktualizacji cech. Tak samo jak w przypadku wszystkich pozostałych punktów dane pochodzą z zewnętrznych systemów.
- Tworzenie producentów: Przekazywanie informacji o producentach z Dynamics AX do PrestaShop.
- Tworzenie drzewa kategorii: Automatyczne tworzenie oraz aktualizowanie kategorii produktów w PrestaShop zgodnie z hierarchią produktową zdefiniowaną w Dynamics AX.
- Tworzenie zamówień: Przekazywanie zamówień z PrestaShop do Dynamics AX w celu dalszej obsługi.
- Aktualizacja statusów zamówień: Synchronizacja statusów zamówień pomiędzy obiema platformami tak, aby wszędzie były dostępne najnowsze dane.
- Możliwość zarządzania aktualizacjami z poziomu panelu administratora: Zapewnienie funkcji ręcznej synchronizacji danych z poziomu interfejsu administratora, działającej zarówno na poszczególne elementy tj. produkty, cechy, producenci itd jak i na całe ich zbiory. Dodatkową opcją jaką posiada integrator jest jego pełna konfiguracja umożliwiająca ustawienie specyficznego działania podczas wykonywania akcji na wybranych danych np.: możliwość wyłączenia nadpisywania opisu podczas aktualizacji produktu, czy wyłączenie opcji kasowania starych zdjęć. To tylko kilka przykładów ustawień w jakie został wyposażony synchronizator.
- Aktualizacja cen oraz stanów magazynowych. Jak w każdym integratorze tak w tym nie mogło zabraknąć podstawowej funkcjonalności jaką jest aktualizacja stanów produktu oraz cen.
- Logi z działania integratora: Rejestracja działań integracji w celu monitorowania i diagnozowania ewentualnych problemów.
Wszystkie dane z powyższej listy muszą zostać najpierw umieszczone na sklepie Prestashop 8, a następnie kontrolowane oraz na bieżąco aktualizowane wraz ze zmianami wprowadzanymi przez klienta w ich środowiskach. Szczerze przyznamy przy tak sporym asortymencie i ilości danych jakie należy obsłużyć stanowiło to nie lada wyzwanie, by zachować przy tym odpowiednią wydajność całego systemu tak aby nie był on odczuwalny do odwiedzających stronę.
Nasi programiści kierując się wyżej wymienionymi wytycznymi stworzyli integrator, który działa w formie modułu, co oznacza, że można go wyłączyć lub włączyć bez żadnych konsekwencji dla sklepu. Wykorzystanie nowoczesnej architektury symfony podczas tworzenia modułu umożliwia uruchomienie integratora na wersjach prestashop takich jak: 1.7, 8 oraz wyższych,, zachowując przy tym wszelkie wytyczne odnośnie tworzenia kodu. Warto również podkreślić, iż wszystkie akcje, które wykonywane są przez integrator wykorzystują wbudowane mechanizmy prestashop, dzięki temu są uruchamiane hooki oraz inne zdarzenia, które w przypadku działania bezpośrednio na bazie danych bądź z wykorzystaniem niestandardowych rozwiązań by zostały pominięte, a ostatecznie sklep by mógł nie działać zgodnie z zamierzeniem.
Dzięki tak szerokiej integracji można powiedzieć, że tak naprawdę cały sklep został oparty o dane które są wymieniane dwukierunkowo pomiędzy sklepem, a zewnętrznymi systemami co umożliwia jego obsługę zarówno w tradycyjny sposób z poziomu panelu administracyjnego jak również obsługę korzystając wyłącznie z systemów ERP używanych przez klienta bez konieczności wchodzenia do panelu administracyjnego, gdyż dane na bieżąco są przekazywane pomiędzy sklepem, a ERP, na czym również zależało klientowi.
Rezultat
Chociaż projekt był bardzo złożony, to udało nam się w pełni połączyć PS i Dynamics 360. Dzięki temu oba systemy działające w strukturach firmy wymieniają się wszystkimi potrzebnymi informacjami w czasie rzeczywistym, co pozwala naszemu klientowi na jeszcze bardziej efektywne zarządzanie firmą i różnymi gałęziami jej działalności. Nie ma też ryzyka rozbieżności w stanach magazynowych czy zamówieniach, co może być nie lada problemem przy tak dużej skali działalności.
Potrzebujesz zrealizować podobny projekt? A może zależy Ci na integracji innego narzędzia z PrestaShop? Napisz, porozmawiajmy!