Prestashop – Subiekt GT / Subiekt Nexo – integracja

Integracja sklepu internetowego Prestashop z systemem Subiekt GT oraz Subiekt Nexo

Architektura połączenia między systemami

Integracja Prestashop z systemem magazynowym Subiekt GT (lub w nowszej wersji Subiekt Nexo) nie jest prostą sprawą, ponieważ Subiekt nie posiada żadnym interfejsów do komunikacji online z systemami zewnętrznymi. Z tego względu niezbędne jest oprogramowanie pośredniczące – Connector, które komunikuje się bezpośrednio z bazą danych Subiekta (Microsoft SQL) oraz z API systemu zewnętrznego. Connector jest napisany w języku C# jako Windows Service z interfejsem umożliwiającym jego konfigurację. Oprogramowanie jest instalowane na stacji roboczej z systemem Subiekt (w niektórym przypadkach na innym komputerze, który ma dostęp przez intranet do bazy danych Subiekta). Connector służy do integracji dwukierunkowej. Z jednej strony przyjmuje dane z Subiekta (np. informacje o nowych produktach czy aktualizacji stanów magazynowych, zwrotnie faktury PDF), które mogą być przekazane do sklepu online Prestashop. Z drugiej strony może odczytywać dane z Prestashop i przekazywać do Subiekta (np. dane o nowych klienta, zamówienia). Przy integracji oprogramowania ważne jest ustalenie strategii integracji. Jakie dane w którą stronę mają być przekazywane oraz jaki system jest bazą-matką. Należy również pamiętać, że programy magazynowe takie jak Subiekt mają zwykle ograniczone możliwości, jeśli chodzi o zarządzanie danymi marketingowymi, takimi jak sformatowane w html opisy produktów czy galerie zdjęć. Zwykle Subiekt trzyma podstawowe dane o produkcie, dane o kontrahentach oraz dane transakcyjne ze sprzedaży. Systemem przetrzymującym więcej informacji „miękkich” o produktach jest zwykle system e-commerce, np. Prestashop. Należy również wziąć pod uwagę synchronizację drzewa kategorii. Zwykle Subiekt posiada podział na kategorie, który jest bardzo techniczny i nie nadaje się do prezentacji w sklepie internetowym. Z tego względu najlepszym sposobem na zachowanie technicznych kategorii w Subiekt i prezentację logicznego podziału dla użytkownika sklepu online jest mapowanie kategorii. Interfejs konfiguracji Connectora umożliwia mapowanie kategorii w ten sposób, że do Prestashop trafiają już przetłumaczone kategorie.

Scenariusze integracji

Scenariuszy integracji może być oczywiście wiele. Należy je dobrze przemyśleć przed wdrożeniem, rozpatrując wszystkie use-cases.

Jednym ze scenariuszy integracyjnych może być scenariusz zakładający, że Subiekt jest dostawcą danych o nowych produktach, cenach i stanach magazynowych. Jest to jeden z najbardziej popularnych scenariuszy.

Prestashop – Subiekt GT Subiekt Nexo – integracja
Scenariusze integracji

Connector można tak ustawić, że co jakiś określony czas łączy się z bazą danych Subiekt oraz z Prestashop API i przesyła dane wg. ustalonego scenariusza.

Po dodaniu nowego produktu do Subiekt następuje automatyczny eksport do Prestashop. Przysyłane są takie dane jak nazwa, kod produktu, opis krótki, opis długi, kod dostawcy, EAN. Produkt przypisywany jest do odpowiednich gałęzi drzewa kategorii na podstawie mapowań pomiędzy Prestashop i Subiekt. Alternatywnie

Podczas procesu tworzenia nowego produktu w Prestashop automatycznie zakładani i przypisywani są producenci i dostawcy do produktu. Zwykle przy integracji pomijane są zdjęcia, ponieważ w większości przypadków w Subiekcie przetrzymywane są małe zdjęcia poglądowe produktów o niższej rozdzielczości i zwykle jest jedno zdjęcie per produkt. Synchronizacja obejmuje obsługę kombinacji atrybutów (warianty rozmiarowe, kolorystyczne, materiałowe etc.).

