Spis treści
Integracja sklepu z hurtownią przez EDI zaczyna się od ustaleń, a nie od programowania: jakie dane płyną w którą stronę, jak często, który system ma ostatnie słowo i co się dzieje, gdy coś nie dojdzie. Jeśli te odpowiedzi nie są zapisane przed startem, sklep sprzedaje towar, którego nie ma, albo pokazuje ceny sprzed tygodnia. Poniżej opisuję, co ustalić z hurtownią i z zespołem sklepu, zanim ktokolwiek napisze pierwszą linię kodu.
Opieram się na integracji, którą prowadziłem dla domowaapteczka.pl, apteki internetowej działającej na PrestaShop. Sklep łączyliśmy z hurtownią farmaceutyczną i jej panelem EDI, a w układzie jest też Baselinker. To dobry przykład, bo w aptece błędny stan albo cena szybko zamienia się w niezadowolonego klienta.
Co płynie przez EDI i jak często
EDI (elektroniczna wymiana danych) to uporządkowany sposób przesyłania dokumentów handlowych między firmami w ustalonym formacie, bez ręcznego przepisywania. W integracji sklepu z hurtownią zwykle płyną cztery rodzaje danych:
| Dane | Kierunek | Na co uważać |
|---|---|---|
| Stany magazynowe | z hurtowni do sklepu | częstotliwość aktualizacji i rezerwa na produkty schodzące szybko |
| Ceny zakupu | z hurtowni do sklepu | kto ustala cenę sprzedaży i czy zmienia się ona automatycznie |
| Zamówienia | ze sklepu do hurtowni | moment wysłania, łączenie zamówień, potwierdzenie przyjęcia |
| Dokumenty | z hurtowni do sklepu | faktury, korekty, informacja o brakach w dostawie |
Dla każdego rodzaju trzeba ustalić częstotliwość. Stany zmieniają się najszybciej, więc aktualizuje się je najczęściej. Ceny zakupu zmieniają się rzadziej, ale ich zmiana wpływa na marżę, więc warto wiedzieć, kiedy hurtownia je publikuje. Zamówienia można wysyłać od razu albo partiami o ustalonych godzinach, zależnie od tego, jak hurtownia je kompletuje.
Kto jest źródłem prawdy: sklep, Baselinker czy hurtownia
Gdy w układzie są trzy systemy, każdy rodzaj danych musi mieć jednego właściciela. Inaczej dwa systemy nadpisują sobie nawzajem stany albo ceny, a zespół sklepu nie wie, gdzie wprowadzić poprawkę.
Przed startem spisz dla każdego pola, kto je zmienia, a kto tylko czyta:
- Stany: zwykle źródłem jest hurtownia, a jeśli sklep ma też własny magazyn, trzeba ustalić, jak oba stany się sumują.
- Ceny sprzedaży: źródłem powinno być jedno miejsce, w którym zespół ustala marże, a nie każdy system po trochu.
- Opisy i zdjęcia produktów: zwykle sklep, bo to tam pracuje zespół treści.
- Statusy zamówień: system, w którym zespół obsługuje zamówienia na co dzień, na przykład Baselinker.
Taki spis wystarczy w prostej tabeli: pole, system źródłowy, systemy, które je czytają, i częstotliwość aktualizacji. Kiedy po starcie pojawi się pytanie, dlaczego cena w sklepie różni się od ceny w innym systemie, ta tabela od razu pokazuje, gdzie szukać przyczyny i kto może ją poprawić.
Ta sama zasada obowiązuje przy łączeniu sklepu z systemem księgowym czy magazynowym. Szerzej opisywałem ją w tekście o tym, jak przygotować integrację ERP ze sklepem.
Testy na kopii sklepu
Integrację testuje się na kopii sklepu, nie na produkcji. Kopia powinna mieć prawdziwą strukturę katalogu, ale wyłączone płatności i maile do klientów, żeby testowe zamówienie nie trafiło do nikogo poza zespołem.
- Uzgodnij z hurtownią środowisko testowe albo sposób oznaczania zamówień testowych, żeby nie zostały zrealizowane.
- Sprawdź mapowanie produktów: każdy produkt w sklepie musi mieć jednoznaczny odpowiednik w ofercie hurtowni.
- Przetestuj przypadki brzegowe: produkt wycofany, zerowy stan, zmiana ceny w trakcie składania zamówienia, częściowa realizacja.
- Porównaj wyniki z panelem EDI: to, co widzi sklep, musi się zgadzać z tym, co pokazuje hurtownia.
- Przećwicz przełączenie: kolejność włączania synchronizacji na produkcji i plan powrotu, gdyby coś poszło źle.
Obsługa błędów i powiadomienia
Integracja, która działa bezbłędnie w testach, i tak kiedyś trafi na błąd: przerwę po stronie hurtowni, zmieniony format pliku albo produkt bez odpowiednika. Liczy się to, czy ktoś się o tym dowie, zanim zauważy klient.
- Każda nieudana wymiana zapisuje się w logu z treścią komunikatu i nazwą dokumentu.
- Ponowienie następuje automatycznie, ale z limitem prób, żeby błąd nie powtarzał się w nieskończoność.
- Powiadomienie trafia do konkretnej osoby po stronie sklepu, a nie do wspólnej skrzynki, której nikt nie czyta.
- Brak aktualizacji stanów przez dłuższy czas też jest alertem, nawet jeśli nie było żadnego błędu.
- Zamówienie, które nie zostało przyjęte przez hurtownię, jest wyraźnie oznaczone w panelu sklepu.
Ustal też, kto po stronie wykonawcy reaguje na takie powiadomienia i w jakim czasie. To temat na umowę utrzymaniową, a nie na dobrą wolę. O tym, jak go zapisać, pisałem przy temacie umowy SLA na utrzymanie systemu.
Integracja sklepu z hurtownią: lista ustaleń przed startem
Zanim zamówisz integrację, przygotuj odpowiedzi na te pytania. Skrócą one wycenę i pierwsze tygodnie projektu:
- Jakie dane wymieniamy z hurtownią i w jakim formacie je udostępnia?
- Jak często hurtownia publikuje stany i ceny?
- Który system jest źródłem prawdy dla stanów, cen, opisów i statusów?
- Czy hurtownia ma środowisko testowe?
- Kto po stronie sklepu dostaje powiadomienia o błędach?
Podobne pytania zadaje się przy każdej większej rozbudowie sprzedaży online, o czym pisałem w tekście o budowie nowoczesnych platform e-commerce.
Dobrze przygotowana integracja sklepu z hurtownią działa w tle i nikt o niej nie myśli, dopóki stany i ceny się zgadzają. Jeśli planujesz takie połączenie albo chcesz uporządkować istniejące, przeczytaj, jak wygląda współpraca ze mną.
FAQ
Czy integracja z hurtownią wymaga zmiany platformy sklepu?
Zwykle nie. Integrację buduje się jako moduł albo osobną usługę, która łączy się z istniejącym sklepem i z hurtownią. Zmiana platformy ma sens tylko wtedy, gdy obecna nie pozwala na automatyczną aktualizację stanów i cen.
Co jeśli hurtownia nie ma środowiska testowego?
Trzeba uzgodnić sposób oznaczania zamówień testowych albo testować wymianę zamówień na pojedynczych, prawdziwych zamówieniach pod kontrolą obu stron. Stany i ceny można testować bez ryzyka, bo płyną tylko w stronę sklepu.
Czy można połączyć sklep z kilkoma hurtowniami?
Można, ale wtedy trzeba ustalić, z której hurtowni zamawiać dany produkt i jak sumować stany. Każda kolejna hurtownia to osobne mapowanie produktów i osobne testy.