API:Etiquette/pl

This page contains the best practices that should be followed when using the API.

Limity żądań
Nie ma ścisłych limitów dotyczących żądań odczytu, ale prosimy o bycie rozsądnym i nie spowodowanie przeciążenia strony. Większość administratorów systemów zastrzega sobie prawo do bezceremonialnego zablokowania Ciebie, jeżeli Twoje działania zagrażają stabilności strony.

Making your requests in series rather than in parallel, by waiting for one request to finish before sending a new request, should result in a safe request rate. It is also recommended that you ask for multiple items in one request by:


 * Using the pipe character whenever possible e.g. , instead of making a new request for each title.
 * Using a instead of making a request for each result from another request.


 * Use GZip compression when making API calls by setting  to reduce bandwidth usage.

Requests which make edits, modify state or otherwise are not read-only requests, are subject to rate limiting. The exact rate limit being applied might depend on the type of action, your user rights and the configuration of the website you are making the request to. The limits that apply to you can be determined by accessing the action=query&meta=userinfo&uiprop=ratelimits API endpoint.

When you hit the request rate limit you will receive a with the error code. When you encounter this error, you may retry that request, however you should increase the time between subsequent requests. A common strategy for this is Exponential backoff.

Parsowanie wersji
Choć jest możliwe odpytanie o wyniki dla konkretnej wersji, jest to obciążające dla serwera. Aby pobrać określoną wersję, użyj parametru 'oldid', przykład:

Użycie parametru maxlag
Jeżeli Twoje zadanie nie jest interaktywne (tj. użytkownik nie czeka na wynik), powinieneś wykorzystać parametr maxlag. The value of the  parameter should be an integer number of seconds. For example:

Zapobiegnie to uruchomieniu Twojego zadania, kiedy serwer jest zbyt obciążony. Większe wartości oznaczają bardziej agresywne zachowanie, niższe są przyjemniejsze.

See for more details.

Nagłówek User-Agent
It is best practice to set a descriptive User Agent header. To do so, use. For example in PHP:

Nie kopiuj user-agent'a popularnych przeglądarek (Dopóki Twój klient API nie jest aplikacją JavaScript, uruchomioną przez wspomnianą przeglądarkę poprzez Ajax; w tym przypadku nie ma możliwości zmiany user-agent). Dzięki temu jest pewność, że będzie można wyśledzić źródło problemu jeżeli takowy wystąpi.

If you are calling the API from browser-based JavaScript, you may not be able to influence the  header, depending on the browser. To work around this, use the  header.

Zobacz m:User-Agent policy aby uzyskać szczegóły.

Data formats
All new API users. See for more details.

Performance
Jeżeli próbujesz ustalić dlaczego otrzymujesz wyniki wolniej niż byś chciał, przejrzyj, które pomogą ogólnie zrozumieć kwestie wydajności.

Jeżeli stwierdzisz, że odczyt za pomocą API, zamiast bezpośredniego odczytywania z baz danych, utrudnia funkcjonowanie klienta, rozważ umieszczenie go w Wikimedia Toolforge.