Integracja Baselinker – PrestaShop

Podstawowe założenia, wytyczne i instrukcje

Ostatnia aktualizacja: 09-2019

Gdyby chodziło o relacje międzyludzkie, integracja Baselinker – PrestaShop byłaby bardzo dobrym małżeństwem. Z jednej strony mamy bowiem świetny integrator kanałów dystrybucji internetowej, a z drugiej najlepszy silnik sklepowy, z jakim się spotkałem. Oczywiście, tak jak i w normalnym życiu, tak i w świecie wirtualnym nie ma równouprawnienia i jest sztywny podział ról (choć chciałoby się inaczej). Ale do meritum. Baselinker jest integratorem, a PrestaShop to silnik sklepowy. Baselinker jest centrum sprzedażowo-logistycznym, a PrestaShop jest kanałem dystrybucji internetowej. Oczywiście, każdy z tych systemów ma swoje zalety, jak i wady, ale w ogólnym rozrachunku stanowią zgrany i efektywny zespół.

Cele są najważniejsze!

Cel integracji Baselinker – Prestashop powinien być dalekosiężny, bo możliwe jest takie skonfigurowanie systemów, aby wykorzystać ich 100% mocy. Stąd, tak jak zostało to nakreślone powyżej, w miarę możliwości zawsze należy dążyć do tego, aby to Baselinker, jako integrator, był sercem systemu połączonych kanałów e-commerce. PrestaShop to tylko jeden z możliwych kanałów dystrybucji internetowej, który można podłączyć do integratora.

Wciąż na dwa fronty

Jedyną znaną mi wadą tego "małżeństwa" jest fakt, iż Baselinker nie może odgrywać roli magazynu dla PrestaShop i innych kanałów sprzedażowych (tzn. może ale nie wtedy, kiedy jednym z kanałów jest sklep). Choć Baselinker ma swój wewnętrzny magazyn, tak w rzeczywistości pełni on rolę zespołu formularzy produktowych, pozwalających na zautomatyzowanie akcji wystawiania produktów na różne serwisy aukcyjne i serwisy typu marketplace. Sedno problemu polega na tym, że zmiana stanu magazynowego w magazynie wewnętrznym Baselinker nie będzie skutkować zmianą stanu ilościowego produktów wystawionych na aukcjach internetowych i dostępnych do zakupu na sklepie. Jeśli wszystko jest dobrze skonfigurowane wokół Baselinker, można zsynchronizować zmiany stanów ilościowych na różnych kanałach sprzedażowych, ale system automatycznej kontroli stanów magazynowych działa tylko wtedy, kiedy stany magazynowe zmienia się od strony sklepu internetowego zintegrowanego z Baselinker.

Problem dwóch sklepów

W konsekwencji dochodzi do potrzeby wykonywania operacji sprzedażowo-logistycznych w co najmniej dwóch miejscach, tj. opieka nad zamówieniami i wystawianie aukcji może odbywać się od strony Baselinker, ale praca na magazynie i kontrola stanów magazynowych musi być przeprowadzana od strony PrestaShop. W związku tym rodzi się ograniczenie w automatyzacji pracy w systemie kanałów e-commerce, w skład którego wchodzi więcej aniżeli jeden sklep internetowy. Tzn. istnieje koło ratunkowe, bo PrestaShop oferuje tzw. multistore, czyli możliwość zbudowania kilku sklepów w obrębie jednego magazynu. No ale jeśli np. chcielibyśmy postawić drugi sklep i wybralibyśmy do tego inny silnik sklepu internetowego, to rodzi się problem.

Rozwiązania alternatywne

