Ajuda da API do MediaWiki

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

Informações gerais

Estado: A API do MediaWiki é uma interface madura e estável ativamente compatibilizada e aprimorada. Por mais que tentemos evitar, ocasionalmente talvez precisemos fazer mudanças estruturais; inscreva-se na lista de discussão mediawiki-api-announce para avisos sobre atualizações.

Requisições incorretas: Quando são enviadas requisições incorretas à API, será devolvido um cabeçalho HTTP com a chave “MediaWiki-API-Error” e tanto o valor desse cabeçalho como o código de erro devolvido serão definidos com o mesmo valor. Para mais informações, consulte API:Erros e avisos.

Métodos de requisição

As requisições de Action API podem utilizar os métodos GET e POST. É recomendado usar o método GET, que permite o roteamento das requisições para servidores de réplica mais rápidos e o armazenamento das respostas em cache, a menos que o comprimento do URL com parâmetros exceda seu limite (geralmente 8000 bytes) ou que um módulo aceite apenas requisições POST.

Os parâmetros para requisições POST podem ser enviados na parte de consulta do URL da requisição (como em requisições GET) e no corpo da requisição POST, sendo permitido combinar ambos os métodos em uma mesma requisição. Se o mesmo parâmetro for enviado como parte do URL e também no corpo da requisição, ele deverá ter o mesmo valor em ambos os locais.

Tipos 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. Pode ser usado o texto now para especificar a data e hora atual.

Limites

A maioria dos módulos de API aceita até 50 entradas em parâmetros com vários valores e pode retornar até 500 resultados por consulta (50 resultados para consultas lentas).

Para usuários com o direito apihighlimits right (Robôs e Administradores), os limites são aumentados para 500 entradas e 5 000 resultados (500 resultados para consultas lentas).

Parâmetros da predefinição

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.

Módulo principal

Specify the action to perform, the format of the response, and options that apply to all API modules.

Parâmetros específicos:
action

Qual ação executar. Este parâmetro deve ser enviado como parte do URL da requisição (e não no corpo da requisição POST) para facilitar o uso em depuração, análise e roteamento ou filtragem de requisições.