Oczywiście oprócz przesyłania informacji o nowych produktach system umożliwia synchronizację danych związanych z aktualizacją danych produktowych. W tym celu należy określić źródło – czy jest nim Subiekt i w tym systemie aktualizujemy dane produktowe. Czy źródłem jest Prestashop (tylko w przypadku gdy zdecydujemy się na synchronizację odwrotną, czyli Prestashop zasila Subiekt w produkty).

Synchronizator (Connector) obsługuje również pobieranie zamówień z Prestashop do Subiekta. Zamówienia zapisywane są jako dokumenty ZK na wybranym magazynie. Z Prestashop przekazywane są takie dane jak dane klienta, adres płatnika oraz adres dostawy a także lista zamawianych pozycji. Dodatkowo można określić, czy zamówienie rezerwuje stan magazynowy. Możliwe jest również zdefiniowanie usług z kartoteki towarów i usług powiązanych z kosztami dostawy i pobrania w sklepie. Jeśli chodzi o kontrahentów to Connector zapewnia dodawanie oraz aktualizację klientów w Subiekcie. Każdy klient posiada klucz wiążący jego dane i zamówienia pomiędzy systemem Prestashop i Subiekt. Connector obsługuje również powiązanie grup kontrahentów co jest istotne w przypadku grup kontrahentów posiadających poziomy rabatowania w Prestashop.

Synchronizacja stanów magazynowych

Aktualizowanie stanów magazynowych odbywa się w kierunku Subiekt -> Prestashop z tego względu, że to Subiekt wie, ile fizycznie towaru wysłano z magazynu. Obieg informacji jest więc taki:

– Prestashop zbiera zamówienia i następnie przez Connector przesyła do Subiekta

– obsługa magazynu weryfikuje czy dostępna na magazynie ilość produktów jest zgodna z zamówieniem i albo robi korektę albo kompletację zamówienia

– w Subiekcie pomniejsza się stan magazynowy produktów zgodnie ze zrealizowanym zamówieniem

– Connector przesyła stan magazynowy do Prestashop i koryguje w ten sposób pozycje magazynowe

– Ponieważ system obsługuje warianty produktowe możemy kontrolować informacje o faktycznym stanie magazynowym, np. butów Nike AIR w rozmiarze 45.

– Przy synchronizacji stanów magazynowych możemy również wybrać magazyn

– Przesyłanie stanów magazynowych do sklepu możemy być pomniejszone o rezerwację lub ta opcja może być wyłączona (ustawienia Connectora)

Synchronizacja stanów magazynowych

Synchronizacja cen pomiędzy Subiekt i Prestashop może być realizowana również w oparciu o powiązanie poziomów cen z Subiekta z grupami cenowymi w sklepie, co umożliwia automatyczną synchronizację cen dla grup kontrahentów z przydzielonymi rabatami.

Synchronizacja statusów zamówień jest możliwa po odpowiednim zmapowaniu statusów zamówień Prestashop ze statusami zamówień Subiekt.

Jeśli Prestashop jest zainstalowana w konwencji multistore / multishop, czyli jeden panel administracyjny ze wspólną bazą produktową, ale z wieloma domenami i szablonami sklepowymi to również można wykorzystać Connector do synchronizacji bazy Subiekta z Prestashop multistore.

System wyposażony jest w logowanie i raportowanie błędów synchronizacji, dzięki czemu możemy problemy diagnozować już we wcześniej fazie. Connector pracuje bezpośrednio na bazie Subiekta, a więc nie wymaga dodatkowo oprogramowania Sfera do działania. W przypadku gdy standardowe rozwiązanie nie wyczerpuje tematu synchronizacji jesteśmy w stanie przerobić Connector pod specyficzne potrzeby Klienta. Mamy na koncie kilka wdrożeń w których musieliśmy dostosowywać Connector do wymagań biznesu Zamawiającego.