Ayuda de la API de MediaWiki
Esta es una página de documentación autogenerada de la API de MediaWiki.
Documentación y ejemplos: https://www.mediawiki.org/wiki/API
Módulo principal
- Fuente: MediaWiki
- Licencia: GPL-2.0+
Estado: Todas las características que se muestran en esta página deberían funcionar, pero la API aún se encuentra en desarrollo activo y puede cambiar en cualquier momento. Suscríbete a la lista de correo de mediawiki-api-announce para estar al día de las actualizaciones.
Solicitudes erróneas: Cuando se envían solicitudes erróneas a la API, se envía una cabecera HTTP con la clave "MediaWiki-API-Error". El valor de la cabecera y el código de error devuelto tomarán el mismo valor. Para más información, véase API: Errores y advertencias.
Pruebas: para facilitar las pruebas de solicitudes a la API, consulta Special:ApiSandbox.
- action
Qué acción se realizará.
- Uno de los siguientes valores: block, changeauthenticationdata, checktoken, clearhasmsg, clientlogin, compare, createaccount, cspreport, 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, stashedit, tag, tokens, unblock, undelete, unlinkaccount, upload, userrights, validatepassword, watch
- Predeterminado: help
- format
El formato de la salida.
- Uno de los siguientes valores: json, jsonfm, none, php, phpfm, rawfm, xml, xmlfm
- Predeterminado: jsonfm
- maxlag
El retraso (lag) máximo puede ser utilizado cuando MediaWiki está instalado en un conjunto de bases de datos replicadas. Para evitar cualquier acción que pudiera causar un retraso aún mayor en la replicación del sitio, este parámetro puede causar que el cliente espere hasta que el retraso de replicación sea menor que el valor especificado. En caso de exceso de retraso, se devuelve un código de error maxlag con un mensaje similar a Esperando a $host: $lag segundos de retraso.
Véase Manual:Parámetro maxlag para más información.- Tipo: entero
- smaxage
Establece el encabezado HTTP
s-maxage
de control de caché a esta cantidad de segundos. Los errores nunca se almacenan en caché.- Tipo: entero
- Predeterminado: 0
- maxage
Establece el encabezado HTTP
max-age
de control de caché a esta cantidad de segundos. Los errores nunca se almacenan en caché.- Tipo: entero
- Predeterminado: 0
- assert
Comprobar que el usuario haya iniciado sesión si el valor es user o si tiene el permiso de bot si es bot.
- Uno de los siguientes valores: user, bot
- assertuser
Verificar el usuario actual es el usuario nombrado.
- Tipo: nombre de usuario
- requestid
Cualquier valor dado aquí se incluirá en la respuesta. Se puede utilizar para distinguir solicitudes.
- servedby
Incluir el nombre del host que ha servido la solicitud en los resultados.
- Tipo: booleano/lógico (detalles)
- curtimestamp
Incluir la marca de tiempo actual en el resultado.
- Tipo: booleano/lógico (detalles)
- responselanginfo
Incluye los idiomas utilizados para uselang y errorlang en el resultado.
- Tipo: booleano/lógico (detalles)
- origin
Cuando se accede a la API usando una petición AJAX de distinto dominio (CORS), se establece este valor al dominio de origen. Debe ser incluido en cualquier petición pre-vuelo, y por lo tanto debe ser parte de la URI de la petición (no del cuerpo POST).
En las peticiones con autenticación, debe coincidir exactamente con uno de los orígenes de la cabecera
Origin
, por lo que debería ser algo como https://en.wikipedia.org o https://meta.wikimedia.org. Si este parámetro no coincide con la cabeceraOrigin
, se devolverá una respuesta 403. Si este parámetro coincide con la cabeceraOrigin
y el origen está en la lista blanca, se creará una cabeceraAccess-Control-Allow-Origin
.En las peticiones sin autenticación, introduce el valor *. Esto creará una cabecera
Access-Control-Allow-Origin
, pero el valor deAccess-Control-Allow-Credentials
seráfalse
y todos los datos que dependan del usuario estarán restringidos.- uselang
El idioma que se utilizará para las traducciones de mensajes. action=query&meta=siteinfo con siprop=languages devuelve una lista de códigos de idiomas. También puedes introducir user para usar la preferencia de idioma del usuario actual, o content para usar el idioma de contenido de este wiki.
- Predeterminado: user
- errorformat
Formato utilizado para la salida de texto de avisos y errores.
- plaintext
- Wikitexto en el que se han eliminado las etiquetas HTML y reemplazado las entidades.
- wikitext
- Wikitexto sin analizar.
- html
- HTML.
- raw
- Clave del mensaje y parámetros.
- none
- Ninguna salida de texto, solo códigos de error.
- bc
- Formato empleado en versiones de MediaWiki anteriores a la 1.29. No se tienen en cuenta errorlang y errorsuselocal.
- Uno de los siguientes valores: plaintext, wikitext, html, raw, none, bc
- Predeterminado: bc
- errorlang
Idioma empleado para advertencias y errores. action=query&meta=siteinfo con siprop=languages devuelve una lista de códigos de idioma. Puedes especificar content para utilizar el idioma del contenido de este wiki o uselang para utilizar el valor del parámetro uselang.
- Predeterminado: uselang
- errorsuselocal
Si se da, los textos de error emplearán mensajes localmente personalizados del espacio de nombres MediaWiki.
- Tipo: booleano/lógico (detalles)
- Ayuda del módulo principal
- api.php?action=help [abrir en la zona de pruebas]
- Toda la ayuda en una página
- api.php?action=help&recursivesubmodules=1 [abrir en la zona de pruebas]
Tipos de datos
Las entradas en MediaWiki deberían estar en UTF-8 según la norma NFC. MediaWiki puede tratar de convertir otros formatos, pero esto puede provocar errores en algunas operaciones (tales como las ediciones con controles MD5).
Algunos tipos de parámetros en las solicitudes de API requieren de una explicación más detallada:
- boolean
- Los parámetros booleanos trabajo como cajas de verificación de HTML: si el parámetro está definido, independientemente de su valor, se considera verdadero. Para un valor falso, se debe omitir el parámetro por completo.
- marca de tiempo
- Las marcas de tiempo se pueden definir en varios formatos. Se recomienda seguir la norma ISO 8601 de fecha y hora. Todas las horas están en UTC, ignorándose cualquier indicación de zona horaria.
- Fecha y hora en ISO 8601, 2001-01-15T14:56:00Z (los signos de puntuación y la Z son opcionales)
- Fecha y hora en ISO 8601 con fracciones de segundo (que se omiten), 2001-01-15T14:56:00.00001Z (los guiones, los dos puntos y la Z son opcionales)
- Formato MediaWiki, 20010115145600
- Formato genérico de número, 2001-01-15 14:56:00 (la zona horaria opcional, sea GMT, +## o -## se omite)
- Formato EXIF, 2001:01:15 14:56:00
- Formato RFC 2822 (la zona horaria es opcional), lun, 15 ene 2001 14:56:00
- Formato RFC 850 (la zona horaria es opcional), lunes, 15-ene-2001 14:56:00
- Formato ctime de C, Mon Jan 15 14:56:00 2001
- Número de segundos desde 1970-01-01T00:00:00Z en forma de número entero de entre 1 y 13 cifras (sin 0)
- La cadena now
- separador alternativo de valores múltiples
- Los parámetros que toman valores múltiples se envían normalmente utilizando la barra vertical para separar los valores, p. ej., param=valor1|valor2 o param=valor1%7Cvalor2. Si un valor tiene que contener el carácter de barra vertical, utiliza U+001F (separador de unidades) como separador y prefija el valor con, p. ej. param=%1Fvalor1%1Fvalor2.
Créditos
Desarrolladores de la API:
- Roan Kattouw (desarrollador principal, sep. 2007-2009)
- Victor Vasiliev
- Bryan Tong Minh
- Sam Reed
- Yuri Astrakhan (creador y desarrollador principal, sep. 2006-sep. 2007)
- Brad Jorsch (desarrollador principal, 2013-actualidad)
Envía comentarios, sugerencias y preguntas a mediawiki-api@lists.wikimedia.org o informa de un error en https://phabricator.wikimedia.org/.