abusefiltercheckmatch
Verificar se um filtro de abusos coincide com um conjunto de variáveis, uma edição, ou um evento do registo de abusos.
abusefilterchecksyntax
Verificar a sintaxe de um filtro AbuseFilter.
abusefilterevalexpression
Avalia uma expressão AbuseFilter.
abusefilterunblockautopromote
Desbloqueia um usuário de receber auto-promoções devido a uma consequência do abusefilter.
abuselogprivatedetails
Veja detalhes privados de uma entrada do registro de abusos.
acquiretempusername
Adquirir um nome de usuário temporário e armazená-lo na sessão atual caso a criação de contas temporárias esteja ativada e o usuário atual não estiver autenticado. Se um nome já foi armazenado, retorna esse nome.
aggregategroups
Gerencie grupos de mensagens agregadas.
antispoof
Verifica um nome de usuário contra verificações de normalização do AntiSpoof.
block
Bloquear um usuário.
centralauthtoken
Buscar um centralauthtoken para fazer uma solicitação autenticada para uma wiki associada.
centralnoticecdncacheupdatebanner
Pedir a purga do conteúdo de modelos armazenado na cache CDN (cliente) para usuário anônimos, para o modelo e língua pedidos
centralnoticechoicedata
Obter dados necessários para escolher um banner para um determinado projeto e idioma
centralnoticequerycampaign
Obter todas as definições de configuração para uma campanha.
changeauthenticationdata
Alterar os dados de autenticação para o usuário atual.
changecontentmodel
Alterar o modelo de conteúdo (contentmodel) de uma página
checktoken
Verificar a validade de um token gerado a partir da consulta action=query&meta=tokens.
clearhasmsg
Limpa a sinalização (flag) hasmsg do usuário atual.
clientlogin
Entrar na wiki usando o fluxo interativo.
communityconfigurationedit
Change the content of a configuration provider in Community configuration
compare
Obter a diferença entre duas páginas.
createaccount
Criar uma nova conta de usuário.
createlocalaccount
Forçar a criação de uma conta local. Uma conta central deve existir.
delete
Excluir uma página.
deleteglobalaccount
Apagar um usuário global.
discouragetranslation
Mark a translatable page as discouraged or not discouraged. Discouraged pages are hidden from the translation interface when searching for pages to translate, but can still be translated directly.
discussiontoolsedit
Publique uma mensagem em uma página de discussão.
discussiontoolsfindcomment
Encontrar um comentário pelo seu identificador ou nome.
discussiontoolsgetsubscriptions
Obtenha os status de assinatura de determinados tópicos.
discussiontoolssubscribe
Inscreva-se (ou cancele a inscrição) para receber notificações sobre um tópico.
discussiontoolsthank
Enviar notificação de agradecimento público por um comentário.
echocreateevent
Manually trigger a notification to a user
echomarkread
Marcar notificações como lidas para o usuário atual.
echomarkseen
Marcar notificações como vistas para o usuário atual.
echomute
Desativar ou desativar o som das notificações de determinados usuários ou páginas.
edit
Criar e editar páginas.
editmassmessagelist
Editar lista de entrega de mensagem em massa.
emailuser
Envia e-mail para o usuário.
expandtemplates
Expande todas a predefinições em texto wiki.
featuredfeed
Retorna um feed de conteúdo destacado.
feedcontributions
Retorna o feed de contribuições de um usuário.
feedrecentchanges
Retorna um feed de mudanças recentes.
feedwatchlist
Retornar um feed da lista de páginas vigiadas.
filerevert
Reverte um arquivo para uma versão antiga.
globalblock
Bloquear ou desbloquear globalmente um usuário.
globalpreferenceoverrides
Alterar as sobreposições locais das preferências globais do usuário corrente.
globalpreferences
Alterar as preferências globais do usuário atual.
globaluserrights
Adicionar/remover um usuário para/de grupos globais.
groupreview
Defina estados de fluxo de trabalho do grupo de mensagens.
help
Mostra a ajuda para os módulos especificados.
imagerotate
Este módulo foi desativado.
import
Importar uma página de outra wiki ou de um arquivo XML.
jsonconfig
Permite acesso direto ao subsistema JsonConfig.
languagesearch
Procurar nomes de idiomas em qualquer escrita.
linkaccount
Vincule uma conta de um provedor de terceiros ao usuário atual.
login
Faça login e obtenha cookies de autenticação.
logout
Faça o logout e limpe os dados da sessão.
managetags
Execute tarefas de gerenciamento relacionadas às tags de alteração.
markfortranslation
Marcar uma página para tradução
massmessage
Enviar uma mensagem para uma lista de páginas.
mergehistory
Fundir históricos das páginas.
move
Mover uma página.
opensearch
Procure na wiki usando o protocolo OpenSearch.
options
Alterar as preferências do usuário atual.
paraminfo
Obter informações sobre módulos da API.
parse
Analisa o conteúdo e retorna a saída do analisador.
patrol
Patrulha uma página ou revisão.
protect
Modifica o nível de proteção de uma página.
purge
Limpe o cache para os títulos especificados.
query
Obtenha dados de e sobre o MediaWiki.
removeauthenticationdata
Remova os dados de autenticação para o usuário atual.
resetpassword
Envia um e-mail de redefinição de senha para o usuário atual.
revisiondelete
Excluir e recuperar revisões.
rollback
Desfazer a última edição para a página.
rsd
Exportar um esquema RSD (Really Simple Discovery).
searchtranslations
Pesquisar traduções.
setglobalaccountstatus
Ocultar ou bloquear (ou revelar ou desbloquear) uma conta de usuário global.
setnotificationtimestamp
Atualize o timestamp de notificação para páginas vigiadas.
setpagelanguage
Mudar o idioma de uma página.
shortenurl
Reduzir um URL longo em um curto.
sitematrix
Obter lista de sites da Wikimedia.
spamblacklist
Verifique se um ou mais URLs constam na lista de bloqueio de spam.
streamconfigs
Expõe a configuração do fluxo de eventos. Retorna apenas format=json com formatversion=2.
strikevote
Permitir aos administradores invalidar ou validar um voto.
tag
Adicionar ou remover tags de alteração de revisões individuais ou entradas de log.
templatedata
Obtenha dados armazenados pela extensão TemplateData.
thank
Enviar uma notificação de agradecimento a um(a) editor(a).
titleblacklist
Valide um título de página, nome de arquivo ou nome de usuário no TitleBlacklist.
torblock
Verificar se um endereço IP está bloqueado pelo Tor.
transcodereset
Os usuários com o direito 'transcode-reset' podem reiniciar e re-executar um trabalho de transcodificação.
translationaids
Consultar todas as ajudas de tradução.
translationreview
Marcar traduções revisadas.
translationstats
Obter estatísticas de tradução
ttmserver
Consultar sugestões das memórias de tradução.
unblock
Desbloquear usuário.
undelete
Restaure as revisões de uma página excluída.
unlinkaccount
Remova uma conta de terceiros vinculada ao usuário atual.
upload
Carregue um arquivo ou obtenha o status dos carregamentos pendentes.
userrights
Alterar a associação de um grupo de usuários.
validatepassword
Valide uma senha de acordo as políticas de senha da wiki.
watch
Adicionar ou remover páginas da lista de páginas vigiadas do usuário atual.
webapp-manifest
Retorna um manifesto do webapp.
webauthn
Módulo da API para comunicação entre servidor e cliente durante o processo de registo e autenticação.
bouncehandler
Interno. Receber um e-mail de retorno e processá-lo para lidar com o destinatário errado.
categorytree
Interno. Módulo interno para a extensão "Árvore de categorias" (CategoryTree).
chartinfo
Interno. Retrieve current count of how many unique Chart page usages there are. Multiple uses of the same chart on the same page are considered a single use.
cirrus-check-sanity
Interno. Reports on the correctness of a range of page ids in the search index
cirrus-config-dump
Interno. Dump das configurações do CirrusSearch.
cirrus-profiles-dump
Interno. Cópia em arquivo dos perfis do CirrusSearch para esta wiki.
cirrus-schema-dump
Interno. Dump of CirrusSearch schema (settings and mappings) for this wiki.
codemirror-validate
Interno. Verifique se há erros de validação no conteúdo fornecido
collection
Interno. Módulo da API para realizar várias operações na coleção de um utilizador da wiki.
cspreport
Interno. Usado por navegadores para denunciar violações da Política de Segurança de Conteúdo. Este módulo nunca deve ser usado, exceto quando usado automaticamente por um navegador web compatível com CSP.
discussiontoolscompare
Interno. Obter informações sobre alterações de comentários entre duas revisões de página.
discussiontoolspageinfo
Interno. Retorna os metadados necessários para inicializar as ferramentas de discussão.
discussiontoolspreview
Interno. Antever uma mensagem numa página de discussão.
editcheckreferenceurl
Interno. Check the status of a URL for use as a reference.
fancycaptchareload
Interno. Gerar um novo FancyCaptcha.
jsondata
Interno. Recuperar dados JSON localizados.
jsontransform
Interno. Retrieve JSON data transformed by a Lua function.
managegroupsynchronizationcache
Interno. Gerenciar cache de sincronização de grupo.
managemessagegroups
Interno. Adicione uma mensagem como renomear uma mensagem existente ou uma nova mensagem no grupo durante as importações
messagegroupsubscription
Interno. Operações relacionadas com a subscrição do grupo de mensagens
parser-migration
Interno. Analisar uma página com duas configurações tidy distintas.
readinglists
Interno. Operações de escrita das listas de leitura.
sanitize-mapdata
Interno. Executa a validação de dados para a extensão Kartographer
scribunto-console
Interno. Módulo interno para atender solicitações XHR a partir do console Scribunto.
securepollauth
Interno. Permite que um wiki remoto autentique os usuários antes de conceder acesso para votar na eleição.
stashedit
Interno. Prepare uma edição no cache compartilhado.
timedtext
Interno. Fornece conteúdo de legendas para ser usado por elementos <track>
translationcheck
Interno. Validar traduções.
translationentitysearch
Interno. Pesquise grupos de mensagens e mensagens
ulslocalization
Interno. Obter a localização do Seletor de Idiomas Universal (ULS) no idioma fornecido.
ulssetlang
Interno. Atualizar o idioma de interface preferido do usuário.
visualeditor
Interno. Retorna código HTML5 a uma página através do serviço Parsoid.
visualeditoredit
Interno. Salva uma página HTML5 em MediaWiki (convertida para texto wiki através do serviço Parsoid).
wikimediaeventsblockededit
Interno. Informações do registo sobre tentativas de edição bloqueadas
wikimediaeventshcaptchaeditattempt
Interno. Log edit diff when hCaptcha challenge is shown but edit is incomplete
Um dos seguintes valores: abusefiltercheckmatch, abusefilterchecksyntax, abusefilterevalexpression, abusefilterunblockautopromote, abuselogprivatedetails, acquiretempusername, aggregategroups, antispoof, block, centralauthtoken, centralnoticecdncacheupdatebanner, centralnoticechoicedata, centralnoticequerycampaign, changeauthenticationdata, changecontentmodel, checktoken, clearhasmsg, clientlogin, communityconfigurationedit, compare, createaccount, createlocalaccount, delete, deleteglobalaccount, discouragetranslation, discussiontoolsedit, discussiontoolsfindcomment, discussiontoolsgetsubscriptions, discussiontoolssubscribe, discussiontoolsthank, echocreateevent, echomarkread, echomarkseen, echomute, edit, editmassmessagelist, emailuser, expandtemplates, featuredfeed, feedcontributions, feedrecentchanges, feedwatchlist, filerevert, globalblock, globalpreferenceoverrides, globalpreferences, globaluserrights, groupreview, help, imagerotate, import, jsonconfig, languagesearch, linkaccount, login, logout, managetags, markfortranslation, massmessage, mergehistory, move, opensearch, options, paraminfo, parse, patrol, protect, purge, query, removeauthenticationdata, resetpassword, revisiondelete, rollback, rsd, searchtranslations, setglobalaccountstatus, setnotificationtimestamp, setpagelanguage, shortenurl, sitematrix, spamblacklist, streamconfigs, strikevote, tag, templatedata, thank, titleblacklist, torblock, transcodereset, translationaids, translationreview, translationstats, ttmserver, unblock, undelete, unlinkaccount, upload, userrights, validatepassword, watch, webapp-manifest, webauthn, bouncehandler, categorytree, chartinfo, cirrus-check-sanity, cirrus-config-dump, cirrus-profiles-dump, cirrus-schema-dump, codemirror-validate, collection, cspreport, discussiontoolscompare, discussiontoolspageinfo, discussiontoolspreview, editcheckreferenceurl, fancycaptchareload, jsondata, jsontransform, managegroupsynchronizationcache, managemessagegroups, messagegroupsubscription, parser-migration, readinglists, sanitize-mapdata, scribunto-console, securepollauth, stashedit, timedtext, translationcheck, translationentitysearch, ulslocalization, ulssetlang, visualeditor, visualeditoredit, wikimediaeventsblockededit, wikimediaeventshcaptchaeditattempt
Padrão: help
format

