Pobranie zamówienia
BaseLinker odbiera zamówienie z marketplace wraz z pozycjami, ilościami i danymi wysyłki.
Gdy ten sam towar leży na Allegro, Amazonie i w sklepie, każdy kanał próbuje sprzedać pełną dostępność. Integracja BaseLinker–Shoper ma sprawić, że sprzedaż w jednym miejscu natychmiast zmniejsza dostępność we wszystkich pozostałych — i że nikt nie nadpisuje stanu w drugą stronę.
To jest realna sekwencja, którą projektujemy i którą potem widać w logach. Każdy krok ma własny warunek poprawności — jeżeli któryś zawiedzie, wiadomo dokładnie który.
BaseLinker odbiera zamówienie z marketplace wraz z pozycjami, ilościami i danymi wysyłki.
Każda pozycja szuka swojego odpowiednika po SKU, a gdy go brak — po EAN. Brak dopasowania trafia do wyjątków, nie do cichego pominięcia.
Stan spada w systemie, który jest jego źródłem prawdy. Pozostałe kanały dostają wynik, a nie własne wyliczenie.
Nowa dostępność idzie przez Shoper API paczką, z ponowieniem przy błędzie sieci i zapisem odpowiedzi w logu.
Zmiana statusu i numer przewozowy wracają do kanału sprzedaży, żeby kupujący nie pytał o przesyłkę mailem.
Tabelę wypełniamy razem z klientem przed pierwszą linijką kodu. Bez niej integracja działa do pierwszej kolizji, a potem zaczyna się szukanie, „dlaczego cena wróciła".
| Dane | Źródło prawdy | Kierunek | Częstotliwość |
|---|---|---|---|
| Karta produktu, opis, zdjęcia | Shoper | Shoper → BaseLinker | przy zmianie |
| Stan magazynowy | BaseLinker | BaseLinker → Shoper | po każdym zamówieniu |
| Cena detaliczna w sklepie | Shoper | bez synchronizacji | — |
| Cena na marketplace | BaseLinker | bez synchronizacji | — |
| Zamówienia z marketplace | BaseLinker | BaseLinker → Shoper (opcjonalnie) | na zdarzenie |
| Statusy i numer przewozowy | BaseLinker | BaseLinker → kanał sprzedaży | na zdarzenie |
Rozdzielenie ceny detalicznej od marketplace’owej jest celowe: prowizje i strategia cenowa są tam inne, a próba trzymania jednej ceny w obu miejscach kończy się ręcznym poprawianiem po każdej promocji.
Rozmiar w Shoperze dzieli SKU z produktem nadrzędnym, więc integracja aktualizuje rodzica albo pomija wariant. Efekt: stan rozjeżdża się tylko na części rozmiarów.
Kod EAN przypisany do produktu, nie do wariantu, uniemożliwia dopasowanie zamówienia z marketplace i wypycha pozycje do ręcznej obsługi.
Pełny przelot katalogu w środku dnia wyczerpuje limit i część aktualizacji przepada bez śladu, jeżeli proces nie ma kolejki i ponowień.
Stan wraca cyklicznie do poprzedniej wartości. To zawsze oznacza dwa zapisy do jednego pola — nie „opóźnienie synchronizacji".
Przy kilkudziesięciu tysiącach SKU nie da się aktualizować wszystkiego przy każdej zmianie. Proces musi wiedzieć, co faktycznie się zmieniło, i rozłożyć zapisy w czasie.
BaseLinker ma gotowy moduł do Shopera. Problem nie polega na jego uruchomieniu, tylko na tym, żeby po uruchomieniu dane w obu systemach nadal się zgadzały. To jest właściwy zakres pracy.
Etap drugi jest tym, który najczęściej decyduje o wyniku. Jeżeli identyfikatory są nieuporządkowane, żadna konfiguracja nie pomoże — patrz SKU czy EAN w integracjach.
Na tej podstawie przygotujemy tabelę źródła prawdy i pokażemy, gdzie obecna konfiguracja może się gryźć.