ERPLINKby ERP CONSULT Panel klienta Bezpłatna konsultacja

Integracja ERP z Base (BaseLinker) oparta na webhookach

Jak połączyliśmy ERP z Base (BaseLinker) tak, żeby zmiany docierały od razu, a liczba zapytań do API spadła. Webhooki zamiast ciągłego odpytywania.

Punkt wyjścia

Firma sprzedawała przez Base (BaseLinker), a zamówienia, stany i statusy musiały zgadzać się z ERP. Najprostszy sposób takiej integracji to odpytywanie API co kilka minut: „czy coś się zmieniło?”. Przy większej liczbie zamówień i ofert takie zapytania szybko się mnożą, zbliżają do limitów API, a i tak dane docierają z opóźnieniem.

Najpierw analiza

Nie zaczęliśmy od pisania kodu. Najpierw przeszliśmy z klientem przez całą drogę zamówienia: skąd przychodzi, kto i w którym systemie je obsługuje, gdzie dane są przepisywane ręcznie i gdzie najczęściej pojawiają się błędy.

Na tej podstawie przygotowaliśmy konkretną propozycję: jakie dane i w którą stronę mają płynąć, co uruchamia każdą wymianę i co ma się stać, gdy coś pójdzie nie tak. Tak pracujemy zawsze. Klient nie dostaje od nas listy pytań „jak to ma działać?”, tylko gotowe rozwiązanie do omówienia i dopasowania.

Co zrobiliśmy

Oparliśmy integrację na webhookach. To Base sam informuje o zmianie w chwili, gdy ona następuje, na przykład o nowym zamówieniu albo zmianie statusu. Integracja pobiera wtedy tylko to, co się zmieniło, i od razu przekazuje to dalej, a przy pomocy naszej aplikacji MultiBridge dodajemy zamówienia do systemu ERP.

  • Nowe zamówienia trafiają do ERP krótko po złożeniu, bez czekania na kolejny cykl odpytywania.
  • Zapytania do API są wysyłane wtedy, gdy jest ku temu powód, a nie „na wszelki wypadek”.
  • Tam, gdzie webhooka nie ma, zostaje rzadkie, kontrolne odpytywanie, które wyłapuje ewentualne braki.
Te same zamówienia, dwa podejścia1 s animacji ≈ 2 min

Odpytywanie API co 5 min

„są nowe?”odpowiedź Basesklep, Allegro Integracja→ ERP 0
Zapytania
0
w tym puste
0
Zamówienie dotarło po
—

Webhook przy każdej zmianie

powiadomienie Basesklep, Allegro Integracja→ ERP 0
Zapytania
0
w tym puste
0
Zamówienie dotarło po
—

nowe zamówieniepusta odpowiedź „nic nowego”

Zakres integracji

Dziewięć przepływów, które wspólnie ustaliliśmy po analizie. Część danych płynie z ERP do Base, część z Base do ERP, a nad całością czuwa MultiBridge.

ERPkartoteki, kilka magazynów, dokumenty
MultiBridgewebhooki · REST API · kontrola
  • 1Towarydo Base
  • 2Stany z kilku magazynówdo Base
  • 3Zamówienia, kontrahent, adresdo ERP
  • 5Statusy zamówieńdo Base
  • 6List przewozowyw obie strony
  • 7Faktura sprzedaży PDFdo Base
  • 8Faktura korygująca PDFdo Base
  • 9Anulowanie zamówieniado ERP
4Błąd w przepływie? Od razu komunikat z przyczyną
BaseBaseLinker, Allegro, sklepy
z ERP do Base z Base do ERP informacja o błędzie
  1. 1ERP → Base

    Dodawanie towarów

    Towar zakłada się raz, w ERP. Integracja dodaje go do katalogu w Base, więc nikt nie przepisuje kartotek ręcznie.

  2. 2ERP → Base

    Stany z kilku magazynów

    Stany z wybranych magazynów ERP trafiają do Base. Oferty pokazują to, co naprawdę jest dostępne, więc nie sprzedajesz towaru, którego nie ma.

  3. 3Base → ERP

    Zamówienia z kontrahentem i adresem

    Zamówienie pobrane przez API trafia do ERP razem z kontrahentem i adresem dostawy. Dane są sprawdzane przed zapisem, a istniejący kontrahent zostaje rozpoznany, więc w bazie nie powstają duplikaty. To samo zamówienie nie trafi do ERP dwa razy.

  4. 4informacja zwrotna

    Komunikaty o błędach

    Gdy czegoś nie da się przenieść, na przykład brakuje towaru w ERP albo adres nie przechodzi walidacji, integracja od razu to zgłasza i podaje przyczynę. Nic nie ginie po cichu.

  5. 5ERP → Base

    Statusy zamówień

    Razem z klientem ustaliliśmy, które akcje w ERP zmieniają status zamówienia w Base. Obsługa pracuje w ERP, a Base i kupujący widzą postęp bez ręcznego przestawiania statusów.

  6. 6ERP ↔ Base

    List przewozowy

    Numer listu przewozowego jest wymieniany między systemami. W Base trafia do zamówienia i do klienta, a w ERP jest przy dokumentach sprzedaży.

  7. 7ERP → Base

    Faktura sprzedaży

    Faktura powstaje w ERP, a jej wydruk PDF trafia do zamówienia w Base. Klient dostaje dokument bez ręcznego wysyłania.

  8. 8ERP → Base

    Faktura korygująca

    Przy zwrocie lub reklamacji korekta również powstaje w ERP, a jej wydruk PDF trafia do zamówienia w Base, tak samo jak faktura.

  9. 9Base → ERP

    Anulowanie zamówienia

    Anulowanie zamówienia w Base anuluje je także w ERP. Towar nie zostaje zarezerwowany, a magazyn nie kompletuje paczki, która nie wyjdzie.

Na co zwrócić uwagę przy podobnym projekcie

  • Webhook może przyjść dwa razy albo w innej kolejności. Integracja musi rozpoznać, że daną zmianę już obsłużyła.
  • Webhook może nie dojść. Dlatego warto mieć okresowe sprawdzenie, które porówna stan w obu systemach.
  • Logi i powiadomienia. Każde nieudane przekazanie danych powinno być widoczne od razu, a nie dopiero wtedy, gdy klient zapyta o paczkę.

Więcej o tym, kiedy wybrać webhooki, a kiedy odpytywanie, piszemy w poradniku Webhook czy odpytywanie API.

Efekt

[do uzupełnienia: efekt w liczbach, np. czas przekazania zamówienia, liczba zapytań, oszczędzone godziny]

Masz podobny projekt?

Opisz, jakie systemy chcesz połączyć albo wdrożyć. Odpowiemy i umówimy bezpłatną konsultację.