API:REST API
This page is part of the MediaWiki REST API documentation. |
La REST API de MediaWiki te permite interactuar con MediaWiki enviando solicitudes HTTP a URLs rest.php
.
Puedes usar API para construir aplicaciones y secuencias de comandos (scripts) que buscan y muestran páginas wiki, obtienen archivos multimedia y exploran el historial de una página.
Guía rápida
# Busca un artículo sobre la Tierra en Wikipedia en inglés. $ curl "https://en.wikipedia.org/w/rest.php/v1/search/page?q=earth&limit=1"
Formato de datos
Los puntos finales de la REST API devuelven datos en formato JSON o HTML. Véase la referencia API para el tipo de contenido admitido por cada punto final.
Métodos
La API soporta métodos de petición HTTP estándares.
GET | Obtener recurso |
---|---|
HEAD | Devolver cabeceras HTTP para una solicitud GET sin datos de respuesta. |
POST | Crear recurso |
PUT | Actualizar o crear un recurso |
Estructura URL
Los puntos finales de API comparten una estructura URL consistente que incluye la URL base del wiki, la ruta del script y la versión de API.
# Estructura URL
[URL del proyecto]/[Ruta de script]/rest.php/v[Número de versión]/
# URL de ejemplo: Consigue la historia de la Página principal ("Main Page") de la Wikipedia en inglés
https://en.wikipedia.org/w/rest.php/v1/page/Main_Page/history
Versionado
Diseñado para proveer estabilidad a largo plazo para desarrolladores, la REST API de MediaWiki está versionada usando un número de versión global en la ruta de API (por ejemplo: /v1/
).
Siguiendo los principios del versionado semántico, la versión es incrementada cuando un endpoint es modificado de manera incompatible con versiones anteriores, como por ejemplo la eliminación de una propiedad de respuesta o adición de un parámetro requerido.
Dentro de una versión mayor, la API puede cambiar de maneras compatibles con versiones anteriores, como por ejemplo la adición de una propiedad de respuesta o un parámetro opcional.
/v1/ (última)
|
Disponible desde MediaWiki 1.35 |
---|
Permisos y autorización
La REST API está diseñada para ser utilizada con la extensión OAuth para autenticación y autorización de usuarios. De todas formas, independientemente del método de autenticación, la API responde a la presencia de un usuario con sesión iniciada y devuelve contenido apropiado a los permisos del usuario.
Acceder proyectos Wikimedia usando la REST API
Puedes usar la REST API para acceder Wikipedia, Wiktionary, y otros proyectos Wikimedia en múltiples idiomas. Para una lista completa de URLs de proyectos Wikimedia, véase La matriz de sitios de Meta-Wiki
Límite de solicitudes
No hay un límite fijo de solicitudes a la API, pero tu cliente puede ser bloqueado si pones la estabilidad del sitio en peligro. Para mantenerte dentro de una tasa de solicitudes segura, espera a que cada solicitud termine antes de enviar una nueva.
Identificación del cliente
Los sitios de Wikimedia requieren una para todas las solicitudes a la API. Esto ayuda a identificar tu aplicación y garantiza que los administradores del sistema puedan contactarte si surge un problema. Los clientes que hagan solicitudes sin una cabecera User-Agent podrán ser bloqueados por IP sin previo aviso.
La cabecera User-Agent puede incluir una página de usuario en la wiki local, una página de usuario en una wiki relacionada usando sintaxis de enlaces interwiki, una URL a un sitio web relevante, o un correo electrónico.
# Formato preferido para cabeceras User-Agent
<nombre del cliente>/<versión> (<información de contacto>) <nombre de librería>/<versión>
Si estás llamando a la API desde JavaScript basado en el navegador, es posible que no puedas influir en el encabezado de $1, dependiendo del navegador.
Para evitar esto, usa la cabecera Api-User-Agent
.
Consulte la política de agente de usuario para obtener más información.
Autorización
Para autorizar a tu aplicación a actuar a nombre de un usuario, sigue la guía del desarrollador de OAuth para registrar tu aplicación y hacer solicitudes usando tokens OAuth.
Licenciado y marcas comerciales
El contenido en Wikimedia es libre para reusarse dentro de los términos especificados por la licensia aplicable. Las licencias pueden diferir entre proyectos, así que revisa el proyecto individual para información sobre licencias y reuso de contenido. Por ejemplo, el texto de Wikipedia en inglés se puede utilizar bajo los términos de la licencia Creative Commons Attribution Share-Alike, mientras que los archivos multimedia en Wikimedia Commons tienen licencia individual como se indica en la página de información del archivo. Para obtener más información sobre licencias y uso de marcas registradas, consulte las Directrices para desarrolladores de aplicaciones de Meta-Wiki.
Limitaciones en la funcionalidad
Aunque la API REST está disponible en los proyectos de Wikimedia, no es totalmente compatible con Wikidata. Al momento de escribir, algunos de los puntos finales pueden devolver errores inesperados. Instead, use the Wikidata REST API.
Endpoints de extensiones
Las extensiones de MediaWiki pueden presentar endpoints específicos a sí mismas a través de la interfaz de la REST API. Véase la documentación de extensiones de REST API para empezar. Para documentación de endpoints de la REST API provistos por extensiones, véase la documentación de extensiones. La interfaz de extensiones de la REST API está disponible en MediaWiki 1.34 mediante $wgEnableRestAPI y desde MediaWiki 1.35 en adelante por defecto.
Comparación de APIs
API | Availability | URL base | Example |
---|---|---|---|
MediaWiki Action API | Included with MediaWiki
Enabled on Wikimedia projects |
/api.php | https://en.wikipedia.org/w/api.php?action=query&prop=info&titles=Earth |
MediaWiki REST API | Included with MediaWiki 1.35+
Enabled on Wikimedia projects |
/rest.php | https://en.wikipedia.org/w/rest.php/v1/page/Earth |
Wikimedia REST API | Not included with MediaWiki
Available for Wikimedia projects only |
/api/rest | https://en.wikipedia.org/api/rest_v1/page/title/Earth |
For commercial-scale APIs for Wikimedia projects, see Wikimedia Empresa |
Acerca de esta documentación
Esta documentación está escrita manualmente basada en el código fuente de MediaWiki Core. ¡Las correcciones y adiciones serán bienvenidas! Para compartir un tutorial o aplicación que use la REST API de MediaWiki, añade un link a la plantilla de REST API.
Véase también
- REST API on Wikipedia
- Página de la iniciativa REST API
- Manual:$wgRestPath
- Maintained by MediaWiki Interfaces Team.
- Live chat (IRC): #mediawiki-core connect
- Issue tracker: Phabricator MediaWiki-Action-API (Report an issue)