O formato da saída.

json
Dados de saída em formato JSON.
jsonfm
Dados de saída no formato JSON (pretty-print em HTML).
none
Nenhuma saída.
rawfm
Dados de saída, incluindo elementos de depuração, no formato JSON (pretty-print em HTML).
xml
Dados de saída em formato XML.
xmlfm
Dados de saída em formato XML (impressão bonita em HTML).
Um dos seguintes valores: json, jsonfm, none, rawfm, xml, xmlfm
Padrão: jsonfm
maxlag

O atraso máximo pode ser usado quando o MediaWiki está instalado em um cluster replicado no banco de dados. Para salvar as ações que causam mais atraso na replicação do site, esse parâmetro pode fazer o cliente aguardar até que o atraso da replicação seja menor do que o valor especificado. Em caso de atraso excessivo, o código de erro maxlag é retornado com uma mensagem como Waiting for $host: $lag seconds lagged.
Veja Manual: Parâmetro maxlag para mais informações.

Tipo: inteiro
smaxage

Definir o cabeçalho HTTP de controle de cache s-maxage para esta quantidade de segundos. Erros não são armazenados em cache.

Tipo: inteiro
O valor não pode ser inferior a 0.
Padrão: 0
maxage

Definir o cabeçalho HTTP de controle de cache max-age para esta quantidade de segundos. Erros não são armazenados em cache.

