| Co robi integracja | Grupa metod API | |
|---|---|---|
| Zamówienia do ERP | Nowe zamówienia trafiają do systemu księgowego lub ERP | Zamówienia |
| Stany z własnego magazynu | Stany i ceny z WMS aktualizują katalog w BaseLinkerze | Katalog produktów |
| Produkcja na zamówienie | Zamówienie z personalizacją tworzy zlecenie produkcyjne | Zamówienia |
| Hurtownia bez wtyczki | Import produktów i stanów z pliku albo API hurtowni | Katalog produktów |
| Raporty | Marża po kanałach, czas realizacji, zwroty | Zamówienia i zwroty |
BaseLinker API: co można zautomatyzować, jak działa i jakie ma limity
BaseLinker API: jak działa, co da się zautomatyzować (ERP, magazyn, hurtownie) i jak pracować z limitem 100 zapytań na minutę.
Gotowe integracje BaseLinkera obsługują większość popularnych sklepów, marketplace'ów i przewoźników. API przydaje się tam, gdzie gotowej integracji nie ma: przy własnym systemie magazynowym, nietypowym ERP, hurtowni bez wtyczki, systemie produkcji albo raportach, których panel nie generuje. Dokumentacja API jest publiczna, a samo API jest proste w budowie. Najważniejsze ograniczenie to limit 100 zapytań na minutę, który trzeba uwzględnić od pierwszej linijki kodu.
Jak działa API BaseLinkera
- Jeden adres: wszystkie metody wywołuje się zapytaniem POST na ten sam endpoint, podając nazwę metody i parametry.
- Token w nagłówku: token API generuje się w panelu (Moje konto, sekcja API) i przesyła w nagłówku X-BLToken. Przesyłanie go jako parametru jest oznaczone jako przestarzałe.
- Limit: 100 zapytań na minutę według dokumentacji.
- Grupy metod: zamówienia, katalog produktów i magazyny, przesyłki kurierskie, zwroty, klienci i kilka mniejszych.
Token API daje dostęp do danych sklepu, w tym danych klientów. Trzeba go chronić tak samo jak hasło do panelu: trzymać w bezpiecznym miejscu na serwerze, a nie w kodzie czy w arkuszu.
Co można zautomatyzować przez API
Jak pracować z limitem 100 zapytań na minutę
100 zapytań na minutę to dużo dla jednej integracji, ale mało, jeśli kilka skryptów działa na tym samym koncie, a każdy pyta o każde zamówienie osobno. Najczęstszy błąd to pętla, która dla każdego z 500 produktów wysyła osobne zapytanie o stan. Taka integracja przez kilka minut blokuje wszystkie inne.
- Pobieraj partiami: metody listujące zwracają wiele rekordów naraz. Jedno zapytanie zamiast stu.
- Pobieraj przyrostowo: od ostatniego znanego zamówienia albo zmiany, a nie całą historię co kwadrans.
- Wspólny ogranicznik tempa: gdy na jednym koncie działa kilka integracji, jedna kolejka zapytań chroni je przed wzajemnym blokowaniem.
- Ponawiaj z opóźnieniem: przy błędzie przekroczenia limitu odczekaj, zamiast ponawiać od razu.
Przykład: zamówienia do systemu produkcji
Firma sprzedaje meble na wymiar przez sklep internetowy z meblami i Allegro. Zamówienie z wymiarami i wybraną tkaniną trafia do BaseLinkera, a integracja przez API co kilka minut pobiera nowe opłacone zamówienia, tworzy z nich zlecenia w systemie produkcji i ustawia w BaseLinkerze status „w produkcji”. Gdy produkcja kończy zlecenie, integracja zmienia status na „do wysyłki”, a akcje automatyczne BaseLinkera generują etykietę i informują klienta. Panel nadal jest jednym miejscem obsługi zamówień, ale produkcja nie musi go znać.
- 1
Mapa danych
Które pola zamówienia i produktu przechodzą do którego systemu, i w którą stronę.
- 2
Statusy jako umowa
Status w BaseLinkerze mówi integracji, co ma zrobić, a integracja zmienia go po wykonaniu.
- 3
Logi i alerty
Każda operacja zapisana, a błąd trafia do osoby, która może go naprawić.
API czy gotowa integracja z marketplace'u
Zanim zbudujesz integrację, sprawdź listę gotowych integracji w panelu i w marketplace dodatków Base. Wiele połączeń z hurtowniami, programami do faktur i przewoźnikami jest dostępnych od ręki. API ma sens dla procesów specyficznych dla firmy, a nie dla rzeczy, które ktoś już zrobił i utrzymuje. Ogólne zasady łączenia systemów opisuję w tekście o API KSeF, który pokazuje podobne problemy z limitami i kolejką.
Bezpieczeństwo integracji
- Osobny token dla każdej integracji, żeby można było odciąć jedną bez wyłączania pozostałych.
- Token tylko na serwerze, nigdy w kodzie strony widocznym w przeglądarce.
- Minimalny zakres danych: integracja stanów magazynowych nie potrzebuje danych klientów.
Podstawy BaseLinkera opisuję w tekście BaseLinker co to jest, a połączenie z hurtowniami w tekście o dropshippingu i hurtowniach w BaseLinkerze.
Typowe błędy w integracjach z API BaseLinkera
- Powtórzona operacja: integracja, która po błędzie sieci wysyła to samo zamówienie drugi raz, tworzy duplikaty w ERP. Każda operacja powinna sprawdzać, czy już została wykonana.
- Łączenie po nazwie: dopasowanie produktów po nazwie albo po wewnętrznym ID jednego systemu rozsypuje się przy pierwszej zmianie. Wspólnym kluczem powinien być SKU albo EAN.
- Daty w różnych formatach: zapisuj czas w jednym formacie i jednej strefie, inaczej raporty dzienne przesuwają zamówienia między dniami.
- Brak monitoringu: integracja, która przestała działać w piątek wieczorem, bez alertu wychodzi na jaw dopiero w poniedziałek, gdy klienci pytają o paczki.
Przy zamawianiu integracji zapytaj wykonawcę o każdy z tych punktów. Odpowiedzi pokażą, czy powstanie skrypt, który działa na prezentacji, czy integracja, która przetrwa szczyt sezonu.
Źródło: dokumentacja API BaseLinkera.
›Jaki jest limit API BaseLinkera?
Według dokumentacji 100 zapytań na minutę. Przy kilku integracjach na jednym koncie warto zaplanować ich tempo razem, żeby nie blokowały się nawzajem.
›Gdzie znaleźć token API BaseLinkera?
W panelu, w ustawieniach konta, w sekcji API. Token przesyła się w nagłówku X-BLToken.
›Czy przez API można wystawiać faktury?
API ma metody związane z dokumentami zamówień. Przy fakturach do KSeF warto ustalić, który system wysyła je do KSeF, opisuję to w tekście o fakturach i KSeF w BaseLinkerze.
›Ile trwa zbudowanie integracji przez API?
Prosta synchronizacja zamówień do jednego systemu to krótszy projekt niż dwustronna integracja z produkcją i magazynem. Zakres rozpiszesz w wycenie.
Chcesz przegadać swój projekt?
Odpowiadam osobiście w ciągu 24h w dni robocze — bez handlowca po drodze.