Oczywiście i ten problem daje się rozwiązać, ale nie zawsze. Zależy to w głównej mierze od tego, jaki silnik sklepu internetowego wybierzemy, a w rzeczy samej od tego, jakie możliwości daje API tego sklepu, czyli interfejsu programistycznego tej aplikacji. Np. Shoper, choć bardzo dobre rozwiązanie komercyjne, tak ma swoje ograniczenia, na które należy zwracać uwagę od samego początku. API Shoper na dzień 13.06.2019 nie pozwala na zmianę stanów magazynowych na sklepie pod wpływem zmian stanów na aukcjach zintegrowanych z kartami produktowymi na tym sklepie. Jeśli więc zmienimy stan na PrestaShop, co wychwyci Baselinker, i na podstawie czego BL zmieni stan ilościowy na aukcji, tak Shoper nie odbierze tej zmiany. W takim systemie kanałów e-commerce zintegrowanych wokół BL z dwoma sklepami internetowymi (PrestaShop i Shoper), to Shoper musiałby pełnić rolę magazynu, na którym można wykonywać zmiany stanów ilościowych i de facto sterować systemem automatycznej kontroli stanów magazynowych. Działoby się tak dlatego, że z tego co mi wiadomo, istnieją odpowiednie wtyczki i moduły pozwalające na to, aby sklep PrestaShop reagował na zmiany stanów aukcyjnych. Należy jednak dopowiedzieć i to, że przeszkodą na to, aby zmiany na magazynie Shoper zachodziły automatycznie pod wpływem zmian stanów ilościowych na serwisie aukcyjnym, jest tylko brak takiego modułu (gotowego rozwiązania). Niemniej jednak dobry programista jest w stanie wykonać takie oprogramowanie i zrobić swojego rodzaju obejście dla tego problemu. Shoper poleca AllChecker, ale program ten nie potrafi dokonywać zmian ilościowych na magazynie, tylko informuje nas o różnicach, co jest nade wszystko niewystarczające. Także, podłączenie dwóch sklepów do systemu kanałów e-commerce zintegrowanych z Baselinker może być kłopotliwe dla zachowania automatycznej kontroli stanów magazynowych (chyba, że zdecydujemy się na rozwiązanie typu multistore PrestaShop) lub skorzystamy z obejścia modułowego, jakieś wtyczki albo dedykowanego rozwiązania programistycznego. Warte podkreślenia jest jednak to, że interfejsy API stale są rozwijane, a programiści pracują nad rozbudową ich funkcji, co skutkuje tym, iż sposoby konfiguracji, integracji i w zasadzie możliwości automatyzacji obsługi kanałów e-commerce ulegają ciągłej modyfikacji na in plus.

Wytyczne do integracji Baselinker – Prestashop

Aby pomiędzy Baselinker i PrestaShop coś zaiskrzyło, należy wybrać spośród danych w BL wtyczek, wtyczkę integracyjną PrestaShop i odpowiednio ją ustawić. Poza standardowymi ustawieniami należy skopiować klucz API, ściągnąć plik konfiguracyjny, zapisać go na serwerze, w folderze PrestaShop, uzupełnić dane w tym pliku i podać w Baselinker link do tego pliku. Dzięki temu Baselinker znajdzie stałe połączenie ze sklepem PrestaShop.

Kiedy mamy już ustawioną podstawową konfigurację tej integracji, możemy przejść do realizacji procesu automatyzacji działań logistycznych, marketingowych i sprzedażowych. Warto przy tym pamiętać, że podstawą błędów w testach automatyzacji tych działań może być błędnie uzupelniony plik konfiguracyjny lub inny błąd na wcześniejszym etapie prac konfiguracyjnych i integracyjnych. Dopiero potem winy można szukać w pracach bieżących (chociaż w rzeczywistości jest na odwrót).





Automatyczna kontrola zamówień

Podstawowym zadaniem jest ustawienie integracji PrestaShop w taki sposób, aby zamówienia spływały do Baselinker. W innym przypadku, rola Baselinker ograniczona zostanie do minimum i realizacja kolejnych celów będzie stała pod dużym znakiem zapytania.

Jeśli zamówienia ze sklepu internetowego PrestaShop będą pobierane do Baselinker, to możliwa będzie integracja innych aplikacji sprzedażowych, marketingowych, logistycznych, itp.. W zasadzie jeśli tego nie zrobimy, to wybieramy inną drogę, drogę modułów i wtyczek dla PrestaShop.

Dla przykładu, jeśli dodatkowo chcielibyśmy zautomatyzować relacje logistyczne z firmą kurierską lub np. zautomatyzować relacje rozrachunkowe z biurem podatkowym, to o ile zamówienia będą spływały do Baselinker, możliwe i celowe będzie dodanie modułów tych firm (z kolekcji modułów Baselinker) i szybkie zautomatyzowanie tych procesów. W alternatywnym przypadku, jeśli zamówienia nie będą spływały do BL, takich modułów należy szukać w obrębie usług dla PrestaShop i instalować je na sklepie i wokół nich integrować relacje. To jest wóz albo przewóz.

Automatyczna kontrola stanów magazynowych

Jeśli juz podjęliśmy decyzję co do tego, gdzie będziemy tworzyć centrum dystrybucyjne, i jeśli Baselinker zwyciężył w tej potyczce, to możemy świadomie podejść do procesu automatyzacji kontroli stanów magazynowych. Tzn. pomiędzy automatyzacją zamówień i stanów magazynowych nie ma właściwej zależności przyczynowo-skutkowej, ale dzięki temu, że zdecydowaliśmy, iż zamówienia będą spływać do Baselinker, tak zakładamy, że to Baselinker będzie naszym centrum dystrybucyjnym i to w obrębie niego powinniśmy zsynchronizować stany magazynowe.

