Obsłuż limity szybkości i błędy serwera
Po odpowiedzi 429 odczekaj, a po tymczasowych awariach serwera ostrożnie ponawiaj bezpieczne operacje.
Zaktualizowano
Obsłuż odpowiedź 429
Żądanie objęte limitem zwraca 429 Too Many Requests, a detail.status ma wartość rate_limit_exceeded. Przed ponowieniem sprawdź nagłówki odpowiedzi:
Retry-Afterpodaje minimalny czas oczekiwania w sekundach dla odrzuconego żądania.X-RateLimit-Limitinformuje o limicie zasobnika.X-RateLimit-Remainingpodaje liczbę pozostałych żądań.X-RateLimit-Resetwskazuje czas resetu zasobnika.
Odczekaj czas wskazany przez Retry-After, a następnie ponów próbę z wykładniczym opóźnieniem i losowym rozproszeniem. Ogranicz liczbę równoległych żądań i umieszczaj zadania w kolejce zamiast wysyłać ich wiele od razu po resecie okna.
Obsłuż błędy serwera
W przypadku odpowiedzi 500 publiczna treść zawiera ogólny błąd i request_id; szczegóły wewnętrznego wyjątku nie są zwracane. Odpowiedź 503 może oznaczać, że wymagana usługa jest tymczasowo niedostępna.
Ponawiaj żądania tylko do odczytu z ograniczonym opóźnieniem. Przed ponowieniem żądania tworzącego, aktualizującego, płatniczego lub innego żądania zmieniającego stan ustal, czy pierwsza próba się powiodła. Limit czasu lub odpowiedź 5xx nie dowodzi, że zmiana się nie powiodła, a natychmiastowe ponowienie może spowodować duplikaty.
Zachowaj dane diagnostyczne
Zapisuj czas, metodę, ścieżkę, status, treść odpowiedzi i X-Request-Id. Nigdy nie zapisuj wartości x-api-key. Zatrzymaj automatyczne ponawianie po niewielkiej, ograniczonej liczbie prób i przekaż błąd do sprawdzenia.