Integracja Subiekta ze sklepem internetowym

Puszki połączone sznurkiem leżące na asfalcie

Integracja sklepu z systemem magazynowym jest najczęstszym powodem rozbudowy Subiekta. Rozstrzyga się na kilku decyzjach, nie na wyborze narzędzia.

Kierunki przepływu

Z systemu do sklepu: kartoteki, ceny, stany. Ze sklepu do systemu: zamówienia i dane klientów. Każdy kierunek ma inną częstotliwość i inne ryzyka.

Warto rozpisać to na kartce przed pierwszą linijką kodu: co, dokąd, jak często i co się dzieje, gdy przesyłka nie dojdzie. Większość awarii integracji to nie błąd przesyłania, tylko brak odpowiedzi na to ostatnie pytanie.

Który system jest nadrzędny

Zwykle magazynowy dla stanów i cen, sklep dla treści i zdjęć. Bez tego rozstrzygnięcia zmiany nadpisują się nawzajem.

Rozstrzygnięcie musi być rozłączne: dla każdego pola jedno miejsce, w którym się je zmienia. Jeśli nazwa towaru jest poprawiana i w systemie, i w sklepie, to przy każdej synchronizacji jedna z poprawek ginie. Ludzie przestają wtedy ufać obu systemom i zaczynają prowadzić trzeci — w arkuszu.

Stany

Wymagają najczęstszej aktualizacji. Przy szybkiej rotacji różnica godzinna oznacza sprzedaż towaru, którego nie ma.

Częstotliwość dobiera się do rotacji, nie do możliwości technicznych. Przy towarze schodzącym pojedynczo w tygodniu wysyłanie stanów co minutę tylko obciąża system. Przy sprzedaży ostatnich sztuk z serii nawet kilkanaście minut opóźnienia to za dużo. Częściowym zabezpieczeniem jest bufor: część stanu zostaje nieujawniona w sklepie, żeby wchłonąć różnice.

Przy wielu magazynach dochodzi pytanie, który z nich zasila sprzedaż wysyłkową. Wysyłanie sumy stanów jest najprostsze i najczęściej błędne.

Powiązanie kartotek

Po symbolu albo kodzie kreskowym. To powiązanie musi być jednoznaczne i utrzymywane — rozjazd tutaj psuje całą integrację.

Kluczowa zasada: identyfikator łączący nie może się zmieniać. Jeśli ktoś poprawi symbol towaru, bo „ładniej wygląda”, powiązanie pęka i pozycja zaczyna żyć w sklepie własnym życiem. Zmiana symbolu powinna być czynnością wyjątkową, wykonywaną świadomie i z poprawieniem drugiej strony.

Zamówienia

Pobierane cyklicznie, zamieniane na dokument w systemie. Powtórne pobranie tego samego zamówienia nie może utworzyć duplikatu.

Zabezpieczeniem jest zapamiętanie identyfikatora zamówienia po stronie systemu i sprawdzanie go przed wystawieniem dokumentu. Bez tego wystarczy jedno ponowne uruchomienie po awarii, żeby powstał drugi komplet dokumentów.

Obsługa błędów

Zamówienie z towarem spoza kartoteki albo z nieznanym sposobem płatności musi trafić do kolejki wymagającej decyzji, a nie zniknąć.

Kolejka potrzebuje właściciela i codziennego przeglądu. Kolejka, do której nikt nie zagląda, jest tym samym co brak kolejki, tylko z fałszywym poczuciem bezpieczeństwa.

Kiedy nie warto pisać własnej

Jeśli sklep stoi na popularnym silniku, a potrzeby są typowe, gotowe rozwiązanie zamyka temat szybciej i taniej. Podobnie gdy firma sprzedaje w kilku kanałach — wtedy sensowniejszy bywa układ z platformą wielokanałową pośrodku. Własna integracja ma sens przy nietypowym procesie, którego gotowe narzędzie nie obsługuje bez obchodzenia go z boku.