Z ideowego punktu widzenia, należy odpowiedzieć sobie na pytanie: czy chcemy aby zmiana stanu magazynowego na sklepie skutkowała zmianą stanu ilościowego w innym kanale dystrybucyjnym zintegrowanym z Baselinker (głównie chodzi o serwisy internetowe, bo jak wyżej pisałem, ze sklepami jest problem)? I drugim pytaniem, które należy zadać równolegle i znaleźć nań odpowiedź, jest takie: czy chcemy, aby zmiany stanów ilościowych na aukcjach internetowych wpływały na zmianę stanu magazynowego sklepu?

I jeśli odpowiemy sobie pozytywnie na te dwa pytania, to znaczy, że będziemy budować automatyczną kontrolę stanów magazynowych opartą na obustronnej synchronizacji (jest to synchronizacja pełna), gdzie jedna zmiana rodzi drugą przy zachowaniu poślizgów czasowych i zasada pracy w obrębie systemu. Podstawowa zasada, która tyczy się automatycznej kontroli stanów magazynowych, jest taka, że wszelkie zmiany w stanach ilościowych należy dokonywać od strony PrestaShop, czyli na magazynie sklepu internetowego PrestaShop. O ograniczeniu tym pisaliśmy wyżej. Niestety prace magazynowe i zamówienia musimy wykonywać w dwóch różnych miejscach.

Automatyczna kontrola cen

Jeśli zrobiliśmy te dwa kroki, które zostały opisane powyżej, to zrobienie tego kroku będzie celowe. Jeśli chcemy, aby w każdym z kanałów dystrybucji internetowej były takie same ceny produktów, to musimy zsynchronizować ceny w tych kanałach. I podobnie, jak w przypadku synchronizacji stanów magazynowych, zasada utrzymania automatycznej kontroli nad cenami, jest taka, że ceny należy zmieniać na sklepie internetowym PrestaShop. Jeśli zmiany wprowadzimy gdzie indziej, to popsujemy automatyzcję.

W odróżnieniu od zmiany stanów magazynowych, informacja o zmianie cen idzie do kanałów dystrybucyjnych znacznie wolniej i następuje raz na dobę (24h) w godzinach nocnych. Dla jasności, zmiany stanów magazynowych w BL mogą zachodzić w zależności od wybranej opcji: raz na 8 godzin, raz na 1 godzinę lub co 10 minut.

Masowe wystawianie aukcji

Integrując PrestaShop z Baselinker i wybierając drogę, gdzie Baselinker pełni rolę centrum dystrybucyjnego, otrzymujemy możliwość pobierania produktów ze sklepu internetowego i ich wirtualnego osadzania w Baselinker. Baselinker pobiera produkty ze sklepu "w locie". Nie tworzy rzeczywistych kart produktowych na swoim wewnętrznym magazynie, nie pozwala na ich edycję w obrębie magazynu wewnętrznego, tylko tworzy takie niby lustrzane odbicie magazynu sklepowego, na podstawie którego możliwe staje się wystawianie aukcji z poziomu BL.

Jeśli chcemy wystawiać aukcje na bazie danych z kart produktowych stworzonych na sklepie PrestaShop (treści i zdjęcia), to musimy zsynchronizować odbiór tych danych w Baselinker. Udana synchronizacja pozwali na dostrzeganie tych produktów w zarządzaniu aukcjami. I stąd już prosta droga do spełnienia idei mitu "jednego kliknięcia" bowiem, można zaznaczyć wszystkie produkty i wystawić je na serwis aukcyjny. Jedynym uniedogodnieniem jest potrzeba uzupełnienia parametrów. Poza tym, aby akcja ta się powiodła, musimy mieć oczywiście skonfigurowaną integrację serwisu aukcyjnego z Baselinker.

I to w zasadzie tyle, jeżeli chodzi o podstawe założenia dotyczące integracji PrestaShop i Baselinker. Jeśli na poważnie myśli się o sprzedaży internetowej, to należy na poważnie zabrać się za konfigurację, integrację i automatyzację systemu kanałów dystrybucyjnych w Internecie. Podstawowymi elementami tego systemu powinnien być Baselinker i sklep internetowy PrestaShop. Oczywiście do tego należy dołożyć Allegro, eBay i Amazon i inne aplikacje niezbędne do prowadzenia firmy handlowej... Ale to już inna bajka.




osoba do wystawiania aukcji internetowych

Michał Chechelski jest webmasterem z ponad 10 letnim stażem. Z wykształcenia specjalista ds. zarządzania i marketingu. Z doświadczenia zawodowego webmaster i copywriter. Właściciel firmy web3promagraco. Realizuje prace z zakresu dywersyfikacji kanałów dystrybucji internetowej – wystawia aukcje internetowe, dodaje produkty na sklepy, wykonuje konfiguracje, stawia sklepy internetowe i je pozycjonuje. Pracuje samodzielnie lub w zespole projektowym.