Integracja to umowa między dwoma systemami: jak, kiedy i w którą stronę przekazują sobie dane. Metod jest kilka i każda ma swoje miejsce. O wyborze zwykle nie decydują upodobania, tylko to, co udostępniają oba systemy i jak szybko dane muszą dotrzeć.
REST API
System udostępnia adresy, pod które można wysłać zapytanie przez internet, na przykład „podaj nowe zamówienia” albo „zapisz ten towar”. Odpowiedź przychodzi zwykle w formacie JSON. Dziś to najpopularniejszy sposób integracji: mają go sklepy, marketplace'y, systemy CRM i kurierzy.
- Plusy: standard, dobra dokumentacja, działa przez internet, łatwo zabezpieczyć tokenem.
- Na co uważać: limity zapytań, zmiany wersji API po stronie dostawcy, czasem dodatkowe opłaty za dostęp.
Webservice po stronie ERP
Odwrotny kierunek: to ERP udostępnia usługę, z której korzystają inne systemy. Sklep może zapytać ERP o dane klienta, limit kredytowy albo aktualną cenę w chwili, gdy są potrzebne, zamiast trzymać ich kopię. Starsze systemy robią to przez SOAP, nowsze przez REST.
- Plusy: dane zawsze aktualne, jedno źródło prawdy, ERP decyduje, co udostępnia.
- Na co uważać: bezpieczeństwo. Bazy ERP nie wystawia się wprost do internetu. Usługa powinna stać za warstwą pośrednią, z autoryzacją, limitami zapytań i logami.
Webhook
System, w którym zaszła zmiana, sam wysyła powiadomienie pod ustalony adres, na przykład o nowym zamówieniu. Integracja reaguje od razu, bez ciągłego pytania, czy coś się zmieniło. Porównanie z odpytywaniem API opisujemy w poradniku Webhook czy odpytywanie API.
- Plusy: zmiany docierają od razu, zapytań jest dużo mniej.
- Na co uważać: powiadomienie może przyjść dwa razy, w innej kolejności albo wcale. Dobrze mieć też okresowe sprawdzenie, a podpis webhooka warto weryfikować.
Wymiana SQL ↔ SQL
Gdy oba systemy działają w sieci firmy i mają bazy SQL, mogą wymieniać dane bezpośrednio między bazami. Dobra praktyka to dedykowane tabele wymiany: każdy system zapisuje dane do swoich tabel, a procedury składowane sprawdzają je i przenoszą dalej. Tak połączyliśmy na przykład ERP z systemem MES.
- Plusy: szybkie, wydajne przy dużej liczbie rekordów, bez pośrednictwa internetu.
- Na co uważać: nigdy nie zapisuj bezpośrednio do tabel drugiego systemu. Każdy rekord w tabeli wymiany powinien mieć status, żeby błąd jednego nie zatrzymał reszty.
Pliki XML i CSV, FTP
Najstarsza metoda, wciąż żywa: jeden system zapisuje plik w uzgodnionym formacie w folderze albo na serwerze FTP, a drugi go pobiera i importuje. Tak często działają hurtownie, EDI z sieciami handlowymi i część systemów bankowych.
- Plusy: prosta, działa prawie z każdym systemem, łatwo podejrzeć, co zostało przesłane.
- Na co uważać: opóźnienie do najbliższego importu, brak natychmiastowej odpowiedzi, ryzyko podwójnego importu tego samego pliku i błędów w formacie.
Porównanie w skrócie
| Metoda | Kto zaczyna wymianę | Jak szybko | Kiedy sprawdza się najlepiej |
|---|---|---|---|
| REST API | integracja pyta drugi system | co ustalony czas | sklepy, marketplace'y, CRM, kurierzy |
| Webservice ERP | drugi system pyta ERP | od razu, na żądanie | dane klienta, limity, ceny sprawdzane na bieżąco |
| Webhook | system, w którym zaszła zmiana | od razu | nowe zamówienia, zmiany statusów |
| SQL ↔ SQL | procedury po obu stronach | od razu albo co chwilę | systemy w sieci firmy: MES, WMS, hurtownie danych |
| Pliki XML / CSV | system zapisujący plik | przy najbliższym imporcie | EDI, hurtownie, starsze systemy |
Co warto wiedzieć przed projektem
- Co udostępnia każdy system. API, webhooki, dostęp do bazy, eksport plików. To wyznacza, które metody w ogóle wchodzą w grę.
- Który system jest źródłem prawdy. Dla każdego rodzaju danych jeden system decyduje, a drugi się dostosowuje. Inaczej systemy nadpisują się nawzajem.
- Jak szybko dane muszą dotrzeć. Zamówienie w sekundach czy raport raz dziennie? Od tego zależy wybór metody i koszt utrzymania.
- Limity i koszty dostępu. Część platform ogranicza liczbę zapytań albo pobiera opłaty za API.
- Bezpieczeństwo. Baza ERP nie powinna być otwarta na internet. Dostęp tylko przez wybrane usługi, z autoryzacją i logami.
- Co, gdy coś nie zadziała. Ponowienia, statusy rekordów, powiadomienia o błędach. Integracja bez tego działa tylko do pierwszej awarii.
- Metody można łączyć. W praktyce najlepiej sprawdza się połączenie, na przykład webhook z okresowym sprawdzeniem albo webservice ERP dla danych na żądanie i SQL dla wymiany w tle.