Tipo: inteiro
O valor não pode ser inferior a 0.
Padrão: 0
assert

Verificar se o usuário está autenticado (incluindo possivelmente como usuário temporário) quando definido como user, se não está logado quando definido como anon, ou se tem o direito de usuário de robô quando definido como bot.

Um dos seguintes valores: anon, bot, user
assertuser

Verificar se o usuário atual é o usuário nomeado.

Tipo: usuário, por qualquer de nome de usuário e Usuário temporário
requestid

Qualquer valor dado aqui será incluído na resposta. Pode ser usado para distinguir requisições.

servedby

Incluir nos resultados o hostname que serviu a requisição.

Tipo: booleano (detalhes)
curtimestamp

Incluir no resultado o carimbo de data e hora atual.

Tipo: booleano (detalhes)
responselanginfo

Incluir no resultado os idiomas usados em uselang e errorlang.

Tipo: booleano (detalhes)
origin

Ao acessar a API usando uma requisição AJAX por domínio cruzado (CORS), defina isto como o domínio de origem. Isto deve estar incluso em toda requisição “pre-flight”, sendo portanto parte do URL da requisição (ao invés do corpo do POST).

Para requisições autenticadas, isto deve corresponder exatamente a uma das origens no cabeçalho Origin, para que seja algo como https://pt.wikipedia.org ou https://meta.wikimedia.org. Se este parâmetro não corresponder ao cabeçalho Origin, uma resposta 403 será retornada. Se este parâmetro corresponder ao cabeçalho Origin e a origem for permitida, os cabeçalhos Access-Control-Allow-Origin e Access-Control-Allow-Credentials serão definidos.

