API:Etiquette/pt-br

Leia também o guia de início rápido. Ele responde algumas perguntas e aponta para outras páginas úteis.

Ajuda
Tente encontrar a resposta na documentação da API, ou local de teste da API ou na página oficial da API.
 * 1) Perguntas frequentes.
 * 1) Se você não conseguiu encontrar a resposta, pode perguntar na lista de discussão mediawiki-api mailing list.

Limite de solicitações
Não há limite rígido para as solicitações de leitura, mas pedimos que você seja atencioso para não desativar um site. A maioria dos administradores de sistema bloqueia sem cerimônia podendo colocar em risco a estabilidade do site.

Se fizer solicitações em série, ao invés de em paralelo (ou seja, aguardar a conclusão de uma solicitação antes de enviar uma nova, para não fazer solicitações ao mesmo tempo), você definitivamente está bem. Also try to combine things into one request. For example: specify multiple '|'-separated titles in a  parameter instead of making a new request for each title; use a "generator" instead of making a request for each result from another request.

Parsing of revisions
While it is possible to query for results from a specific revision number, this is an expensive operation for the servers. To retrieve a specific revision use the 'oldid' parameter, example:


 * [//en.wikipedia.org/w/api.php?action=parse&format=xml&prop=images&oldid=254862759 en.wikipedia.org/w/api.php?action=parse&format=xml&prop=images&oldid=254862759]
 * [//en.wikipedia.org/w/api.php?action=parse&format=xml&prop=images&oldid=462841413 en.wikipedia.org/w/api.php?action=parse&format=xml&prop=images&oldid=462841413]

Use maxlag parameter
If your task is not interactive (i.e. a user is not waiting for the result) you should use the maxlag parameter. This will prevent your task from running when the load on the servers is high. Higher values mean more aggressive behavior, lower values are nicer.

See:

User-Agent header
Use a descriptive  header that includes your application's name and potentially your email address if appropriate. Do not simply copy the user-agent of a popular web browser (Unless your API client is a JavaScript application running through said web browser via Ajax, in which case one cannot modify the user-agent). This ensures that if a problem does arise it is easy to track down where it originates. See API:Main page#Identifying your client and m:User-Agent policy for details.

Thinking about performance generally
If you are trying to figure out why you are getting results more slowly than you would like, try to help you think about performance generally. If you are finding that reading via the API rather than directly reading from databases is impeding your client's performance, consider whether to put it into Wikimedia's Toolforge.