English/USD
Język
Waluta
Centrum Wsparcia
FAQ
API
Zasady Handlu API
Często zadawane pytania na temat API (FAQ)
Binance
2018-06-05 09:38

[ Dokumentacja API | Nieoficjalne przykłady wykorzystania API ]

Lista pytań

  • Jakie są limity API?

    • Przegląd
    • Twarde limity
    • Limity nakładane w ramach algorytmu uczenia maszynowego
    • Limity WAF (Web Application Firewall)
  • Jeżeli przekroczę limity, to ograniczane jest moje konto, adres IP czy klucz API?
  • Zostałem tymczasowo zbanowany przez błąd w swojej aplikacji, który już naprawiłem. Czy jest możliwość wcześniejszego zniesienia blokady?
  • Podczas korzystania z API otrzymuję błąd HTTP 403. Dlaczego?
  • Dlaczego moje połączenia inicjowane za pomocą websocket są rozłączane/nie dochodzą do skutku?
  • Wykorzystuję usługę/narzędzie dostarczone przez osobę/firmę trzecią, które nie działa. Czy jesteście w stanie mi pomóc?
  • Pomimo tego, że nic nie zmieniłem w swojej aplikacji, to otrzymuję błędy. Dlaczego?
  • Potrzebuję ponownie wykorzystać swój Klucz Prywatny, ale w jego miejscu widzę tylko “*”. Jak go odzyskać?
  • Czy mogę zawnioskować o zwiększenie swoich limitów lub uzyskać indywidualne limity/połączenie?
  • Mój klucz API zniknął! Pomocy!
  • Otrzymuję komunikat z błędu “Error -1021 (Message: Timestamp for this request is outside of the recvWindow)". Jak mogę rozwiązać ten problem?
  • Czy ze swoim kluczem API mogę zrobić <to> lub <tamto>?
  • Wydaje mi się, że znalazłem(am) błąd w działaniu API. Gdzie mogę go zgłosić?

Jakie są limity API?

Przegląd

Istnieją trzy kategorie limitów. Każda z kategorii może ulec zmianie w dowolnym momencie:

  1. Twarde limity
  2. Limity ustalane w ramach tzw. uczenia maszynowego
  3. Limity WAF (Web Application Firewall)

Twarde limity:

  • 1200 ważonych żądań na minutę [request weight] (pamiętaj, że to nie to samo co 1200 żądań)
  • 100 zleceń na 10 sekundę
  • 200 000 zleceń na 24 godziny

Twarde limity są też dostępne na naszej końcówce (endpoint) "/api/v1/exchangeInfo"

Limity ustalane w ramach uczenia maszynowego::

Stopień wykorzystania API oceniany jest w stosunku do jego użytkowania przez przeciętnego użytkownika. Jeżeli Twój sposób wykorzystania API będzie znacząco odbiegać od średniej, to możesz zostać zablokowany na czas od 5 minut do 3 dni.

Aby lepiej zrozumieć mechanizm działania oceny wykorzystania API, posłużmy się przykładem. Twój wynik wzrośnie, jeśli:

  • Cyklicznie atakujesz pozycje innych stawiając swoje własne zlecenia “'oczko wyżej' od nich lub bezpośrednio wykonujesz front running na księgę zleceń niezależnie od strony (bid/ask).
  • Tworzysz i anulujesz jednocześnie bardzo dużą ilość zleceń bez doprowadzania do transakcji handlowych.
  • Twój wskaźnik konwersji jest zbyt niski. Wzór do obliczenia: (ilośćTransakcji/(zlecenia wystawione+zlecenia anulowane)) w ciągu 24 godzin.
  • Twoja wskaźnik wpływowości jest zbyt niski. Wzór: (CałkowitaIlośćZleceń/(zlecenia wystawione+zlecenia anulowane)) w ciągu 24 godzin.
  • W przypadku handlu na parach, których podstawą jest BNB, ilość punktów uzyskanych za przekroczenie norm jest większa.

