Integracja sklepu z hurtownią – kiedy gotowa wtyczka nie wystarcza

Spis treści

Rynek odpowiada na to pytanie chórem: gotowe integracje. Platformy sklepowe chwalą się listami liczącymi setki podłączonych hurtowni, katalogi modułów pękają od wtyczek „podłącz w 5 minut”. I bardzo dobrze, bo w większości przypadków to wystarcza i nie ma powodu, żeby płacić za cokolwiek innego.

Ten wpis jest o mniejszości. O sytuacjach, w których gotowa integracja została podłączona, formalnie działa, a mimo to ktoś w firmie dalej poprawia dane ręcznie. Chodzi o rozpoznanie takiego przypadku odpowiednio wcześnie, najlepiej przed zakupem, a nie po trzech miesiącach.

Co właściwie robi integracja z hurtownią

Zacznijmy od tego, co powinno się dziać automatycznie: produkty dostawcy trafiają do sklepu wraz z opisami, zdjęciami i parametrami, sklep wie, czego dostawca nie ma, i nie sprzedaje towaru, którego nie dostanie, zmiana cennika u dostawcy przelicza się na ceny w sklepie, zamówienie klienta trafia do dostawcy, a informacja o wysyłce i numerze przesyłki wraca do sklepu.

Gotowa integracja robi to wszystko, o ile Twój sposób działania mieści się w tym, co jej autor przewidział. Cała rzecz w tym słowie: przewidział.

Sześć sygnałów, że gotowa wtyczka nie wystarczy

Najkrótsza wersja tego wpisu jest w tabeli. Jeśli rozpoznajesz u siebie choć dwa wiersze, warto policzyć, ile kosztuje ręczna praca, którą wykonuje ktoś w firmie co tydzień.

Sygnał Po czym go poznasz Czego brakuje
Kategorie dostawcy to nie Twoje kategorie Ten sam typ produktu leży w trzech miejscach, filtry nie działają Warstwy mapowania kategorii i parametrów
Ceny to nie prosty narzut Ktoś po każdej aktualizacji cennika poprawia ceny ręcznie Reguł cenowych zależnych od kategorii, marży i umów
Część asortymentu nie powinna trafiać do sklepu Ręczne ukrywanie produktów po każdym imporcie Reguł wykluczeń złożonych z kilku warunków
Format danych spoza standardu Dane przychodzą mailem, po FTP albo w pliku z datą w nazwie Własnej warstwy pobierania i przetwarzania
Aktualizacja raz na dobę to za rzadko Regularne zwroty za towar, którego już nie ma Rozdzielenia importu katalogu od importu stanów
Brak reakcji na awarię dostawcy Po weekendzie połowa katalogu ma stan zerowy Kontroli poprawności danych przed importem

Kategorie dostawcy to nie są Twoje kategorie

Najczęstszy i najbardziej niedoceniany problem. Hurtownia układa katalog pod siebie, zwykle według producentów albo według własnej logiki magazynowej. Ty układasz sklep pod klienta, który szuka rozwiązania swojego problemu, a nie marki.

Gotowa integracja zaimportuje strukturę dostawcy. Jeśli sprzedajesz od jednego dostawcy i jego układ Ci odpowiada, świetnie. Jeśli bierzesz towar z trzech hurtowni, dostajesz trzy niekompatybilne drzewa kategorii w jednym sklepie, a klient nie znajduje tego, po co przyszedł. Rozwiązaniem jest mapowanie, czyli warstwa tłumacząca kategorie i parametry dostawcy na Twoją strukturę i utrzymująca to tłumaczenie przy każdej aktualizacji. Przy dwóch dostawcach da się to jeszcze przeżyć ręcznie. Przy pięciu nie.

Ceny to nie jest prosty narzut

Gotowe integracje zwykle oferują narzut procentowy, czasem z progami. Wystarcza to do momentu, w którym Twoja polityka cenowa jest prosta. Przestaje wystarczać, kiedy narzut zależy od kategorii albo producenta zamiast od ceny zakupu, kiedy masz umowy z klientami na indywidualne warunki, kiedy część asortymentu ma ceny narzucone przez producenta, kiedy pilnujesz marży minimalnej, poniżej której produkt ma zniknąć ze sklepu zamiast sprzedawać się ze stratą, albo kiedy sprzedajesz zestawy złożone z pozycji od różnych dostawców.

Każdy z tych przypadków z osobna wygląda niewinnie. Każdy wykracza poza „narzut 25%”. Objaw, po którym się to poznaje, jest jeden: ktoś w firmie po każdej aktualizacji cennika wchodzi do panelu i poprawia ceny ręcznie. Jeśli tak jest, integracja nie jest skończona. Jest w połowie, a drugą połowę robi człowiek.

Dane w formacie, którego moduł nie czyta

Standardem jest plik XML albo CSV pod stałym adresem, aktualizowany raz na dobę, i większość gotowych integracji zakłada dokładnie to. Rzeczywistość bywa inna. Dostawca wystawia dane przez interfejs wymagający logowania i tokenu, wysyła je mailem, udostępnia na serwerze FTP w pliku, którego nazwa zawiera dzisiejszą datę, albo oddaje wszystko naraz w jednym pliku ważącym kilkaset megabajtów, przy którym import kończy się przekroczeniem limitu czasu.

