Ajuda da API do MediaWiki

Esta é uma página de documentação da API do MediaWiki gerada automaticamente.

Documentação e exemplos: https://www.mediawiki.org/wiki/Special:MyLanguage/API:Main_page

Módulo principal

Estado: A API do MediaWiki é uma interface consolidada e estável que é constantemente suportada e melhorada. Embora tentemos evitá-lo, podemos ocasionalmente realizar alterações disruptivas. Inscreva-se na lista de distribuição mediawiki-api-announce para receber notificações das atualizações.

Pedidos incorretos: Quando são enviados pedidos incorretos à API, será devolvido um cabeçalho HTTP com a chave "MediaWiki-API-Error" e depois tanto o valor desse cabeçalho como o código de erro devolvido serão definidos com o mesmo valor. Para mais informação, consulte API:Erros e avisos.

Parâmetros específicos:
action

A operação a ser realizada.

block
Bloquear um utilizador.
changeauthenticationdata
Alterar os dados de autenticação do utilizador atual.
changecontentmodel
Alterar o modelo de conteúdo de uma página
checktoken
Verificar a validade de uma chave a partir de action=query&meta=tokens.
clearhasmsg
Limpa a indicação hasmsg do utilizador atual.
clientlogin
Entrar na wiki usando o processo interativo.
compare
Obter a diferença entre duas páginas.
createaccount
Criar uma conta de utilizador nova.
delete
Eliminar uma página.
edit
Criar e editar páginas.
emailuser
Enviar correio eletrónico a um utilizador.
embedvideo
Obter o código de incorporação de vídeo gerado para os parâmetros fornecidos.
expandtemplates
Expande todas as predefinições existentes num texto wiki.
feedcontributions
Devolve um feed das contribuições do utilizador.
feedrecentchanges
Devolve um feed das mudanças recentes.
feedwatchlist
Devolve um feed das páginas vigiadas.
filerevert
Reverter um ficheiro para uma versão antiga.
help
Apresentar ajuda para os módulos especificados.
imagerotate
Rodar uma ou mais imagens.
import
Importar uma página de outra wiki ou de um ficheiro XML.
languagesearch
Pesquisar nomes de línguas em qualquer sistema de escrita.
linkaccount
Ligar uma conta de um fornecedor terceiro ao utilizador atual.
login
Iniciar uma sessão e obter cookies de autenticação.
logout
Terminar a sessão e limpar os dados da sessão.
managetags
Executar tarefas de gestão relacionadas com etiquetas de modificação.
mergehistory
Fundir o historial de páginas.
move
Mover uma página.
opensearch
Pesquisar a wiki usando o protocolo OpenSearch.
options
Alterar as preferências do utilizador atual.
paraminfo
Obter informação sobre os módulos da API.
parse
Faz a análise sintática do conteúdo e devolve o resultado da análise.
patrol
Patrulhar uma página ou revisão.
protect
Alterar o nível de proteção de uma página.
purge
Limpar a cache para os títulos especificados.
query
Obter dados de, e sobre, o MediaWiki.
removeauthenticationdata
Remover os dados de autenticação do utilizador atual.
resetpassword
Enviar a um utilizador uma mensagem eletrónica de reinício da palavra-passe.
revisiondelete
Eliminar e restaurar revisões.
rollback
Desfazer a última edição da página.
rsd
Exportar um esquema (schema) RSD (Really Simple Discovery).
setnotificationtimestamp
Atualizar a data e hora de notificação de alterações às páginas vigiadas.
setpagelanguage
Alterar a língua de uma página.
tag
Adicionar ou remover as etiquetas de modificação aplicadas a revisões individuais ou a entradas do registo.
unblock
Desbloquear um utilizador.
undelete
Restaurar revisões de uma página eliminada.
unlinkaccount
Remover do utilizador atual uma conta ligada de uma wiki terceira.
upload
Carregar um ficheiro, ou obter o estado dos carregamentos pendentes.
userrights
Alterar os grupos a que um utilizador pertence.
validatepassword
Validar uma palavra-passe face às regras para palavras-passe da wiki.
watch
Adicionar ou remover páginas da lista de páginas vigiadas do utilizador atual.
webapp-manifest
Devolve um manifesto de aplicação da Internet.
cspreport
Interno. Usado por browsers para reportar violações da norma "Content Security Policy". Este módulo nunca deve ser usado, exceto quando utilizado automaticamente por um browser compatível com a CSP.
stashedit
Interno. Preparar uma edição na cache partilhada.
ulslocalization
Interno. Obter a localização de ULS na língua indicada.
ulssetlang
Interno. Atualizar a língua de interface preferida do utilizador.
Um dos seguintes valores: block, changeauthenticationdata, changecontentmodel, checktoken, clearhasmsg, clientlogin, compare, createaccount, delete, edit, emailuser, embedvideo, expandtemplates, feedcontributions, feedrecentchanges, feedwatchlist, filerevert, help, imagerotate, import, languagesearch, linkaccount, login, logout, managetags, mergehistory, move, opensearch, options, paraminfo, parse, patrol, protect, purge, query, removeauthenticationdata, resetpassword, revisiondelete, rollback, rsd, setnotificationtimestamp, setpagelanguage, tag, unblock, undelete, unlinkaccount, upload, userrights, validatepassword, watch, webapp-manifest, cspreport, stashedit, ulslocalization, ulssetlang
Valor por omissão: help
format

