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
- Fonte: MediaWiki
- Licença: GPL-2.0-or-later
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.
Testes: Para testar facilmente pedidos à API, visite Testes da API.
- 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.
- 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.
- 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.
- 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.
- visualeditor
- Interno. Devolve o HTML5 para uma página a partir do serviço Parsoid.
- visualeditoredit
- Interno. Gravar no MediaWiki uma página HTML5 (convertida para texto wiki através do serviço Parsoid).
- Um dos seguintes valores: block, changeauthenticationdata, changecontentmodel, checktoken, clearhasmsg, clientlogin, compare, createaccount, delete, edit, emailuser, expandtemplates, feedcontributions, feedrecentchanges, feedwatchlist, filerevert, help, imagerotate, import, 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, cspreport, stashedit, visualeditor, visualeditoredit
- 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çalhoOrigin
, será devolvida a resposta 403. Se este parâmetro for igual ao cabeçalhoOrigin
e a origem for permitida, os cabeçalhosAccess-Control-Allow-Origin
eAccess-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, masAccess-Control-Allow-Credentials
terá o valorfalse
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)
- Ajuda para o módulo principal.
- api.php?action=help [abrir na página de testes]
- Toda a ajuda numa página.
- api.php?action=help&recursivesubmodules=1 [abrir na página de testes]
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/.