Zdarza się też wariant najbardziej uciążliwy: dane są poprawne, ale niekompletne. Stany magazynowe w jednym pliku, ceny w drugim, opisy w trzecim, a zdjęcia trzeba pobierać osobno, po jednym na produkt. Żadna z tych sytuacji nie jest nie do rozwiązania. Wszystkie są poza tym, co obsłuży wtyczka z półki.

Co się dzieje, kiedy hurtownia nie odpowiada

Pytanie, którego prawie nikt nie zadaje przed wdrożeniem, a które decyduje o tym, czy sklep przetrwa awarię po drugiej stronie. Dostawca ma przerwę techniczną i plik z danymi jest niedostępny. Albo, gorzej, dostępny, ale pusty. Albo obcięty w połowie, bo eksport padł w trakcie.

Integracja napisana bez wyobraźni zaimportuje to, co dostała. Efekt: połowa katalogu z zerowym stanem magazynowym, czyli sklep, który z dnia na dzień przestaje sprzedawać. Zdarza się to w weekendy i święta, kiedy nikogo nie ma, żeby zauważyć.

Poprawnie napisana integracja sprawdza, czy dane wyglądają rozsądnie, zanim je przyjmie: czy plik ma spodziewany rozmiar, czy liczba produktów nie spadła nagle o połowę, czy nie brakuje pól obowiązkowych. Jeśli coś jest nie tak, zostawia poprzednie dane i wysyła powiadomienie. To jedna z tych rzeczy, które w wycenie wyglądają na zbędny dodatek, a przy pierwszej awarii dostawcy zwracają się w całości.

Gdzie jest granica tego, co robimy

Żeby było jasno, bo to oszczędza czas obu stronom. Integracji z systemami ERP nie wykonujemy. Subiekt, Comarch i podobne systemy obsługują wyspecjalizowane firmy, które robią to na co dzień, i nie ma sensu, żebyśmy uczyli się cudzego rzemiosła na Twoim projekcie.

Integracje z hurtowniami po pliku XML, CSV i po API robimy i to jest nasz obszar. Rekomendujemy w nich dedykowane moduły pobierające dane, a kosztu wdrożenia takiego modułu nie doliczamy do wyceny sklepu, bo konfiguruje go w głównej mierze klient, który zna swoją politykę cenową lepiej niż ktokolwiek z zewnątrz.

Kiedy naprawdę wystarczy gotowa integracja

Żeby nie wyszło, że namawiamy każdego na dedykowany kod, bo nie namawiamy. Gotowa integracja jest właściwym wyborem, kiedy bierzesz towar od jednego dostawcy, z którym moduł ma sprawdzone połączenie, jego struktura kategorii jest do przyjęcia, polityka cenowa mieści się w prostym narzucie, sprzedajesz cały katalog albo wykluczasz go w oczywisty sposób, dobowa aktualizacja Ci wystarcza, a dostawca oddaje dane w standardowym formacie.

W takiej sytuacji pisanie własnego modułu to wyrzucanie pieniędzy. Sami odradzamy to klientom regularnie.

Pięć pytań przed zakupem

Zanim kupisz moduł albo zamówisz integrację, przejdź przez pięć pytań. Odpowiedzi kosztują godzinę, a decyzję zmieniają całkowicie.

  1. W jakim formacie dostawca oddaje dane i jak często je aktualizuje? Poproś o dokumentację i przykładowy plik. Nie o opis, o plik.
  2. Ile jest źródeł towaru? Jedno to inny projekt niż cztery.
  3. Jak wygląda Twoja reguła cenowa? Spisz ją. Jeśli nie mieści się w jednym zdaniu, prosty narzut nie wystarczy.
  4. Co ma nie trafiać do sklepu? Spisz reguły wykluczeń.
  5. Co ma się stać, kiedy dane nie przyjdą? Jeśli nikt nie zna odpowiedzi, to znaczy, że odpowiedzią jest „sklep przestanie sprzedawać”.

Rozwiązanie pośrednie, o którym się zapomina

Wybór nie jest binarny. Częsty i sensowny wariant to gotowy moduł plus warstwa własna: integrację pobierającą dane zostawiasz gotową, a dopisujesz tylko to, czego nie obsługuje, czyli mapowanie kategorii, reguły cenowe, filtry wykluczeń i kontrolę poprawności danych.

Wychodzi taniej niż pisanie wszystkiego od zera i nie zostawia Cię z ręczną robotą co tydzień. Zanim zaproponujemy klientowi dedykowany moduł, zawsze sprawdzamy, czy da się zejść tą drogą. Dedykowany kod to nie tylko koszt napisania, ale i zobowiązanie na lata, bo ktoś musi go utrzymywać przy kolejnych wersjach platformy.


Masz integrację, która działa tylko na papierze? Napisz, z jakiej hurtowni bierzesz towar i co po każdej aktualizacji trzeba poprawiać ręcznie. Powiemy, czy da się to naprawić w istniejącym module, czy trzeba dopisać własną warstwę, również wtedy, kiedy odpowiedź brzmi „nic nie trzeba, wystarczy zmienić ustawienie”.

Więcej o zakresie prac na stronie integracji sklepu internetowego. Jeśli integracja ma powstać razem z nowym sklepem, zajrzyj do wpisu o tym, ile kosztuje sklep na PrestaShop. A jeśli podejrzewasz, że problem leży głębiej niż w samej integracji, zacznij od audytu technicznego sklepu.