Obtenga hoy mismo el mejor plugin de copia de seguridad y migración de WordPress
Obtenga Duplicator ahora
Anuncio de Duplicator Cloud

[Las copias de seguridad en la nube se simplifican: Duplicator Cloud elimina el almacenamiento de terceros

Explore planes de almacenamiento en la nube escalables y asequibles con Duplicator Cloud y mantenga las copias de seguridad de su sitio seguras, organizadas y accesibles en un...
API REST de WordPress

API REST de WordPress para principiantes: Acceda a su contenido desde cualquier lugar 

Escrito por: avatar de autor Joella Dunn
avatar de autor Joella Dunn
Joella es una escritora con años de experiencia en WordPress. En Duplicator, se especializa en el mantenimiento de sitios web, desde copias de seguridad básicas hasta migraciones a gran escala. Su objetivo final es asegurarse de que su sitio web WordPress es seguro y está listo para crecer.
     Revisado por: avatar del revisor John Turner
avatar del revisor John Turner
John Turner es el Presidente de Duplicator. Tiene más de 20 años de experiencia en negocios y desarrollo y sus plugins se han descargado más de 25 millones de veces.

La API REST convierte a WordPress en algo más que un sistema de gestión de contenidos tradicional. Se convierte en un marco de aplicaciones.

Otros programas, ya sean aplicaciones móviles, sitios web personalizados o servicios de terceros, pueden comunicarse con tu sitio de WordPress, solicitar datos e incluso modificar el contenido.

Podría pensarse que esto es terreno exclusivo de los desarrolladores. Pero no es así.

La API REST impulsa funciones que probablemente utiliza a diario. ¿El editor de bloques? Esa es la API REST en funcionamiento. Cada vez que añades un bloque o guardas el borrador de una entrada, estás realizando llamadas a la API entre bastidores.

En este artículo, explicaré qué es la API REST de WordPress, qué hace realmente y cómo gestionarla en tu sitio.

He aquí las principales conclusiones:

  • La API REST de WordPress está integrada en el núcleo de WordPress y permite a las aplicaciones externas leer y modificar su contenido a través de URL sencillas.
  • Ya lo estás utilizando; el Editor de bloques se basa en la API REST para cada bloque que añades y cada borrador que guardas.
  • Permite el uso de WordPress sin cabecera, aplicaciones móviles y aplicaciones de una sola página sirviendo el contenido como datos JSON que cualquier plataforma puede consumir.
  • Los puntos finales públicos (como /wp-json/wp/v2/posts) funcionan inmediatamente, pero la creación o edición de contenido requiere autenticación mediante contraseñas de aplicación.
  • La mayoría de los problemas de la API REST (errores 404, fallos de autenticación) pueden solucionarse guardando de nuevo los enlaces permanentes o comprobando la configuración de la contraseña de la aplicación.

Índice

¿Qué es la API REST de WordPress?

La API REST de WordPress es una interfaz integrada que permite a otros sistemas interactuar con los datos de WordPress. Piensa en ella como un puente entre tu sitio WordPress y el mundo exterior.

Viene con el núcleo de WordPress. No es necesario instalar nada adicional; ya está ahí, esperando a ser utilizado.

La API utiliza JSON (JavaScript Object Notation) como formato de datos. JSON es una forma ligera de estructurar datos en forma de texto. Es legible, lo que significa que puedes verlo y entender lo que ves.

Una entrada de blog en JSON parece una lista ordenada de propiedades: título, contenido, autor, fecha de publicación, etc.

He aquí por qué es importante: la API REST permite el "desacoplamiento". Puedes gestionar tu contenido en WordPress pero mostrar ese contenido en cualquier lugar. En una aplicación móvil. En otro sitio web. En un quiosco digital. En una aplicación personalizada que tu equipo haya creado desde cero.

Su contenido vive en un solo lugar. Pero puede aparecer en todas partes.

¿Qué es una interfaz de programación de aplicaciones (API)?

Me gusta explicar las API con la analogía del restaurante porque realmente funciona.

Estás sentado a la mesa. Quieres comer. Pero no puedes entrar en la cocina y empezar a sacar cosas de la nevera. Necesitas un intermediario: el camarero.

Le dices al camarero tu pedido (tu petición). El camarero lo lleva a la cocina (el servidor/la base de datos). La cocina prepara la comida. El camarero te la devuelve (la respuesta).

Una API es el camarero. Es el intermediario entre una aplicación que quiere datos y el sistema que los tiene. La API recibe las solicitudes, se comunica con los sistemas adecuados y entrega los resultados en un formato que la aplicación solicitante pueda entender.

Sin la API, las aplicaciones necesitarían acceder directamente a su base de datos. Esto sería complicado, inseguro y casi imposible de gestionar a gran escala.

¿Qué es la transferencia de estado representacional (REST)?

REST es un conjunto de reglas arquitectónicas para construir APIs. Cuando una API sigue estas reglas, la llamamos "RESTful". La API REST de WordPress sigue estos principios, por eso lleva "REST" en su nombre.

He aquí los conceptos básicos:

Sin estado

El servidor no recuerda las peticiones anteriores. Cada petición que hagas tiene que incluir todo lo que el servidor necesita para procesarla. No puedes suponer que el servidor sabe lo que has pedido hace cinco segundos.

Esto suena limitante, pero en realidad es lo que hace que las API REST sean escalables. El servidor no desperdicia recursos rastreando estados de sesión para miles de peticiones simultáneas.

Cliente-Servidor

El cliente (la aplicación que realiza las peticiones) y el servidor (tu sitio WordPress) son completamente independientes. Pueden desarrollarse de forma independiente. A tu aplicación React no le importa si WordPress se actualiza a la versión 6.5 o 7.0, siempre y cuando los puntos finales de la API se mantengan consistentes.

Interfaz uniforme

Las API REST utilizan métodos HTTP estándar como GET, POST, PUT y DELETE. Esta estandarización hace que la API sea predecible. Los desarrolladores familiarizados con REST pueden familiarizarse con la API de WordPress rápidamente porque sigue convenciones que ya conocen.

Estos principios no son sólo académicos. Hacen que la API REST de WordPress sea fiable, predecible y fácil de usar.

¿Qué hace la API REST de WordPress?

La API REST expone sus datos de WordPress a través de URLs llamadas "endpoints". Un endpoint es una dirección específica donde puedes solicitar datos concretos.

Por ejemplo: /wp-json/wp/v2/posts es el punto final para las entradas de tu blog. Visita esa URL en tu sitio y obtendrás una respuesta JSON con tus entradas: títulos, contenido, autores, imágenes destacadas, todo.

Esta es la tecnología que impulsa el Editor de Bloques. Cuando trabajas en Gutenberg, cada acción que realizas desencadena una llamada a la API.

¿Añadir un bloque de párrafos? Llamada a la API. ¿Subir una imagen? Llamada a la API. ¿Guardar el borrador? Llamada al API. La interfaz del editor es esencialmente una aplicación JavaScript que se comunica con tu sitio WordPress a través de la API REST.

La API permite programar operaciones CRUD (Crear, Leer, Actualizar y Eliminar). Puede realizar todas estas acciones en su contenido sin abrir nunca el panel de WordPress.

Como desarrollador, puedes escribir un script que cree 100 entradas en cinco segundos. O extraer todas las entradas del último mes y generar un informe. O actualizar cada post etiquetado como "obsoleto" con un banner de descargo de responsabilidad.

Las posibilidades se amplían drásticamente una vez que te das cuenta de que WordPress ya no es sólo un sitio web, sino una API de contenidos que también genera sitios web.

Comandos comunes de la API REST

La API REST utiliza métodos HTTP estándar para realizar diferentes acciones. A continuación se explica qué hace cada uno de ellos:

Método HTTPAcciónEjemplo
GETRecuperar datos del servidorObtener una lista de todos los mensajes publicados
POSTCrear nuevos datosAñadir una nueva entrada de blog o página
PUT / PATCHActualizar los datos existentesEditar el título de una entrada existente
BORRAREliminar datosEliminar un comentario o un archivo multimedia

Las peticiones GET son de sólo lectura. Cualquiera puede hacerlas porque no modifican tus datos. Si visitas un endpoint público en tu navegador, estarás haciendo una petición GET.

Los otros métodos modifican tus datos. Requieren autenticación. WordPress necesita verificar que tienes permiso para crear, actualizar o eliminar contenido antes de procesar esas peticiones.

Cómo acceder a la API REST de WordPress

La API REST está activada por defecto en todos los sitios de WordPress que ejecutan la versión 4.7 o superior. La ruta base es /wp-json/.

Puedes probarlo ahora mismo.

Abra una nueva pestaña del navegador y navegue hasta sudominio.com/wp-json/. Verás una respuesta JSON con una lista de todas las rutas API disponibles. No es bonito, pero confirma que tu API funciona.

¿Quieres ver tus posts? Prueba con tudominio.com/wp-json/wp/v2/posts. Obtendrás una matriz JSON de tus entradas publicadas, con todos sus metadatos.

Estos puntos finales públicos sólo muestran los datos que ya son visibles públicamente en su sitio. Pero, ¿qué ocurre con las acciones que modifican datos, como la creación de entradas, la actualización de páginas o la eliminación de comentarios?

Estos requieren autenticación.

WordPress soporta dos métodos principales de autenticación. La autenticación de cookies funciona para solicitudes del mismo dominio (como el editor de bloques).

Para las aplicaciones externas, utilizará contraseñas de aplicación. Se trata de tokens de 24 caracteres que generas en WordPress, diseñados específicamente para el acceso a la API. Son más seguras que tu contraseña real porque puedes revocarlas individualmente sin cambiar tus credenciales de acceso principales.

Para generar una, vaya a Usuarios " Perfil. Busque la configuración de Contraseñas de aplicaciones y cree una nueva.

Contraseña de la aplicación de usuario de WordPress

A continuación, accede a la API REST con esto:

https://mysite.com/wp-json/wp/v2/posts?Authorization=Bearer[Password]

Asegúrese de sustituir [Contraseña] por la contraseña de su aplicación y elimine los espacios.

Si no, puedes usar un plugin como JWT Authentication for WP REST API.

Las contraseñas de aplicaciones son el método preferido. Son seguras, se pueden rastrear y no exponen tu contraseña real a aplicaciones de terceros.

Para probar la conexión, utilice este comando en una línea de comandos:

curl -X GET --user username:password -i http://yoursite.com/wp-json/wp/v2/posts?status=draft

Cómo utilizar la API REST de WordPress: Casos de uso comunes

Ahora que ya sabes qué es la API REST y cómo funciona, veamos escenarios prácticos en los que tiene sentido utilizarla.

WordPress sin cabeza

Esto es cuando se utiliza WordPress puramente como un backend de gestión de contenidos. Sus visitantes nunca ven un tema de WordPress. En su lugar, construyes un frontend personalizado utilizando un framework JavaScript como React, Vue o Next.js.

Este frontend obtiene el contenido de la API REST de WordPress y lo presenta como tú quieras. Obtendrás las excelentes herramientas de gestión de contenidos de WordPress junto con una total libertad de diseño en el frontend.

Aplicaciones móviles

Puedes crear una aplicación nativa para iOS o Android con el contenido de tu sitio de WordPress. La aplicación realiza solicitudes a la API para obtener publicaciones, mostrar imágenes y mostrar comentarios.

Tu equipo de contenidos lo gestiona todo desde el panel de WordPress que ya conocen. Los desarrolladores de la aplicación nunca tocan el CMS.

Aplicaciones de página única (SPA)

Se trata de aplicaciones web que se cargan una vez y luego obtienen nuevos contenidos dinámicamente sin necesidad de recargar toda la página. La experiencia del usuario es más rápida y similar a la de una aplicación.

Gmail funciona así. Cuando haces clic entre correos electrónicos, la página no se recarga: JavaScript obtiene el contenido del correo electrónico a través de una API. Puedes crear la misma experiencia con el contenido de WordPress.

Sincronización de datos

Extraiga datos de WordPress a otra plataforma o introduzca datos de un servicio externo en WordPress.

He visto que se utiliza para sincronizar información de productos entre WordPress y sistemas de gestión de inventarios. O para crear automáticamente entradas en WordPress a partir de datos recogidos en un CRM.

La API REST hace posible estas integraciones sin necesidad de manipulaciones complejas de las bases de datos.

Cuándo no utilizar la API REST

Si tienes un blog o un sitio web empresarial sencillo, probablemente no necesites tocar directamente la API REST. Un tema tradicional de WordPress se encarga de todo perfectamente.

Cuando la velocidad de carga inicial de la página es su máxima prioridad, un tema renderizado en servidor suele ser más rápido.

Las configuraciones sin cabecera requieren JavaScript para obtener y procesar el contenido, lo que añade latencia. Para sitios con mucho contenido en los que cada milisegundo de tiempo de carga es importante, la arquitectura tradicional de WordPress puede ser más útil.

Si un plugin fiable y bien soportado ya resuelve tu problema de integración, utiliza el plugin. No crees una solución REST API personalizada solo porque puedas.

Los plugins se mantienen, prueban y actualizan. Una integración personalizada es una deuda técnica que tendrás que gestionar.

La API REST es potente. Pero la potencia sin propósito crea una complejidad innecesaria.

Cómo desactivar la API REST de WordPress

Tengo que empezar con una advertencia: desactivar completamente la API REST romperá el Editor de Bloques. Es probable que también rompa varios plugins. Si la deshabilitas por completo y luego te preguntas por qué Gutenberg dejó de funcionar, esta es la razón.

El mejor enfoque es la restricción, no la desactivación. Puede exigir autenticación para todos los puntos finales de la API. De este modo, el Editor de Bloques seguirá siendo funcional para los usuarios registrados, pero se bloqueará el acceso anónimo a los puntos finales públicos.

Si definitivamente desea desactivar la API REST, yo recomendaría el uso de un plugin como WPCode. Tiene un fragmento de código integrado que se encarga de esta tarea por ti.

Desactivar REST API con WPCode

Seleccione el fragmento de código y autoinsértelo en su sitio. Activa y actualiza el fragmento para guardar los cambios.

WPCode auto insertar fragmento

Cómo solucionar problemas comunes de la API REST

Incluso con la API REST activada y funcionando, de vez en cuando te encontrarás con problemas. Aquí están los problemas más comunes que he encontrado y cómo solucionarlos.

404 no encontrado

Este es el error que veo más a menudo. Intentas acceder a un punto final de la API y WordPress devuelve un 404 como si la página no existiera.

Nueve de cada diez veces, se trata de un problema de permalinks. WordPress utiliza reglas .htaccess (en servidores Apache) para enrutar las peticiones API correctamente. A veces esas reglas se corrompen o no se regeneran correctamente después de una migración o cambio de servidor.

Vaya a Ajustes " Permalinks en su panel de WordPress. No cambies nada. Simplemente haz clic en Guardar cambios. WordPress regenera las reglas de reescritura, y su API comienza a funcionar de nuevo.

Enlaces permanentes de WordPress

Errores de autenticación 401 o 403

Un 401 significa "no autorizado"-no has proporcionado credenciales. Un 403 significa "prohibido": has proporcionado credenciales, pero no tienen permiso para esta acción.

Compruebe que ha introducido correctamente la contraseña de la aplicación (sin espacios, nombre de usuario correcto). Compruebe que la cuenta de usuario tiene las capacidades adecuadas para lo que está intentando hacer.

Conflictos de plugins o temas

A veces, un plugin o tema mal codificado interfiere con la funcionalidad de la API REST. Utiliza el proceso estándar de solución de problemas de WordPress: desactiva todos los plugins, cambia a un tema predeterminado (como Twenty Twenty-Four) y prueba la API.

Si funciona, reactiva los plugins uno a uno hasta que encuentres al culpable. A continuación, ponte en contacto con el desarrollador de ese plugin o busca una alternativa.

Errores CORS

Aparecen en la consola del navegador cuando una aplicación web de un dominio intenta acceder a la API de otro dominio. CORS (Cross-Origin Resource Sharing) es una función de seguridad del navegador. Bloquea estas peticiones por defecto.

La solución requiere añadir cabeceras HTTP específicas en su servidor WordPress que permitan explícitamente las peticiones desde el dominio de su aplicación. Para ello, suele ser necesario editar el archivo .htaccess o configurar las cabeceras en el panel de control del alojamiento.

Si ves errores CORS, estás trabajando con una configuración headless o desacoplada, y necesitarás acceso a nivel de servidor para resolverlos.

Preguntas más frecuentes (FAQ)

¿Es segura la API de WordPress?

Sí, el núcleo de la API de WordPress es seguro por diseño. Respeta los roles de usuario y el sistema de capacidades de WordPress, y los puntos finales públicos solo exponen datos que ya son visibles públicamente en tu sitio.

¿Puedo integrar la API en WordPress?

Sí, de dos maneras: otras aplicaciones pueden conectarse a la API REST de tu sitio WordPress para leer o modificar contenidos, o puedes utilizar WordPress para conectarte a API de terceros, como servicios meteorológicos o procesadores de pagos.

¿Cómo protejo mi API REST de WordPress?

Utilice contraseñas de aplicación para la autenticación, aplique HTTPS en todo el sitio y mantenga actualizados el núcleo, los temas y los plugins de WordPress. Considere la posibilidad de añadir un cortafuegos de aplicaciones web (WAF) para filtrar las solicitudes maliciosas.

¿Cuál es la capacidad de la API REST de WordPress?

La API proporciona acceso programático a entradas, páginas, usuarios, taxonomías, medios, comentarios y configuraciones. Plugins como WooCommerce pueden añadir sus propios puntos finales personalizados para obtener funciones adicionales.

El futuro está conectado

La API REST de WordPress transforma WordPress de un sistema de gestión de contenidos tradicional a un verdadero marco de aplicaciones. Ya no se trata solo de crear sitios web, sino de hacer que tu contenido esté disponible dondequiera que lo necesites.

Esta API es el puente. Conecta WordPress con aplicaciones web modernas, aplicaciones móviles y servicios de terceros. Entender cómo funciona te ayudará a tomar mejores decisiones sobre la arquitectura de tu sitio, a solucionar problemas más rápidamente y a comunicarte de forma más eficaz con los desarrolladores.

Los datos de tu sitio WordPress son el motor de todo, desde las páginas que ven tus visitantes hasta el contenido que tu API REST sirve a otras aplicaciones. Proteger esos datos no es negociable.

Duplicator Pro te ofrece una forma fiable de hacer una copia de seguridad de toda tu instalación de WordPress. Antes de empezar a experimentar con una configuración headless o conectar una nueva aplicación, realiza una copia de seguridad completa. Con Duplicator Pro, puedes programar copias de seguridad automáticas y tener la tranquilidad de saber que tu valioso contenido está a salvo.

Ya que estás aquí, creo que te gustarán estos otros recursos de WordPress seleccionados a mano:

avatar de autor
Joella Dunn Redactora de contenidos
Joella es una escritora con años de experiencia en WordPress. En Duplicator, se especializa en el mantenimiento de sitios web, desde copias de seguridad básicas hasta migraciones a gran escala. Su objetivo final es asegurarse de que su sitio web WordPress es seguro y está listo para crecer.

Divulgación: Nuestro contenido está apoyado por los lectores. Esto significa que si hace clic en algunos de nuestros enlaces, es posible que ganemos una comisión. Sólo recomendamos productos que creemos que aportarán valor a nuestros lectores.