Do czego służy ta informacja
API xSale powinno być wykorzystywane zgodnie z dobrymi praktykami integracyjnymi, w sposób niewpływający negatywnie na stabilność systemu oraz pracę innych użytkowników.
Ten wpis opisuje sytuacje, w których system może automatycznie ograniczyć ruch API dla danej integracji, oraz wskazuje, jak ograniczyć liczbę zbędnych lub powtarzanych wywołań.
Kiedy system może ograniczyć ruch API
Automatyczne ograniczenie ruchu może zostać zastosowane w przypadku wykrycia bardzo intensywnego lub nieprawidłowego użycia API, na przykład:
- tysięcy zapytań wysyłanych w ciągu jednej minuty,
- powtarzających się, bezcelowych wywołań tych samych endpointów,
- wielokrotnych prób wykonania operacji na danych, które już nie istnieją,
- równoległego uruchamiania wielu procesów integracyjnych wykonujących te same operacje.
Takie ograniczenia mają na celu ochronę stabilności całego systemu i zapewnienie poprawnej pracy pozostałym użytkownikom.
Domyślny limit bezpieczeństwa
Domyślny limit bezpieczeństwa w takiej sytuacji wynosi:
- 120 zapytań na minutę,
- maksymalnie 2 równoległe zapytania.
Limity są pilnowane automatycznie. Ich zastosowanie nie oznacza awarii API, tylko zabezpieczenie przed ruchem, który może negatywnie wpływać na stabilność systemu.
Jak przygotować integrację
Przed uruchomieniem lub po wykryciu ograniczenia ruchu zweryfikuj sposób działania integracji i ogranicz liczbę zbędnych wywołań API.
- Nie pobieraj tych samych danych w bardzo krótkich odstępach czasu, jeżeli nie zmieniły się od poprzedniego pobrania.
- Nie ponawiaj bez końca operacji, które zwracają błąd, na przykład dla usuniętego zamówienia, oferty lub towaru.
- Stosuj kolejkę zadań i kontroluj liczbę równoległych requestów.
- Dodaj mechanizm opóźnienia ponownych prób, szczególnie po błędach lub odpowiedziach wskazujących na ograniczenie ruchu.
- Przechowuj tokeny do czasu ich wygaśnięcia i nie generuj nowych tokenów przed każdym żądaniem.
Indywidualne limity API
W przypadku integracji o większym wolumenie ruchu możliwe jest indywidualne uzgodnienie limitów API w ramach pakietu dedykowanego lub Enterprise. Zakres takich limitów powinien zostać ustalony z xSale przed uruchomieniem integracji produkcyjnej.
EN