Jump to content

API:REST API

From mediawiki.org
This page is a translated version of the page API:REST API and the translation is 95% complete.
Outdated translations are marked like this.

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"

Pruébalo

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. La interfaz de extensiones de la REST API está disponible en $1 mediante $2 y desde MediaWiki 1.35 en adelante por defecto. In MediaWiki 1.34 , you can enable the REST API extension interface using $wgEnableRestAPI (eliminado en 1.36).

Comparación de APIs

This table: ver · discusión · editar
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