Więcej informacji na temat obowiązujących limitów niż te podane wyżej nie zostanie upublicznionych. Do uzyskania żądanych efektów posługuj się metodą prób i błędów, lub omów poprawny sposób wykorzystania API z innymi użytkownikami.

Limity WAF

While we do not provide exact details on our WAF rules, if you are receiving an HTTP 403 error, you have broken a rule. Most likely, it will be a result of excessive requests with a duration of 5 minutes. However, if you are sending a request that could be perceived as malicious, it could also result in a ban of a longer duration.

 

Chociaż nie podajemy dokładnych szczegółów na temat naszych limit WAF, jeśli w odpowiedzi na Twoje zapytanie uzyskasz błąd HTTP 403, oznacza to, że przekroczyłeś te limity. Najprawdopodobniej będzie to wynik nadmiernej ilości zapytań wysłanych w ciągu ostatnich 5 minut. Jeśli jednak wysyłasz żądanie, które może być postrzegane jako złośliwe, może to również skutkować zakazem dostępu do API na dłuższy czas.

Jeżeli przekroczę limity, to ograniczane jest moje konto, adres IP czy klucz API?

W przypadku limitów twardych przekroczenie całkowitego limitu 1200 ważonych żądań (obecnie 1200) spowoduje nałożenie zakazu po adresie IP. Limity zleceń (obecnie 10 na sekundę i 100 000 na 24 godziny) zależą od konta. Jeśli limit zleceń zostanie przekroczony, to niemożliwe będzie wystawienie zlecenia zarówno za pośrednictwem API jak i interfejsu przeglądarkowego, aplikacji mobilnej i aplikacji na komputery.

W kwestii limitów wynikających z uczenia maszynowego, ograniczenia są nakładane na konto. Jeśli użytkownik został ograniczony przez system ML, może sprawdzić przyczynę tej blokady i czas jej trwania, używając endpointu „/wapi/v3/accountStatus.html” (o którym więcej dowiesz się w naszej dokumentacji WAPI).

Ograniczenia WAF nakładane są jedynie na adres IP. Bany WAF najczęściej nakładane są na 5 minut, jeżeli jednak serwer zinterpretuje żądanie użytkownika API jako złośliwe, długość banu może zostać wydłużona.

Zostałem tymczasowo zbanowany przez błąd w swojej aplikacji, który już naprawiłem. Czy jest możliwość wcześniejszego zniesienia blokady?

Nie. Musisz przeczekać cały okres banu.

Podczas korzystania z API otrzymuję błąd HTTP 403. Dlaczego?

Naruszyłeś(aś) zasady WAF (Web Application Firewall), najprawdopodobniej przez naruszenie limitu wysyłanych zapytań lub wysyłając złośliwe zapytanie (co szerzej opisaliśmy w części dotyczącej limitów w tym artykule). Bany zazwyczaj trwają 5 minut.

Dlaczego moje połączenie inicjowane za pomocą sieci web jest rozłączane / nie dochodzą do skutku?

Co 3 minuty wszystkie aktywne połączenia sieciowe otrzymują zapytanie ping. Jeśli nie odpowiesz poprawnym sformatowanym pongiem, połączenie zostanie przerwane.

 

W przypadku strumieni danych użytkowników, jeśli sygnał podtrzymania połączenia nie zostanie odebrany co najmniej raz na 60 minut, klucz nasłuchowy (listen key) wygaśnie. Szczegółowe wyjaśnienia znajdują się w naszej dokumentacji WAPI.

Wykorzystuję usługę / narzędzie dostarczone przez osobę / firmę trzecią, które nie działa. Czy jesteście w stanie mi pomóc?

Niestety nie oferujemy wsparcia dla usług lub narzędzi innych firm. Skontaktuj się z serwisem i/lub programistami tego narzędzia/usługi w celu uzyskania pomocy.

Przy tej okazji pragniemy nadmienić, iż wykorzystywanie usług dostarczanych przez podmioty zewnętrzne - wliczając w to udostępnianie im swojego klucza API lub klucza prywatnego API niesie za sobą ogromne ryzyko.

Pamiętaj, że na żadnym z kanałów nie udzielamy pomocy w kwestiach programistycznych.

