Limity zapytań API i błędy 429 - jak projektować integracje odporne na blokady

Łukasz Palej

Łukasz Palej

Technical Implementation Expert

Limity zapytań API to ograniczenia, które platformy, takie jak Allegro, Shopify czy Base, nakładają na liczbę wywołań w określonym czasie, a błąd 429 Too Many Requests oznacza, że integracja je przekroczyła. Integracja odporna na blokady pilnuje limitu sama, zanim zrobi to platforma: czyta informacje o zużyciu z odpowiedzi, kolejkuje zadania według ważności, wysyła dane zbiorczo, a po błędzie 429 odczekuje i ponawia zapytanie bez gubienia i dublowania danych.

W tym wpisie wyjaśniamy, jak działają limity w API popularnych platform, jak platformy informują o ich zużyciu i jak zaprojektować integrację sklepu, żeby limit nie zatrzymywał zamówień ani synchronizacji stanów. Opisujemy ponawianie z wykładniczym odstępem i losowym rozrzutem, idempotencję, kolejki z priorytetami, operacje zbiorcze i monitoring zużycia limitu.

[#wazne] W skrócie: błąd 429 to sygnał, że integracja wysyła za dużo zapytań. Nie wystarczy go obsłużyć - trzeba projektować tak, żeby pojawiał się rzadko. Allegro ma limit 9000 zapytań na minutę na Client ID, Base 100 zapytań na minutę, a Shopify liczy zużycie w modelu kubełka (stan na lipiec 2026 - sprawdź aktualną dokumentację). Odporna integracja ma jeden ogranicznik zapytań, kolejkę z priorytetami, operacje zbiorcze, ponawianie z odstępem i losowym rozrzutem oraz monitoring zużycia. Programiści Vinson projektują i naprawiają takie integracje.

Czym są limity zapytań API i błąd 429

Limit zapytań (rate limit) to reguła, która określa, ile wywołań API może wykonać aplikacja, konto lub para aplikacja-sklep w danym oknie czasu. Platformy stosują go, żeby chronić swoje serwery i zapewnić równy dostęp wszystkim integracjom. Kod 429 Too Many Requests zdefiniowano w dokumencie RFC 6585: oznacza, że użytkownik wysłał zbyt wiele zapytań w danym czasie, a odpowiedź może zawierać nagłówek Retry-After z informacją, ile odczekać przed kolejną próbą. RFC nie określa, jak serwer liczy zapytania, dlatego każda platforma robi to po swojemu.

W praktyce spotyka się trzy modele. Pierwszy to stałe okno, np. określona liczba zapytań na minutę. Drugi to kubełek (leaky bucket): każde zapytanie dokłada coś do kubełka, który opróżnia się w stałym tempie, a po jego zapełnieniu zapytania są odrzucane. Trzeci to limit punktowy, w którym zapytania mają różny koszt zależny od ilości pobieranych danych. Integracja musi znać model każdego API, z którym rozmawia, bo od niego zależy, jak rozkładać zapytania w czasie.

Jak platformy e-commerce sygnalizują limity API

Przed zaprojektowaniem integracji warto zebrać w jednym miejscu, jak liczone są limity i w jaki sposób API informuje o ich zużyciu. Poniżej zestawienie na podstawie dokumentacji producentów (stan na lipiec 2026 - sprawdź aktualną dokumentację każdej platformy):

APIModel i limitJak API informuje o zużyciu
Allegro REST API9000 zapytań na minutę na Client ID; dla wybranych zasobów dodatkowo kubełek na użytkownikaPo przekroczeniu blokada Client ID na minutę i status 429
Shopify REST Admin APIKubełek 40 zapytań, 2 na sekundę; Plus 400 i 20 na sekundęNagłówek X-Shopify-Shop-Api-Call-Limit, status 429 z nagłówkiem Retry-After
Shopify GraphQL Admin APIPunkty odnawiane co sekundę, zależnie od planu; pojedyncze zapytanie do 1000 punktówPole extensions.cost z throttleStatus w odpowiedzi
Base API100 zapytań na minutęDokumentacja nie opisuje nagłówków zużycia
WooCommerce Store APIOgraniczanie domyślnie wyłączone; po włączeniu domyślnie 25 zapytań na 10 sekundNagłówki RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset

Shopify oznacza REST Admin API jako interfejs przestarzały od 1 października 2024 r. i kieruje nowe aplikacje do GraphQL Admin API. W GraphQL limit zależy od planu sklepu, co dobrze pokazuje, jak bardzo przepustowość tej samej integracji może się różnić między klientami:

[#chart:wpr84a]

Uwierzytelnione REST API WooCommerce nie ma w dokumentacji jednego limitu - jego granicą jest zwykle wydajność serwera i ewentualne zabezpieczenia hostingu. W Shoperze i innych platformach zasady sprawdź w dokumentacji API dla deweloperów, bo integracja powinna je znać, zanim trafi na produkcję.

Bezpłatna konsultacja programistyczna
Potrzebujesz programisty do sklepu, integracji lub automatyzacji?
  • Wycena zadania w 24 h w dni robocze
  • Integracje, API, feedy i poprawki w sklepie
  • Rozliczenie godzinowe albo za projekt
Łukasz PalejKonsultację poprowadzi Łukasz Palej, Technical Implementation Expert

Jak projektować integracje odporne na limity API

Najczęstszy błąd to traktowanie limitu jako problemu, który rozwiąże się obsługą błędu. Integracja, która wysyła zapytania bez kontroli i dopiero po 429 zwalnia, przez większość czasu działa na granicy blokady, a w szczycie sprzedaży traci minuty na odczekiwanie. Lepiej przyjąć kilka zasad projektowych już na etapie budowy:

  • Jeden ogranicznik na API i konto - wszystkie procesy integracji (zamówienia, stany, ceny, oferty) korzystają ze wspólnego licznika zapytań, zamiast liczyć każdy osobno.

  • Czytanie sygnałów z odpowiedzi - integracja odczytuje nagłówki i pola o zużyciu limitu i zwalnia, zanim dostanie 429.

  • Kolejka z priorytetami - pobranie zamówień i zmiana stanu przy sprzedaży idą przed aktualizacją opisów i zdjęć.

  • Operacje zbiorcze - jeśli API pozwala zaktualizować wiele produktów w jednym wywołaniu, integracja z tego korzysta.

  • Zdarzenia zamiast odpytywania - webhooki i dzienniki zdarzeń zastępują cykliczne pobieranie list, w których nic się nie zmieniło.

  • Pamięć podręczna danych słownikowych - kategorie, parametry czy metody dostawy pobiera się raz i odświeża rzadko.

Webhooki to jedna z najskuteczniejszych metod oszczędzania limitu, bo integracja dostaje informację o zmianie, zamiast co minutę sprawdzać, czy coś się wydarzyło. Wymagają jednak weryfikacji nadawcy, idempotencji i okresowego uzgadniania danych, o czym piszemy we wpisie webhooki w e-commerce - do czego służą i jak je bezpiecznie wdrożyć.

Ponawianie po błędzie 429 - odstęp wykładniczy i losowy rozrzut

Nawet dobrze zaprojektowana integracja czasem dostanie 429, np. gdy z tego samego konta korzysta inna aplikacja. Wtedy liczy się sposób ponawiania. Amazon w artykule z serii Builders' Library o limitach czasu, ponowieniach i odstępach zaleca wydłużanie odstępu po każdej nieudanej próbie z górnym ograniczeniem, dodanie losowego rozrzutu (jitter), żeby wiele procesów nie ponawiało zapytań w tej samej chwili, ograniczenie liczby prób i ponawianie tylko w jednym miejscu stosu, bo ponowienia na kilku warstwach mnożą obciążenie. Shopify w dokumentacji limitów rekomenduje odczekanie co najmniej sekundy przed kolejnym zapytaniem po przekroczeniu limitu (stan na lipiec 2026 - sprawdź aktualną dokumentację Shopify).

Przełożone na integrację sklepu, ponawianie po 429 wygląda tak:

[#chart:wpr84b]

Ważne jest rozróżnienie błędów. 429 i błędy serwera z grupy 5xx zwykle mają sens ponawiać. Błędy 400, 401 czy 403 oznaczają problem z samym zapytaniem, tokenem lub uprawnieniami i ponawianie ich bez zmian tylko zużywa limit. Jak czytać poszczególne kody w integracji sklepu, opisujemy we wpisie integracja przestała działać - lista kontrolna diagnozy.

Idempotencja - ponowienie bez duplikatów

Ponowienie jest bezpieczne tylko wtedy, gdy dwukrotne wykonanie tej samej operacji daje ten sam wynik. Odczyt danych i ustawienie stanu na konkretną wartość są z natury bezpieczne. Utworzenie zamówienia w ERP, wystawienie faktury czy zamówienie kuriera - już nie. Jeśli odpowiedź na takie zapytanie nie dotarła, integracja nie wie, czy operacja się wykonała. Dlatego przy operacjach tworzących dane zapisuje się identyfikator źródłowy, np. numer zamówienia z marketplace'u, i przed ponowieniem sprawdza, czy rekord już istnieje. Wiele API pozwala też przekazać własny identyfikator operacji, po którym serwer rozpozna powtórzenie.

Budżet limitu - jak podzielić zapytania między zadania

Limit to wspólny zasób wszystkich procesów integracji. Jeśli nocna aktualizacja opisów zużyje całą pulę, pobieranie zamówień zacznie dostawać 429. Dlatego warto zaplanować budżet: jaka część limitu jest zarezerwowana dla zadań krytycznych, jaka dla zadań cyklicznych, a jaka zostaje jako zapas na ponowienia i nagłe skoki ruchu. Przykładowy podział dla integracji z jednym marketplace'em może wyglądać tak:

[#chart:wpr84c]

Liczby w takim budżecie wynikają z pomiaru, a nie z założeń. Integracja powinna zapisywać, ile zapytań wykonuje każdy proces, żeby po tygodniu było widać, co naprawdę zużywa limit. Często okazuje się, że największym konsumentem jest zadanie, które co minutę pobiera pełną listę ofert, choć zmienia się w niej kilka pozycji dziennie. Zmiana takiego zadania na pobieranie tylko rekordów zmienionych od ostatniej synchronizacji potrafi zwolnić większą część limitu bez żadnych kosztów po stronie platformy. Budżet warto przeglądać po każdym dodaniu nowego procesu do integracji, bo każdy kolejny proces korzysta z tej samej puli.

Operacje zbiorcze i masowe aktualizacje

Największą oszczędność limitu daje zwykle zmiana sposobu wysyłania danych, a nie droższy plan. Base pozwala zaktualizować stany do 1000 produktów w jednym wywołaniu metody updateInventoryProductsStock, więc aktualizacja całego katalogu może zająć kilka zapytań zamiast kilku tysięcy. Shopify do dużych odczytów udostępnia operacje masowe (bulk operations), które według dokumentacji nie mają limitów kosztu i liczby zapytań obowiązujących pojedyncze zapytania GraphQL (stan na lipiec 2026 - sprawdź aktualną dokumentację Base i Shopify).

Przy masowych zmianach, np. przecenie całej kategorii, warto też rozłożyć pracę w czasie: zacząć od produktów z największą sprzedażą, wysyłać paczki danych w stałym tempie i mierzyć, kiedy zmiany są widoczne we wszystkich kanałach. Integracja, która próbuje wypchnąć wszystko naraz, kończy zwykle w pętli błędów 429 i wydłuża całą operację. Przy przecenach o ustalonej godzinie lepiej przygotować dane wcześniej i zacząć wysyłkę z wyprzedzeniem, jeśli platforma pozwala zaplanować zmianę.

[#tip] Przy integracjach z Allegro dodatkowym ograniczeniem jest kubełek liczony na użytkownika dla wybranych zasobów. Zbyt wiele równoległych zapytań w imieniu tego samego konta kończy się 429, nawet gdy limit Client ID jest daleko. Dlatego liczba równoległych wątków na jedno konto sprzedawcy powinna być ustawiana świadomie, a nie maksymalnie.

Kilka kont i kilka sklepów w jednej integracji

Limity rzadko są liczone globalnie. Shopify liczy je dla pary aplikacja-sklep, Allegro dla Client ID, a dla wybranych zasobów także dla konkretnego użytkownika. Ma to znaczenie, gdy jedna integracja obsługuje kilka kont sprzedawcy albo kilka sklepów. Ogranicznik zapytań musi wtedy prowadzić osobne liczniki dla każdego konta i wspólny dla aplikacji, a kolejka powinna rozdzielać pracę tak, żeby jedno duże konto nie zablokowało pozostałych. Przy integracjach budowanych dla wielu klientów dochodzi jeszcze jedna zasada: plan sklepu wpływa na limit, więc ta sama integracja może potrzebować innych ustawień tempa na różnych sklepach.

Jak testować obsługę limitów przed wdrożeniem

Obsługę 429 trudno sprawdzić na produkcji, bo nikt nie chce celowo blokować konta. Lepiej przetestować ją w sandboxie lub na atrapie API, która zwraca 429 z nagłówkiem Retry-After co kilka zapytań. Według dokumentacji Allegro główny limit obowiązuje także w środowisku testowym, więc sandbox pozwala sprawdzić zachowanie integracji przy dużej liczbie zapytań. Test powinien potwierdzić, że integracja zwalnia, nie gubi danych, nie tworzy duplikatów i po ustąpieniu blokady nadrabia zaległości w rozsądnym czasie.

Monitoring zużycia limitów API

O problemie z limitami lepiej dowiedzieć się z wykresu niż od klienta, któremu nie dotarło potwierdzenie zamówienia. Minimalny monitoring obejmuje liczbę odpowiedzi 429 na godzinę z podziałem na API i proces, zużycie limitu odczytane z nagłówków lub pól odpowiedzi, długość kolejki zadań i czas oczekiwania najstarszego zadania. Alert powinien przyjść, gdy błędy 429 pojawiają się stale, a nie pojedynczo, albo gdy kolejka zamówień rośnie dłużej niż kilka minut. Jak ustawić takie powiadomienia bez fałszywych alarmów, opisujemy we wpisie monitoring integracji i alerty o błędach.

Najczęstsze błędy w obsłudze limitów API

  1. Każdy proces liczy limit osobno, więc razem przekraczają pulę, choć każdy z osobna mieści się w normie.

  2. Ponawianie natychmiast i bez końca, które po 429 wydłuża blokadę i zużywa limit innych zadań.

  3. Ponawianie na kilku warstwach naraz: w bibliotece HTTP, w kodzie integracji i w kolejce.

  4. Brak idempotencji, przez który ponowione utworzenie zamówienia lub faktury daje duplikat.

  5. Odpytywanie pełnych list co minutę zamiast zdarzeń lub filtrowania po dacie zmiany.

  6. Ignorowanie nagłówka Retry-After i informacji o zużyciu zwracanych przez API.

Jak Vinson pomaga z limitami API w integracjach

Zapewniamy wsparcie programistyczne dla sklepów i sprzedawców: integracje, automatyzacje, poprawki i rozwój sklepów oraz narzędzi. Mierzymy, które procesy zużywają limity API, wprowadzamy wspólny ogranicznik zapytań, kolejki z priorytetami, operacje zbiorcze i ponawianie z odstępem, zabezpieczamy integracje przed duplikatami i dodajemy monitoring zużycia limitów. Szczegóły znajdziesz na stronie Wsparcie programistyczne dla e-commerce.

Najczęściej zadawane pytania

Co oznacza błąd 429 w integracji sklepu?

Błąd 429 Too Many Requests oznacza, że integracja wysłała zbyt wiele zapytań do API w danym czasie i przekroczyła limit platformy. Integracja powinna odczekać, najlepiej tyle, ile wskazuje nagłówek Retry-After, i ponowić zapytanie. Częste błędy 429 to sygnał, że trzeba zmniejszyć liczbę zapytań.

Jaki jest limit zapytań API Allegro?

Według dokumentacji Allegro główny limit to 9000 zapytań na minutę na Client ID, a po jego przekroczeniu Client ID jest blokowany na minutę. Wybrane zasoby mają niższe limity, a dla części działa dodatkowe ograniczenie na użytkownika (stan na lipiec 2026 - sprawdź aktualną dokumentację Allegro).

Jak działa limit w Shopify GraphQL Admin API?

Shopify liczy koszt zapytań w punktach, które odnawiają się co sekundę: 100 na planie podstawowym, 200 na Advanced i 1000 na Plus. Pojedyncze zapytanie nie może kosztować więcej niż 1000 punktów, a stan limitu jest zwracany w polu extensions.cost odpowiedzi (stan na lipiec 2026 - sprawdź aktualną dokumentację Shopify).

Czy warto ponawiać zapytania po błędzie 429?

Tak, ale z rosnącym odstępem, losowym rozrzutem i ograniczoną liczbą prób, w jednym miejscu integracji. Ponawiać można bez obaw odczyty i operacje idempotentne. Przy tworzeniu zamówień, faktur czy przesyłek trzeba najpierw sprawdzić, czy poprzednia próba się nie wykonała.

Jak zmniejszyć liczbę zapytań do API w integracji?

Używaj operacji zbiorczych, webhooków i dzienników zdarzeń zamiast cyklicznego odpytywania, przechowuj w pamięci podręcznej dane, które rzadko się zmieniają, i pobieraj tylko rekordy zmienione od ostatniej synchronizacji. Najpierw zmierz, który proces zużywa najwięcej zapytań.

Limity API nie znikną, ale integracja może z nimi współpracować zamiast z nimi walczyć. Jeśli Twoje integracje regularnie dostają błędy 429 albo nie nadążają w szczycie sprzedaży, sprawdź wsparcie programistyczne Vinson.

Jak projektować integracje odporne na limity API

Najczęstszy błąd to traktowanie limitu jako problemu, który rozwiąże się obsługą błędu. Integracja, która wysyła zapytania bez kontroli i dopiero po 429 zwalnia, przez większość czasu działa na granicy blokady, a w szczycie sprzedaży traci minuty na odczekiwanie. Lepiej przyjąć kilka zasad projektowych już na etapie budowy:

  • Jeden ogranicznik na API i konto - wszystkie procesy integracji (zamówienia, stany, ceny, oferty) korzystają ze wspólnego licznika zapytań, zamiast liczyć każdy osobno.

  • Czytanie sygnałów z odpowiedzi - integracja odczytuje nagłówki i pola o zużyciu limitu i zwalnia, zanim dostanie 429.

  • Kolejka z priorytetami - pobranie zamówień i zmiana stanu przy sprzedaży idą przed aktualizacją opisów i zdjęć.

  • Operacje zbiorcze - jeśli API pozwala zaktualizować wiele produktów w jednym wywołaniu, integracja z tego korzysta.

  • Zdarzenia zamiast odpytywania - webhooki i dzienniki zdarzeń zastępują cykliczne pobieranie list, w których nic się nie zmieniło.

  • Pamięć podręczna danych słownikowych - kategorie, parametry czy metody dostawy pobiera się raz i odświeża rzadko.

Webhooki to jedna z najskuteczniejszych metod oszczędzania limitu, bo integracja dostaje informację o zmianie, zamiast co minutę sprawdzać, czy coś się wydarzyło. Wymagają jednak weryfikacji nadawcy, idempotencji i okresowego uzgadniania danych, o czym piszemy we wpisie webhooki w e-commerce - do czego służą i jak je bezpiecznie wdrożyć.

Ponawianie po błędzie 429 - odstęp wykładniczy i losowy rozrzut

Nawet dobrze zaprojektowana integracja czasem dostanie 429, np. gdy z tego samego konta korzysta inna aplikacja. Wtedy liczy się sposób ponawiania. Amazon w artykule z serii Builders' Library o limitach czasu, ponowieniach i odstępach zaleca wydłużanie odstępu po każdej nieudanej próbie z górnym ograniczeniem, dodanie losowego rozrzutu (jitter), żeby wiele procesów nie ponawiało zapytań w tej samej chwili, ograniczenie liczby prób i ponawianie tylko w jednym miejscu stosu, bo ponowienia na kilku warstwach mnożą obciążenie. Shopify w dokumentacji limitów rekomenduje odczekanie co najmniej sekundy przed kolejnym zapytaniem po przekroczeniu limitu (stan na lipiec 2026 - sprawdź aktualną dokumentację Shopify).

Przełożone na integrację sklepu, ponawianie po 429 wygląda tak:

[#chart:wpr84b]

Ważne jest rozróżnienie błędów. 429 i błędy serwera z grupy 5xx zwykle mają sens ponawiać. Błędy 400, 401 czy 403 oznaczają problem z samym zapytaniem, tokenem lub uprawnieniami i ponawianie ich bez zmian tylko zużywa limit. Jak czytać poszczególne kody w integracji sklepu, opisujemy we wpisie integracja przestała działać - lista kontrolna diagnozy.

Idempotencja - ponowienie bez duplikatów

Ponowienie jest bezpieczne tylko wtedy, gdy dwukrotne wykonanie tej samej operacji daje ten sam wynik. Odczyt danych i ustawienie stanu na konkretną wartość są z natury bezpieczne. Utworzenie zamówienia w ERP, wystawienie faktury czy zamówienie kuriera - już nie. Jeśli odpowiedź na takie zapytanie nie dotarła, integracja nie wie, czy operacja się wykonała. Dlatego przy operacjach tworzących dane zapisuje się identyfikator źródłowy, np. numer zamówienia z marketplace'u, i przed ponowieniem sprawdza, czy rekord już istnieje. Wiele API pozwala też przekazać własny identyfikator operacji, po którym serwer rozpozna powtórzenie.

Budżet limitu - jak podzielić zapytania między zadania

Limit to wspólny zasób wszystkich procesów integracji. Jeśli nocna aktualizacja opisów zużyje całą pulę, pobieranie zamówień zacznie dostawać 429. Dlatego warto zaplanować budżet: jaka część limitu jest zarezerwowana dla zadań krytycznych, jaka dla zadań cyklicznych, a jaka zostaje jako zapas na ponowienia i nagłe skoki ruchu. Przykładowy podział dla integracji z jednym marketplace'em może wyglądać tak:

[#chart:wpr84c]

Liczby w takim budżecie wynikają z pomiaru, a nie z założeń. Integracja powinna zapisywać, ile zapytań wykonuje każdy proces, żeby po tygodniu było widać, co naprawdę zużywa limit. Często okazuje się, że największym konsumentem jest zadanie, które co minutę pobiera pełną listę ofert, choć zmienia się w niej kilka pozycji dziennie. Zmiana takiego zadania na pobieranie tylko rekordów zmienionych od ostatniej synchronizacji potrafi zwolnić większą część limitu bez żadnych kosztów po stronie platformy. Budżet warto przeglądać po każdym dodaniu nowego procesu do integracji, bo każdy kolejny proces korzysta z tej samej puli.

Operacje zbiorcze i masowe aktualizacje

Największą oszczędność limitu daje zwykle zmiana sposobu wysyłania danych, a nie droższy plan. Base pozwala zaktualizować stany do 1000 produktów w jednym wywołaniu metody updateInventoryProductsStock, więc aktualizacja całego katalogu może zająć kilka zapytań zamiast kilku tysięcy. Shopify do dużych odczytów udostępnia operacje masowe (bulk operations), które według dokumentacji nie mają limitów kosztu i liczby zapytań obowiązujących pojedyncze zapytania GraphQL (stan na lipiec 2026 - sprawdź aktualną dokumentację Base i Shopify).

Przy masowych zmianach, np. przecenie całej kategorii, warto też rozłożyć pracę w czasie: zacząć od produktów z największą sprzedażą, wysyłać paczki danych w stałym tempie i mierzyć, kiedy zmiany są widoczne we wszystkich kanałach. Integracja, która próbuje wypchnąć wszystko naraz, kończy zwykle w pętli błędów 429 i wydłuża całą operację. Przy przecenach o ustalonej godzinie lepiej przygotować dane wcześniej i zacząć wysyłkę z wyprzedzeniem, jeśli platforma pozwala zaplanować zmianę.

[#tip] Przy integracjach z Allegro dodatkowym ograniczeniem jest kubełek liczony na użytkownika dla wybranych zasobów. Zbyt wiele równoległych zapytań w imieniu tego samego konta kończy się 429, nawet gdy limit Client ID jest daleko. Dlatego liczba równoległych wątków na jedno konto sprzedawcy powinna być ustawiana świadomie, a nie maksymalnie.

Kilka kont i kilka sklepów w jednej integracji

Limity rzadko są liczone globalnie. Shopify liczy je dla pary aplikacja-sklep, Allegro dla Client ID, a dla wybranych zasobów także dla konkretnego użytkownika. Ma to znaczenie, gdy jedna integracja obsługuje kilka kont sprzedawcy albo kilka sklepów. Ogranicznik zapytań musi wtedy prowadzić osobne liczniki dla każdego konta i wspólny dla aplikacji, a kolejka powinna rozdzielać pracę tak, żeby jedno duże konto nie zablokowało pozostałych. Przy integracjach budowanych dla wielu klientów dochodzi jeszcze jedna zasada: plan sklepu wpływa na limit, więc ta sama integracja może potrzebować innych ustawień tempa na różnych sklepach.

Jak testować obsługę limitów przed wdrożeniem

Obsługę 429 trudno sprawdzić na produkcji, bo nikt nie chce celowo blokować konta. Lepiej przetestować ją w sandboxie lub na atrapie API, która zwraca 429 z nagłówkiem Retry-After co kilka zapytań. Według dokumentacji Allegro główny limit obowiązuje także w środowisku testowym, więc sandbox pozwala sprawdzić zachowanie integracji przy dużej liczbie zapytań. Test powinien potwierdzić, że integracja zwalnia, nie gubi danych, nie tworzy duplikatów i po ustąpieniu blokady nadrabia zaległości w rozsądnym czasie.

Monitoring zużycia limitów API

O problemie z limitami lepiej dowiedzieć się z wykresu niż od klienta, któremu nie dotarło potwierdzenie zamówienia. Minimalny monitoring obejmuje liczbę odpowiedzi 429 na godzinę z podziałem na API i proces, zużycie limitu odczytane z nagłówków lub pól odpowiedzi, długość kolejki zadań i czas oczekiwania najstarszego zadania. Alert powinien przyjść, gdy błędy 429 pojawiają się stale, a nie pojedynczo, albo gdy kolejka zamówień rośnie dłużej niż kilka minut. Jak ustawić takie powiadomienia bez fałszywych alarmów, opisujemy we wpisie monitoring integracji i alerty o błędach.

Najczęstsze błędy w obsłudze limitów API

  1. Każdy proces liczy limit osobno, więc razem przekraczają pulę, choć każdy z osobna mieści się w normie.

  2. Ponawianie natychmiast i bez końca, które po 429 wydłuża blokadę i zużywa limit innych zadań.

  3. Ponawianie na kilku warstwach naraz: w bibliotece HTTP, w kodzie integracji i w kolejce.

  4. Brak idempotencji, przez który ponowione utworzenie zamówienia lub faktury daje duplikat.

  5. Odpytywanie pełnych list co minutę zamiast zdarzeń lub filtrowania po dacie zmiany.

  6. Ignorowanie nagłówka Retry-After i informacji o zużyciu zwracanych przez API.

Jak Vinson pomaga z limitami API w integracjach

Zapewniamy wsparcie programistyczne dla sklepów i sprzedawców: integracje, automatyzacje, poprawki i rozwój sklepów oraz narzędzi. Mierzymy, które procesy zużywają limity API, wprowadzamy wspólny ogranicznik zapytań, kolejki z priorytetami, operacje zbiorcze i ponawianie z odstępem, zabezpieczamy integracje przed duplikatami i dodajemy monitoring zużycia limitów. Szczegóły znajdziesz na stronie Wsparcie programistyczne dla e-commerce.

Najczęściej zadawane pytania

Co oznacza błąd 429 w integracji sklepu?

Błąd 429 Too Many Requests oznacza, że integracja wysłała zbyt wiele zapytań do API w danym czasie i przekroczyła limit platformy. Integracja powinna odczekać, najlepiej tyle, ile wskazuje nagłówek Retry-After, i ponowić zapytanie. Częste błędy 429 to sygnał, że trzeba zmniejszyć liczbę zapytań.

Jaki jest limit zapytań API Allegro?

Według dokumentacji Allegro główny limit to 9000 zapytań na minutę na Client ID, a po jego przekroczeniu Client ID jest blokowany na minutę. Wybrane zasoby mają niższe limity, a dla części działa dodatkowe ograniczenie na użytkownika (stan na lipiec 2026 - sprawdź aktualną dokumentację Allegro).

Jak działa limit w Shopify GraphQL Admin API?

Shopify liczy koszt zapytań w punktach, które odnawiają się co sekundę: 100 na planie podstawowym, 200 na Advanced i 1000 na Plus. Pojedyncze zapytanie nie może kosztować więcej niż 1000 punktów, a stan limitu jest zwracany w polu extensions.cost odpowiedzi (stan na lipiec 2026 - sprawdź aktualną dokumentację Shopify).

Czy warto ponawiać zapytania po błędzie 429?

Tak, ale z rosnącym odstępem, losowym rozrzutem i ograniczoną liczbą prób, w jednym miejscu integracji. Ponawiać można bez obaw odczyty i operacje idempotentne. Przy tworzeniu zamówień, faktur czy przesyłek trzeba najpierw sprawdzić, czy poprzednia próba się nie wykonała.

Jak zmniejszyć liczbę zapytań do API w integracji?

Używaj operacji zbiorczych, webhooków i dzienników zdarzeń zamiast cyklicznego odpytywania, przechowuj w pamięci podręcznej dane, które rzadko się zmieniają, i pobieraj tylko rekordy zmienione od ostatniej synchronizacji. Najpierw zmierz, który proces zużywa najwięcej zapytań.

Limity API nie znikną, ale integracja może z nimi współpracować zamiast z nimi walczyć. Jeśli Twoje integracje regularnie dostają błędy 429 albo nie nadążają w szczycie sprzedaży, sprawdź wsparcie programistyczne Vinson.

Czy ten artykuł był pomocny? Oceń go
Bądź pierwszą osobą, która oceni

Łukasz Palej

Technical Implementation Expert

Wdraża integracje i rozwiązania IT dla e-commerce: sklepy, feedy produktowe, przepływ danych między systemami.

Wdraża integracje i rozwiązania IT dla e-commerce: sklepy, feedy produktowe, przepływ danych między systemami.

★★★★★
Współpracowałeś z Vinson?
Twoja opinia pomoże innym sprzedawcom wybrać sprawdzoną agencję. Zajmie Ci to minutę.
Oceń nas na Trustpilot →
Potrzebujesz pomocy z tym tematem?

Wsparcie programistyczne dla e-commerce

Łukasz i nasz zespół pomogą Ci wdrożyć to na Twoim koncie - bez zobowiązań.

  • Analiza Twojego konta i obecnych działań
  • Konkretny plan poprawek do wdrożenia
  • Bezpłatna konsultacja – bez zobowiązań
4,9/5 ze 171 opiniiWsparcie programistyczne dla e-commerce
Łukasz Palej - Technical Implementation Expert
Łukasz PalejTechnical Implementation Expert

Przeczytaj także

Więcej porad z naszej bazy wiedzy - przesuń, aby zobaczyć kolejne artykuły.

1 / 1

Masz pytania? Chętnie porozmawiamy!

Masz pytania? Chętnie porozmawiamy!

Odpowiadamy w ciągu 24 godzin w dni robocze. Pierwsza rozmowa jest bezpłatna i do niczego nie zobowiązuje.

Masz pytania? Chętnie porozmawiamy!

Odpowiadamy w ciągu 24 godzin w dni robocze. Pierwsza rozmowa jest bezpłatna i do niczego nie zobowiązuje.

Bartłomiej Stokłosa, CEO Vinson Agency

Bartłomiej Stokłosa

CEO & Founder

"Jeżeli czegoś nie da się zrobić, potrzebny jest ktoś, kto o tym nie wie - przyjdzie i to zrobi."

Bartłomiej Stokłosa, CEO Vinson Agency

Bartłomiej Stokłosa

CEO & Founder

"Jeżeli czegoś nie da się zrobić, potrzebny jest ktoś, kto o tym nie wie - przyjdzie i to zrobi."

Zadzwoń

574 944 685

Adres

Kazimierza Wielkiego 7/7

32-700 Bochnia

Wybierz dogodny termin w kalendarzu - bez wymiany maili w tę i z powrotem.

Napisz do nas

Opisz krótko, czego potrzebujesz - oddzwonimy lub odpiszemy w ciągu 24 godzin w dni robocze.

Łukasz PalejNa zapytanie odpowie Łukasz Palej, Technical Implementation Expert

Napisz do nas

Opisz krótko, czego potrzebujesz - oddzwonimy lub odpiszemy w ciągu 24 godzin w dni robocze.

Łukasz PalejNa zapytanie odpowie Łukasz Palej, Technical Implementation Expert
4,9172 opinii klientów · Trustindex →