Para requisições não autenticadas, especifique o valor *. Isto fará com que o cabeçalho Access-Control-Allow-Origin seja definido, porém o Access-Control-Allow-Credentials será false e todos os dados específicos de usuário tornar-se-ão restritos.

crossorigin

Ao acessar a API usando uma requisição AJAX por domínio cruzado (CORS) e um provedor de sessão seguro contra ataques de falsificação de requisição entre websites (CSRF), como o provedor OAuth, use isto em vez de origin=* para tornar a requisição autenticada (ou seja, evitar que ela não esteja logada). Isto deve estar incluso em toda requisição “pre-flight”, sendo portanto parte do URL da requisição (ao invés do corpo do POST).

Note que a maioria dos provedores de sessão, incluindo sessões padrões baseadas em cookies, não são compatíveis com CORS autenticado e, portanto, não podem ser utilizadas com este parâmetro.

Tipo: booleano (detalhes)
uselang

Idioma a ser usado para traduções de mensagens. action=query&meta=siteinfo&siprop=languages retorna uma lista de códigos de idioma. Alternativamente, especifique user para usar a preferência de idioma do usuário atual ou especifique content para usar o idioma de conteúdo desta wiki.

Padrão: user
variant

Variante do idioma. Funciona somente se o idioma-base for compatível com conversão para suas variantes.

errorformat

Formato a ser usado para textos de avisos e erros na saída

plaintext
Wikitexto com marcações HTML removidas e entidades substituídas.
wikitext
Wikitexto não analisado sintaticamente.
html
HTML
raw
Chave e parâmetros da mensagem.
none
Sem saída de texto, apenas os códigos de erro.
bc
Formato usado antes do MediaWiki 1.29. errorlang e errorsuselocal serão ignorados.
Um dos seguintes valores: bc, html, none, plaintext, raw, wikitext
Padrão: bc
errorlang

Idioma a ser utilizado para avisos e erros. action=query&meta=siteinfo&siprop=languages retorna uma lista de códigos de idioma. Alternativamente, especifique content para usar o idioma do conteúdo desta wiki ou uselang para usar o mesmo valor que o parâmetro uselang.

Padrão: uselang
errorsuselocal

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

Tipo: booleano (detalhes)
centralauthtoken

Ao acessar a API usando uma solicitação AJAX por domínio cruzado (CORS), use isto para autenticar-se como usuário(a) atual do SUL. Use action=centralauthtoken nesta wiki para recuperar o token, antes de fazer a solicitação CORS. Cada token deve ser utilizado apenas uma vez, e expira após 10 segundos. Isto deve estar incluso em toda solicitação pre-flight, sendo portanto parte do URI da solicitação (ao invés do corpo do POST).

On this wiki the expected value is a JSON Web Token, which may be validated by proxy servers in front of MediaWiki. If the token has expired or is otherwise invalid, you may receive a HTTP error from a proxy in a different format than a normal API error.

Créditos

Desenvolvedores da API:

  • Yuri Astrakhan (criador, desenvolvedor-chefe Set 2006–Set 2007)
  • Roan Kattouw (desenvolvedor-chefe Set 2007–2009)
  • Victor Vasiliev
  • Bryan Tong Minh
  • Sam Reed
  • Brad Jorsch (desenvolvedor-chefe 2013–2020)

Por favor, envie seus comentários, sugestões e perguntas para mediawiki-api@lists.wikimedia.org ou apresente um relatório de erro em https://phabricator.wikimedia.org/.