Dlaczego otrzymuję błędy nieprawidłowej wartości nonce?

Ostatnia aktualizacja: 31 mar 2025

Błąd EAPI:Invalid nonce wskazuje, że żądanie API zostało odebrane z powtórzoną lub niższą niż oczekiwano wartością nonce.

Ponieważ wartość nonce musi być unikalna i musi wzrastać z każdym żądaniem, możesz napotkać błędy podczas próby wykonywania jednoczesnych żądań, żądań w krótkich odstępach czasu lub podczas próby użycia jednego klucza API dla wielu urządzeń/aplikacji/botów.

Na przykład, dwa jednoczesne żądania API mogą nie dotrzeć w zamierzonej kolejności, a jeśli drugie żądanie (z wyższą wartością nonce) dotrze przed pierwszym żądaniem (z niższą wartością nonce), pierwsze żądanie zostanie odrzucone, gdy w końcu dotrze.

Ponieważ błędy nieprawidłowej wartości nonce spowodują niepowodzenie żądań API (np. niezłożenie zleceń), błędy nieprawidłowej wartości nonce nie powinny być po prostu ignorowane, ale powinny zostać skorygowane poprzez ulepszenie algorytmu tworzenia wartości nonce (zobacz niektóre rozwiązania poniżej).

Rozwiązania

Poniżej przedstawiono kilka potencjalnych rozwiązań problemów z błędami nieprawidłowej wartości nonce:

  1. 1

    Utwórz wiele kluczy API i używaj innego klucza dla każdego jednoczesnego żądania, każdego urządzenia/aplikacji, każdego bota handlowego itp. Każdy klucz API ma swoją własną, oddzielną wartość nonce, więc kolejność, w jakiej docierają żądania API, nie będzie już problemem.

  2. 2

    Zwiększ rozdzielczość nonce, aby umożliwić dodatkowe żądania w tym samym przedziale czasowym (na przykład zwiększając rozdzielczość nonce z milisekund do dziesiątych części milisekund).

  3. 3

    Zwiększ/rozszerz okno nonce dla swoich kluczy API, aby zapewnić krótki przedział czasowy, w którym nieprawidłowe wartości nonce nie spowodowałyby błędu. Należy pamiętać, że to rozwiązanie powinno być stosowane wyłącznie w celu przezwyciężenia problemów z siecią, a nie jako sposób na całkowite ignorowanie błędów nieprawidłowej wartości nonce.

Potrzebujesz więcej pomocy?