O formato do resultado.

json
Produzir os dados de saída no formato JSON.
jsonfm
Produzir os dados de saída em formato JSON (realce sintático em HTML).
none
Não produzir nada.
php
Produzir os dados de saída em formato PHP seriado.
phpfm
Produzir os dados de saída em formato PHP seriado (realce sintático em HTML).
rawfm
Produzir os dados de saída, incluindo elementos para despiste de erros, em formato JSON (realce sintático em HTML).
xml
Produzir os dados de saída em formato XML.
xmlfm
Produzir os dados de saída em formato XML (realce sintático em HTML).
Um dos seguintes valores: json, jsonfm, none, php, phpfm, rawfm, xml, xmlfm
Valor por omissão: jsonfm
maxlag

O atraso máximo pode ser usado quando o MediaWiki é instalado num cluster de bases de dados replicadas. Para impedir que as operações causem ainda mais atrasos de replicação do sítio, este parâmetro pode fazer o cliente aguardar até que o atraso de replicação seja inferior ao valor especificado. Caso o atraso atual exceda esse valor, o código de erro maxlag é devolvido com uma mensagem como À espera do servidor $host: $lag segundos de atraso.
Consulte Manual: Parâmetro maxlag para mais informações.

Tipo: inteiro
smaxage

Definir no cabeçalho HTTP s-maxage de controlo da cache este número de segundos. Os erros nunca são armazenados na cache.

Tipo: inteiro
Valor por omissão: 0
maxage

Definir no cabeçalho HTTP max-age de controlo da cache este número de segundos. Os erros nunca são armazenados na cache.

Tipo: inteiro
Valor por omissão: 0
assert

Verificar que o utilizador está autenticado se definido com o valor user, não autenticado se definido com o valor anon, ou que tem o privilégio de conta robô se bot.

Um dos seguintes valores: anon, bot, user
assertuser

Verificar que o utilizador atual é o utilizador nomeado.

Tipo: utilizador, por nome de utilizador
requestid

Qualquer valor fornecido aqui será incluído na resposta. Pode ser usado para distinguir pedidos.

servedby

Incluir nos resultados o nome do servidor que serviu o pedido.

Tipo: booliano (detalhes)
curtimestamp

Incluir a data e hora atuais no resultado.

Tipo: booliano (detalhes)
responselanginfo

Incluir as línguas usadas para uselang e errorlang no resultado.

Tipo: booliano (detalhes)
origin

Ao aceder à API usando um pedido AJAX entre domínios (CORS), coloque aqui o domínio de origem. Isto tem de ser incluído em todas as verificações prévias e, portanto, tem de fazer parte do URI do pedido (e não do conteúdo do POST).

Para pedidos autenticados, este valor tem de corresponder de forma exata a um dos cabeçalhos Origin, portanto, tem de ser algo como https://en.wikipedia.org ou https://meta.wikimedia.org. Se este parâmetro não for igual ao cabeçalho Origin, será devolvida a resposta 403. Se este parâmetro for igual ao cabeçalho Origin e a origem for permitida, os cabeçalhos Access-Control-Allow-Origin e Access-Control-Allow-Credentials serão preenchidos.

Para pedidos não autenticados, especifique o valor *. Isto fará com que o cabeçalho Access-Control-Allow-Origin seja preenchido, mas Access-Control-Allow-Credentials terá o valor false e o acesso a todos os dados específicos do utilizador está restringido.

uselang

