Błąd WhatsApp 4: aplikacja osiągnęła limit wywołań API
Kod błędu 4 oznacza, że aplikacja osiągnęła limit wywołań API. Meta opisuje go jako „The app has reached its API call rate limit.” Limit liczy wywołania wykonane przez aplikację w przesuwanym oknie jednej godziny, a nie wiadomości wysłane z numeru. Sprawdź zużycie w App Dashboard, poczekaj i ogranicz częstotliwość wywołań API przez aplikację.
Kod Meta dla komunikatu „The app has reached its API call rate limit.”
Liczba wywołań, które aplikacja może wykonać w ciągu godziny według Graph API Platform Rate Limits.
Nazwa, jaką przewodnik Graph API error handling nadaje kodowi 4.
Co oznacza kod błędu WhatsApp 4?
Oznacza, że Twoja aplikacja wykonała zbyt wiele wywołań API w bieżącym oknie i kolejne wywołania są odrzucane, dopóki licznik nie spadnie.
Meta wymienia kod 4 wśród błędów ograniczania ruchu z opisem „The app has reached its API call rate limit.” Przewodnik Graph API error handling nazywa go API Too Many Calls i opisuje jako przejściowy problem z ograniczaniem ruchu.
Występuje obok dwóch innych kodów ograniczania ruchu, które łatwo z nim pomylić. 80007 oznacza, że konto WhatsApp Business Account osiągnęło swój limit. 130429 dotyczy przepustowości wiadomości w Cloud API. Kod 4 to żaden z nich: to własny budżet wywołań aplikacji.
Jak liczony jest limit wywołań aplikacji?
Dla żądań wykonywanych z tokenem dostępu aplikacji przewodnik Meta o ograniczaniu ruchu w Graph API podaje wzór: liczba wywołań w ciągu godziny jest równa 200 pomnożone przez liczbę użytkowników.
Liczba użytkowników opiera się na unikalnych dziennych aktywnych użytkownikach aplikacji, a gdy dzienne użycie spada, uwzględniane są wartości tygodniowe i miesięczne. Limit dotyczy całej aplikacji, a nie pojedynczego użytkownika, więc kilku bardzo aktywnych użytkowników może zużyć jego większość.
Przewodnik podaje też, że zużycie widać w App Dashboard, a po wykonaniu odpowiedniej liczby wywołań także w nagłówku X-App-Usage w odpowiedziach. Ten nagłówek pozwala zauważyć zbliżanie się do limitu, zanim pojawi się błąd 4.
Co zrobić po błędzie 4?
Przestań na chwilę wywoływać API, a potem wywołuj je rzadziej.
Pierwsza część jest w przewodniku Meta jednoznaczna: po osiągnięciu limitu przestań wykonywać wywołania API, ponieważ kontynuowanie zwiększa licznik i wydłuża czas, po którym wywołania znów będą udane.
Druga część to kwestia projektu. Rozkładaj żądania równomiernie zamiast w seriach, filtruj odpowiedzi, aby jedno wywołanie zwracało to, czego potrzebujesz, i unikaj wywołań pobierających nakładające się dane. Najczęstszym winowajcą jest odpytywanie. Integracja, która co kilka sekund prosi o ten sam status konta, zużywa budżet na odpowiedzi, które już zna.
Typowe błędy
- Ponawianie w pętli. Każde dodatkowe wywołanie zwiększa licznik i oddala powrót do normy.
- Traktowanie błędu jako limitu wysyłki. Kod 4 liczy wywołania aplikacji, a przepustowość wiadomości to 130429.
- Odpytywanie endpointów statusu w krótkich odstępach. Wielokrotne odczyty niezmienionych danych zużywają godzinowy budżet.
EasyCoexistence monitoruje każdy połączony numer całą dobę, 7 dni w tygodniu, po swojej stronie, więc sprawdzania kondycji połączenia nie trzeba budować jako pętli odpytywania, która zużywa budżet wywołań Twojej aplikacji.
Najczęściej zadawane pytania
Czy błąd 4 to to samo co błąd 130429?
Nie. 130429 dotyczy przepustowości wiadomości dla numeru. Błąd 4 dotyczy liczby wywołań API wykonanych przez Twoją aplikację.
Jak długo trwa błąd 4?
Do chwili, gdy liczba wywołań w przesuwanym oknie jednej godziny spadnie poniżej limitu. Wywoływanie API w tym czasie go wydłuża.
Gdzie sprawdzę, jak blisko limitu jest moja aplikacja?
W sekcji Application Rate Limit w App Dashboard oraz w nagłówku X-App-Usage zwracanym w odpowiedziach.
Czy błąd 4 to to samo co błąd 80007?
Nie. Meta używa 80007, gdy konto WhatsApp Business Account osiąga swój limit, a błąd 4 liczy własne wywołania aplikacji.
Czytaj dalej
Gotowy, aby zacząć?
Skonfiguruj WhatsApp Coexistence w kilka minut, nie miesięcy. Aplikacja nadal działa na telefonie.
Rozpocznij bezpłatny okres próbnyZweryfikowano w