Sprzedajesz przez BaseLinker i współpracujesz z hurtowniami? Pewnie znasz ten problem: hurtownia zmienia ceny albo wyprzedaje towar, a Ty dowiadujesz się o tym dopiero gdy zamówienie już poszło do klienta. Albo gorzej — gdy klient dzwoni że paczka nie dotrze bo produktu nie ma na stanie.
Ręczna aktualizacja setek produktów z kilku hurtowni to praca na godziny dziennie. Przy tysiącach pozycji — niemożliwa. W tym artykule opisuję jak zbudowałem narzędzie które robi to automatycznie: pobiera feedy XML z hurtowni, deduplikuje dane i aktualizuje stany oraz ceny zakupu w BaseLinker — bez żadnej ręcznej pracy.
Skąd się bierze problem
Hurtownie udostępniają feedy XML z aktualnymi cenami i dostępnością. Plik wygląda prosto — EAN, ilość, cena. Problem zaczyna się gdy:
- masz kilka hurtowni z tym samym towarem w różnych cenach
- ten sam produkt pojawia się wielokrotnie w jednym feedzie (sztuka, karton, paleta)
- hurtownia wycofuje produkt — plik po prostu przestaje go zawierać
- hurtownia ma awarię i zwraca pustą stronę HTML zamiast XML
Każdy z tych przypadków bez odpowiedniej obsługi prowadzi do błędnych danych w BaseLinker.
Logika która robi różnicę
Sama synchronizacja to nie problem — BaseLinker ma API. Trudna część to reguły biznesowe które decydują co właściwie zsynchronizować.
Ten sam EAN w dwóch hurtowniach? Program bierze niższą cenę zakupu. Jeśli tańszy dostawca ma towar na stanie — bierze jego ilość. Jeśli nie ma — sprawdza droższego. Gdy obaj dostawcy mają zerowy stan — produkt zostaje wyzerowany w BaseLinker, żebyś nie sprzedawał towaru którego nikt nie ma.
Ten sam EAN wielokrotnie w jednej hurtowni? Sztuka, karton, paleta to osobne rekordy z tym samym EAN-em ale różnymi ilościami. Zsumowanie byłoby błędem — w BaseLinker to jeden produkt. Program pomija takie przypadki i loguje ostrzeżenie żebyś wiedział że coś wymaga uwagi.
Produkt zniknął z feedu? Stan w BaseLinker zeruje się automatycznie. Bez tego klienci widzieliby dostępność towaru który hurtownia już wycofała.
Jeżeli Twój setup wymaga innej logiki — np. sumowania stanów z kilku magazynów, innego priorytetu dostawcy albo własnych reguł dla konkretnych kategorii produktów — napisz do nas. Wtyczka jest w pełni konfigurowalna i elastyczna na nową logikę biznesową.
→ Opisz swój przypadekZabezpieczenie które uratowało dane
Najważniejsze zabezpieczenie w całym programie to kontrola kompletności feedu.
Jeśli przy danym uruchomieniu feed zwraca mniej niż 70% produktów względem poprzedniego — program przerywa i nie wysyła nic do BaseLinker. Dlaczego to ważne?
Hurtownie czasem mają awarie i zamiast pliku XML zwracają pustą stronę błędu HTML. Bez tej kontroli program odczytałby "brak produktów w feedzie" jako stan faktyczny i wyzerował stany wszystkich produktów w BaseLinker. Jedno błędne uruchomienie, tysiące zerowych stanów, zamówienia które nie mogą być zrealizowane.
Jak wygląda praca z programem
Ręcznie — okno z przyciskiem uruchomienia i podglądem logów na żywo. Widzisz co się dzieje: ile produktów pobrano, ile zaktualizowano, jakie były wyjątki.
Automatycznie — przez Harmonogram zadań Windows. Ustawiasz raz np. co godzinę i program działa w tle bez żadnej interakcji. Stany i ceny aktualizują się same. Cały cykl dla 27 000 produktów z dwóch hurtowni trwa 3–5 sekund.
Dla kogo to rozwiązanie
To narzędzie ma sens jeśli:
- współpracujesz z co najmniej jedną hurtownią która udostępnia feed XML
- masz ponad kilkaset produktów i ręczna aktualizacja zajmuje Ci realny czas
- zdarzyło Ci się sprzedać towar którego nie było na stanie lub w złej cenie
Nie jest to gotowy produkt SaaS — to rozwiązanie wdrażane indywidualnie, skonfigurowane pod Twoje hurtownie i Twój cennik w BaseLinker.
Co dalej
Planowane rozszerzenia: raport email po każdej synchronizacji, tryb dry-run (symulacja bez zapisu do BaseLinker), obsługa wielu cenników per magazyn.
Jeśli masz podobny problem — opisz jakie hurtownie używasz i jak wygląda Twój setup w BaseLinker. Chętnie ocenię czy to rozwiązanie pasuje do Twojego przypadku.
→ Napisz do mnie w sprawie integracji BaseLinker