A língua a ser usada nas traduções de mensagens. action=query&meta=siteinfo com siprop=languages devolve uma lista de códigos de língua, ou especifique user para usar a língua nas preferências do utilizador atual, ou especifique content para usar a língua de conteúdo desta wiki.

Valor por omissão: user
variant

Variante da língua. Só funciona se a língua de base suportar a conversão de variantes.

errorformat

O formato a ser usado no texto de avisos e erros

plaintext
Texto wiki com os elementos HTML removidos e as entidades substituídas.
wikitext
Texto wiki sem análise sintática.
html
HTML
raw
Chave e parâmetros da mensagem.
none
Sem saída de texto, só os códigos de erro.
bc
Formato usado antes do MediaWiki 1.29. errorlang e errorsuselocal são ignorados.
Um dos seguintes valores: bc, html, none, plaintext, raw, wikitext
Valor por omissão: bc
errorlang

A língua a ser usada para avisos e erros. action=query&meta=siteinfo com siprop=languages devolve uma lista de códigos de língua, ou especifique content para usar a língua de conteúdo desta wiki, ou especifique uselang para usar o mesmo valor que o parâmetro uselang.

Valor por omissão: uselang
errorsuselocal

Se fornecido, os textos de erro utilizarão mensagens personalizadas localmente do espaço nominal MediaWiki.

Tipo: booliano (detalhes)
Permissões:
writeapi
Usar a API de escrita
Concedidas a: all, user e bot
apihighlimits
Usar limites mais altos em consultas da API (consultas lentas: 500; consultas rápidas: 5000). Os limites para consultas lentas também se aplicam a parâmetros com vários valores.
Concedidas a: bot e sysop

Tipo de dados

Os dados de entrada do MediaWiki devem estar no formato UTF-8 na forma normalizada NFC. O MediaWiki pode tentar converter outros formatos, mas esta conversão pode causar a falha de algumas operações (tais como edições com verificações MD5).

Os parâmetros que aceitam mais do que um valor são normalmente fornecidos com os valores separados por uma barra vertical (pipe), por exemplo parâmetro=valor1|valor2 ou parâmetro=valor1%7Cvalor2. Se um valor tiver de conter a barra vertical, use U+001F (separador de unidades) como separador e prefixe o valor com U+001F, por exemplo parâmetro=%1Fvalor1%1Fvalor2.

Alguns tipos de parâmetros nos pedidos da API requerem mais explicações.

boolean

Os parâmetros boolianos funcionam tal como as caixas de seleção em HTML: se o parâmetro for especificado, independentemente do seu valor, é considerado verdadeiro. Para especificar um valor falso, omita completamente o parâmetro.

expiry

Os valores de expiração podem ser relativos (p. ex. 5 meses ou 2 semanas) ou absolutos (p. ex. 2014-09-18T12:34:56Z). Para não haver expiração use infinite (infinito), indefinite (indefinido), infinity (infinidade) ou never (nunca).

timestamp

Datas e horas podem ser especificadas em vários formatos (consulte os formatos de entrada para datas e horas documentados em mediawiki.org para obter mais detalhes). É recomendada a utilização do formato de data e hora ISO 8601: 2001-01-15T14:56:00Z. Adicionalmente, pode ser usado o texto now para especificar a data e hora atual.

Parâmetros modelados

Os parâmetros modelados usam-se nos casos em que um módulo da API necessita de um valor para cada valor de um outro parâmetro. Por exemplo, se existisse um módulo da API para encomendar fruta, poderia ter um parâmetro frutas para especificar as frutas que estão a ser encomendadas e um parâmetro modelado quantidade-de-{fruta} para especificar quanto de cada fruta. Um cliente da API que pretenda 1 maçã, 5 bananas e 20 morangos pode então fazer um pedido como frutas=maçãs|bananas|morangos&quantidade-de-maçãs=1&quantidade-de-bananas=5&quantidade-de-morangos=20.

Créditos

Programadores da API:

  • Yuri Astrakhan (criador, programador principal, set 2006–set 2007)
  • Roan Kattouw (programador principal, set 2007–2009)
  • Victor Vasiliev
  • Bryan Tong Minh
  • Sam Reed
  • Brad Jorsch (programador principal, 2013–2020)

Pode enviar os seus comentários, sugestões e perguntas para o endereço mediawiki-api@lists.wikimedia.org, ou reportar quaisquer defeitos que encontre em https://phabricator.wikimedia.org/.