Jak projektujemy integracje ERP: bez magii, bez vendor lock-in
Integracja ERP z WooCommerce to jeden z najbardziej złożonych projektów w eCommerce, ale jego trudność rzadko leży tam, gdzie spodziewa się klient. Nie chodzi o to, że API jest trudne. Chodzi o to, że dane po obu stronach prawie nigdy się nie zgadzają, a każda firma przez lata wypracowała własny, niepowtarzalny sposób ich prowadzenia. Dlatego nie da się tego zrobić „z szablonu” i właśnie dlatego mamy na to powtarzalny proces zamiast improwizacji.
Poniżej pokazujemy, jak wygląda nasza praca nad taką integracją: od pierwszego dnia, w którym nie piszemy ani linii kodu, po monitoring działający długo po wdrożeniu. Bez magii i bez owijania, bo to obszar, w którym przejrzystość jest ważniejsza niż efektowne hasła.
Zaczynamy od audytu danych, nie od kodu
Zanim powstanie pierwsza linia integracji, spędzamy zwykle dwa, trzy dni na zrozumieniu, jak ERP klienta naprawdę przechowuje produkty, zamówienia i kontrahentów. To nie jest formalność, tylko najważniejszy etap całego projektu. Bez niego pisanie kodu jest zgadywaniem, a zgadywanie w integracjach kończy się rozjechanymi stanami i zamówieniami w złych statusach.
Co istotne, każde wdrożenie jest inne, nawet w obrębie tego samego systemu ERP. Dwie firmy na tym samym Subiekcie czy Comarchu potrafią mieć zupełnie różne mapowania pól, inne słowniki statusów i inne reguły, bo każda budowała swój proces po swojemu. Audyt danych jest po to, żeby poznać tę konkretną rzeczywistość, zanim cokolwiek na niej oprzemy.
Mapowanie pól to robota dla człowieka, nie skryptu
Kiedy już wiemy, jak wyglądają dane, przechodzimy do mapowania, czyli ustalenia, które pole po stronie ERP odpowiada któremu polu w sklepie. Brzmi jak zadanie idealne do automatyzacji i właśnie dlatego tylu wykonawców na tym poległo. Automat radzi sobie z przypadkiem typowym, ale rozsypuje się przy pierwszym wyjątku, a w danych biznesowych wyjątki są regułą.
Dlatego mapowanie robimy ręcznie, wspólnie z klientem, na prawdziwych rekordach, a nie na czystym przykładzie z dokumentacji. Przechodzimy przez nietypowe produkty, historyczne zamówienia i dziwne statusy, bo to właśnie one decydują, czy integracja będzie niezawodna, czy będzie generować ciche błędy. To etap mniej efektowny, ale to on oddziela wdrożenie, które działa, od takiego, które tylko wygląda na gotowe.
Architektura: kolejka, idempotentność, logi
Samą synchronizację budujemy jako prosty, ale odporny mechanizm: kolejkę zadań z jednokierunkowym przepływem danych i jednoznacznym źródłem prawdy dla każdego ich typu. ERP odpowiada za produkty i stany, WooCommerce za zamówienia. Dzięki temu obie strony się nie nadpisują, a konflikty znikają, zanim powstaną.
Każda operacja jest idempotentna, czyli można ją bezpiecznie powtórzyć bez ryzyka zdublowania danych, i każda zostawia po sobie ślad w logu. Gdy ERP na chwilę przestaje odpowiadać, zadania czekają w kolejce zamiast przepadać, a po przywróceniu połączenia wszystko domyka się samo. To właśnie te niewidoczne decyzje sprawiają, że integracja wytrzymuje szczyt sprzedaży, a nie tylko spokojny wtorek.
Monitoring to nie opcja
Integracja, która działa dziś, nie musi działać za miesiąc. Wystarczy aktualizacja ERP, zmiana w konfiguracji albo nowy typ produktu, żeby coś przestało się zgadzać. Dlatego żadnego wdrożenia nie uznajemy za skończone bez warstwy monitoringu, która powie nam o problemie, zanim zauważy go Twój klient.
W praktyce każde wdrożenie kończymy ustawieniem alertów na błędy synchronizacji i prostym dashboardem, na którym widać, co i kiedy się zsynchronizowało. Nie chodzi o to, żeby wpatrywać się w wykresy, tylko o to, żeby ewentualny błąd był zgłoszeniem, a nie niespodzianką wykrytą przy niezgodności magazynu.
Bez vendor lock-in: kod zostaje Twój
Jest jeszcze jedna zasada, która odróżnia nasze podejście od wielu innych: to, co budujemy, ma zostać Twoje. Nie zamykamy integracji w autorskiej wtyczce, której nikt poza nami nie rozumie i która uzależnia Cię od jednego dostawcy na zawsze. Piszemy kod tak, żeby dało się go utrzymać i rozwijać, także rękami innego zespołu.
Do tego dochodzi dokumentacja i transfer wiedzy, bo „skończone” znaczy dla nas, że Twoja firma realnie panuje nad tym, co dostała. Chcemy zostać Twoim partnerem dlatego, że dobrze nam się współpracuje, a nie dlatego, że nie masz wyjścia. To uczciwsze i, szczerze mówiąc, zdrowsze dla obu stron na dłuższą metę.
Planujesz integrację ERP i nie chcesz uzależnić się od wykonawcy? Poproś o bezpłatną wycenę albo napisz do nas, a rozłożymy Twój przypadek na czynniki pierwsze, zanim cokolwiek zaczniemy kodować.