Przykładowy przepływ danych dla stabilnej integracji
Najstabilniej działa przepływ, w którym sklep lub marketplace wysyła zdarzenie do warstwy integracyjnej, a ta dopiero po walidacji zapisuje dane do ERP. Dzięki temu można zatrzymać rekord z błędnym SKU, niepełnym adresem albo nieobsługiwaną metodą dostawy, zanim powstanie dokument w Subiekcie.
{
"order_id": "EXT-2024-00125",
"channel": "sklep",
"payment_status": "confirmed",
"fulfillment_status": "new",
"items": [
{
"sku": "ABC-001",
"qty": 2,
"price_gross": 129.99
}
],
"delivery_method": "kurier",
"updated_at": "2024-10-12T10:15:00Z"
}
Po stronie integracji potrzebne są co najmniej cztery kroki: walidacja danych wejściowych, sprawdzenie idempotencji, mapowanie na model ERP i dopiero potem utworzenie lub aktualizacja rekordu. Jeżeli któryś etap kończy się błędem, rekord powinien trafić do kolejki wyjątków z jasnym komunikatem dla operatora.
Walidacja, błędy i utrzymanie po starcie
Najbardziej użyteczny przepływ jest prosty: kanał sprzedaży przyjmuje zamówienie i wysyła zdarzenie, warstwa integracyjna waliduje dane, zapisuje identyfikator zewnętrzny, sprawdza reguły płatności i dopiero potem tworzy albo aktualizuje rekord w ERP. Następnie ERP odsyła status operacyjny, nie pełną kopię własnej logiki.
Taki układ ogranicza dwa kosztowne błędy. Pierwszy to tworzenie dokumentów zbyt wcześnie. Drugi to próba synchronizacji wszystkiego dwukierunkowo. Ta druga pokusa brzmi ambitnie, ale w praktyce często kończy się konfliktem odpowiedzialności między sklepem a ERP.
Nie każdy obszar powinien być synchronizowany w obie strony. Opisy, zdjęcia i promocje kanałowe rzadko mają sens jako domena ERP. Dokumenty handlowe, rozliczalne stany i dane kontrahenta już tak. Upieranie się przy pełnej synchronizacji dwukierunkowej w małym lub średnim e-commerce to zwykle sygnał, że ktoś sprzedaje efektowną architekturę zamiast porządnego procesu.
Walidacja przed zapisem do ERP powinna obejmować zgodność SKU, kompletność wymaganych pól, poprawność VAT, mapowanie płatności i dostawy oraz sprawdzenie, czy zdarzenie nie zostało już przetworzone. To nie luksus. To filtr, który chroni operację przed codziennym poprawianiem dokumentów.
Dobra integracja nie ukrywa błędów. Odrzuca rekord z jasnym powodem, zapisuje ślad diagnostyczny i pozwala wznowić przetwarzanie po poprawce. Gorszy wariant to częściowy zapis albo ciche pominięcie problemu. Wtedy sklep pokazuje jedno, ERP drugie, a zespół nie wie, gdzie naprawdę powstał błąd.
Z obserwacji takich wdrożeń wynika jeden powtarzalny wzorzec: najbardziej niedoszacowany koszt nie leży w developmentcie. Leży w obsłudze wyjątków po starcie. Jeżeli po wdrożeniu ktoś codziennie poprawia płatności, dokumenty albo stany, integracja nie automatyzuje sprzedaży. Ona tylko przenosi pracę operacyjną do mniej przejrzystego obiegu.
Krótko mówiąc: brak kolejki błędów i sensownych logów to nie drobny brak techniczny. To zaproszenie do ręcznej roboty.
Przy bardziej wymagających wdrożeniach dobrze działa prosty podział odpowiedzialności. Sklep odpowiada za doświadczenie zakupowe i prezentację oferty. Warstwa integracyjna odpowiada za walidację, kolejki, ponowienia i mapowanie. ERP odpowiada za dokumenty, rozrachunki, kartoteki i rozliczalny stan. Gdy te granice są rozmyte, każdy błąd kończy się sporem o to, kto ma go naprawić.
Jeżeli proces ma rosnąć o kolejne kanały albo własne reguły logistyczne, sensownie jest od razu zaprojektować integracje API pod docelowy model operacyjny. To zwykle tańsze niż późniejsze dokładanie kolejek, logów i walidacji do wtyczki, która od początku była za mała.
Co powinno znaleźć się w logach i monitoringu
Bez porządnych logów nie da się utrzymać integracji, nawet jeśli start przebiegł spokojnie. Minimalny zakres to identyfikator zamówienia zewnętrznego, identyfikator rekordu w ERP, typ operacji, wynik walidacji, kod błędu, czas przetworzenia i informacja o ponowieniu. To pozwala odtworzyć ścieżkę zdarzenia bez zgadywania.
Monitoring powinien wychwytywać nie tylko awarie techniczne, ale też błędy biznesowe: brak mapowania płatności, nieznane SKU, nieobsługiwaną metodę dostawy, próbę wystawienia dokumentu dla zamówienia anulowanego. Właśnie te przypadki najczęściej generują ręczną pracę, choć sam serwer działa poprawnie.
Jak kupić integrację, której nie trzeba będzie ratować po pół roku
Uczciwa wycena nie zaczyna się od pytania o platformę sklepową. Zaczyna się od pytań o kanały sprzedaży, magazyny, typy dokumentów, zwroty, korekty, źródła cen i stanów, zestawy oraz wymagania B2B. Jeżeli dostawca tego nie pyta, to zła wiadomość. Najczęściej sprzedaje standardowy scenariusz, a nie rozwiązanie dla realnego procesu.
Przed startem trzeba uporządkować SKU, warianty, stawki VAT, waluty, jednostki miary, statusy zamówień oraz reguły dla zwrotów, korekt i zestawów. Trzeba też ustalić właściciela błędów integracyjnych. Ktoś musi reagować na odrzucone rekordy, a nie tylko oglądać logi po fakcie.
Dobrym testem oferty jest jedno pytanie: co dokładnie stanie się z zamówieniem, gdy webhook przyjdzie dwa razy, płatność potwierdzi się z opóźnieniem, a jednego SKU zabraknie w kartotece ERP? Jeżeli odpowiedź jest ogólna, wdrożenie prawdopodobnie też będzie ogólne.
Źródła, które realnie pomagają przy projektowaniu takiej integracji, są dość oczywiste: dokumentacje InsERT oraz API kanałów sprzedaży, z których korzystasz. Wystarczy sprawdzić model zdarzeń, webhooki, statusy zamówień i ograniczenia aktualizacji zasobów. To szybko obnaża nierealne założenia po obu stronach.
Zakup warto oprzeć na kilku twardych kryteriach. Jeżeli masz jeden kanał, jeden magazyn i mało wyjątków procesowych, wybierz prosty konektor. Jeżeli dochodzą kolejne kanały, osobne reguły dla zwrotów, różne typy płatności albo więcej niż jeden magazyn, bezpieczniejszy będzie middleware. Gdy proces obejmuje wiele wyjątków, odpowiedzialność za dane jest rozproszona między kilka systemów, a zespół oczekuje własnej logiki dokumentów i stanów, rozsądniejszy zakup to integracja projektowana pod konkretny model operacyjny, a nie kolejna wtyczka z długą listą ograniczeń.
Tu pojawia się niewygodna, ale praktyczna obserwacja: w wielu firmach problemem nie jest brak integracji, tylko brak decyzji, kto jest właścicielem prawdy o zamówieniu, płatności i stanie magazynowym. Dopóki to nie jest ustalone, nawet dobry software będzie tylko szybciej przenosił niespójności między systemami.