Pomimo tego, że nic nie zmieniłem w swojej aplikacji, to otrzymuję błędy. Dlaczego?

Niestety, ale nie jesteśmy w stanie zapewnić Ci wsparcia w przypadku problemów z osobistą implementacją na bazie naszego API. Jeśli korzystasz z narzędzia/usługi innej firmy, skontaktuj się z jego/jej supportem w celu uzyskania pomocy.

Potrzebuję ponownie wykorzystać swój Klucz Prywatny, ale w jego miejscu widzę tylko “*”. Jak go odzyskać?

Dla Twojego własnego bezpieczeństwa, Klucze Prywatne do API są widoczne tylko w momencie tworzenia danego klucza. W każdej sytuacji następującej po utworzeniu klucza, wartość Klucza Prywatnego będzie zamaskowana. Jeśli zgubiłeś swój Klucz Prywatny do API lub nie zapisałeś(aś) go, będziesz musiał(a) utworzyć nowy klucz API.

Czy mogę zawnioskować o zwiększenie swoich limitów lub uzyskać indywidualne limity / połączenie?

Niestety nie jest to obecnie coś, co moglibyśmy Ci zaoferować. Bazując na limitach, które są obecnie wdrożone na naszą platformę, nie powinieneś(aś) napotkać żadnych problemów.

Mój klucz API zniknął! Pomocy!

Istnieją tylko dwa prawdopodobne wyjaśnienia sytuacji w której klucz API „znika”:

  1. Jeśli nie byłeś(aś) ostatnio aktywny i korzystałeś(aś) z interfejsu API przed 7 marca 2019 r., możliwe, że Twoje klucze API zostały usunięte, aby zapewnić bezpieczeństwo Twojego konta.
  2. Jeżeli ręcznie dezaktywowałeś(aś) swoje konto, wszystkie klucze API do niego przypisane również ulegają skasowaniu.

Nowe klucze API możesz utworzyć w dowolnym momencie bez żadnych problemów.

Otrzymuję komunikat błędu “Error -1021 (Message: Timestamp for this request is outside of the recvWindow)". Jak mogę rozwiązać ten problem?

Zazwyczaj błąd ten występuje tylko wtedy, gdy pomiędzy Twoim zegarem systemowym, a zegarem serwera występuje desynchronizacja. W takiej sytuacji jedynym rozwiązaniem jest ręczne zsynchronizowanie zegara systemowego, jednak ten proces różni się w zależności od systemu operacyjnego.

W przypadku systemu Windows możesz zewnętrznej aplikacji, takiej jak np. „Atomic Clock”. Linux i Mac mogą zostać synchronizowane przy użyciu polecenia „ntpdate” w wierszu poleceń.

Jeśli nie uda Ci się rozwiązać problemu i błąd dalej się pokazuje, może to być związane z opóźnieniem Twojego połączenia internetowego (problem z siecią), a tym samym konieczne może być dostosowanie parametru recvWindow.

Czy ze swoim kluczem API mogę zrobić <to> lub <tamto>?

Jeśli w naszej dokumentacji nie widzisz żądanej przez Ciebie funkcjonalności, powinieneś założyć, że jej nie dostarczamy. Jeśli chcesz zasugerować implementację konkretnej funkcji, możesz otworzyć zgłoszenie do do Supportu.

Wydałem mi się, że znalazłem(am) błąd w działaniu API. Gdzie mogę iść zgłosić?

Jeśli uważasz, że problem leży po naszej stronie, a nie po stronie wdrożenia (czyt. Twojej), pamiętaj, że do przyjrzenia się sprawie potrzebujemy szczegółowego opisu.

Możesz skontaktować się z nami za pośrednictwem naszego czatu na komunikatorze Telegram Binance API English - przyjrzymy się sprawie. Nie jest to jednak grupa oficjalnego wsparcia programistycznego - jest to grupa społecznościowa dla użytkowników Binance API.


Masz więcej pytań?złóż wniosek
Powiązane Artykuły
Jak utworzyć klucz API