API REST de WordPress: cómo acceder a ella, activarla y usarla (con ejemplos)

Si tienes pensado convertirte en desarrollador de WordPress, te encontrarás con algo llamado «API REST». Se trata de una interfaz que amplía la funcionalidad de WordPress y te permite conectar la plataforma con otras aplicaciones. A algunos desarrolladores les resulta muy útil como parte de su proceso de trabajo, especialmente si quieren implementar funcionalidades avanzadas.

Por suerte, no necesitas ser un desarrollador con experiencia para dominar la API REST de WordPress. Cuando entiendas bien la interfaz y su funcionamiento, podrás implementarla fácilmente en tus proyectos de creación de sitios web.

En esta guía, analizaremos en profundidad la API REST de WordPress. Hablaremos de qué es, cómo usarla y cómo protegerla frente a amenazas. También te mostraremos cómo solucionar errores habituales de la API REST, cómo usar la interfaz con otros frameworks y cómo se compara con otras soluciones de la API de WordPress. Por último, responderemos a algunas preguntas frecuentes.

¿Qué es la API REST de WordPress?

Para entender la API REST de WordPress, tendremos que analizar sus distintos componentes. Empecemos con una introducción a las API.

¿Qué es una API?

Una interfaz de programación de aplicaciones (API) es un programa que permite que dos aplicaciones se comuniquen entre sí. Actúa como intermediaria entre dos componentes de software y facilita una colaboración fluida.

Por ejemplo, si quisieras mostrar un producto de Google en tu sitio, como mapas, tendrías que usar la API de Google Maps.

Biblioteca de API de Google Cloud

Esto permite que tu sitio de WordPress se comunique con Google Maps para obtener todos los datos y las funciones relevantes necesarios para mostrar esos mapas.

Al igual que Google, otras empresas tienen API y las ofrecen a los desarrolladores web. Estos productos pueden resultar muy atractivos, ya que eliminan la necesidad de programar una función, como un mapa, desde cero. En su lugar, puedes usar software de terceros y conectarlo a tu sitio mediante API.

¿Qué es REST?

La transferencia de estado representacional (REST) es un conjunto de directrices que los desarrolladores deben seguir al crear API. Por tanto, una API REST es una interfaz creada teniendo en cuenta estos estándares.

Normalmente, una API REST sigue estos principios:

  • Separación entre cliente y servidor: La API debe permitir que el cliente (o sitio web) y el servidor permanezcan separados y sigan funcionando de forma independiente.
  • Almacenamiento en caché: Las API REST deben usar datos almacenables en caché cuando sea posible, para mejorar el rendimiento y permitir que el sitio web sepa qué información puede almacenarse en caché.
  • Ausencia de estado: Las API REST no pueden almacenar en su servidor información sobre el sitio web al que están conectadas, y solo debe proporcionarse la información necesaria para procesar una solicitud.
  • Interfaz uniforme: Las solicitudes de recursos deben procesarse de la misma manera, independientemente de su origen.
  • Arquitectura por capas: Las API REST se basan en un sistema por capas, en el que cada capa cumple una función específica y trabaja por separado de las demás. Esto hace que la API sea más segura y fácil de actualizar.

Como una API REST cumple estos estándares, puede ofrecer mayor seguridad y eficiencia.

¿Qué hace la API REST de WordPress?

WordPress tiene su propia API REST. Esto permite que la plataforma se comunique con casi cualquier otra aplicación o sitio web, independientemente del lenguaje de programación que utilicen.

Con esta API, una aplicación de terceros podrá acceder a tu base de datos de WordPress y extraer datos de ella. De hecho, la mayoría de los plugins de WordPress y temas usan la API REST de la plataforma para funcionar correctamente. 

La API REST de WordPress se lanzó como parte del software del núcleo en la versión 4.7. Antes solo estaba disponible como plugin.

Aunque el software de WordPress está creado con PHP, la API REST envía y recibe datos como objetos JSON (notación de objetos JavaScript), lo que abre nuevas posibilidades para los desarrolladores.

¿Cuáles son los comandos más habituales de la API REST?

Las API REST están diseñadas para recibir solicitudes concretas y responder a ellas mediante comandos de HTML.

Los comandos más habituales que usarás son:

  • GET: Puedes usar este comando para obtener un recurso concreto del servidor, como una entrada o un fragmento de datos.
  • POST: Este comando te permite modificar un recurso del servidor añadiendo código.
  • PUT: Con este comando puedes editar un recurso que ya está en el servidor.
  • DELETE: Este comando elimina un recurso del servidor.

A estos comandos les sigue una línea que proporciona más información sobre la solicitud. Se conocen como endpoints.

Por ejemplo, si quisieras obtener una lista de las entradas publicadas en tu sitio, usarías el siguiente endpoint:

GET http://mysite.com/wp-json/wp/v2/posts/?status=published

Veamos otro ejemplo. Si quieres añadir una página nueva, usarías el siguiente comando:

POST http://mysite.com/wp-json/wp/v2/posts/page

Hay muchas cosas que puedes hacer con estos cuatro comandos. Puedes encontrar una lista de endpoints en la página de Recursos para desarrolladores de WordPress.

Ejemplos reales de la API REST de WordPress

Ahora que ya tienes una idea básica de cómo funciona la API REST de WordPress, veamos algunos ejemplos de la vida real, empezando por WordPress.com.

El panel de administración de WordPress.com (llamado «Calypso») está creado completamente en JavaScript mediante la API REST.

Panel de administración de WordPress Calypso, que utiliza la API REST

Calypso es una aplicación web y de escritorio que permite a los usuarios añadir contenido nuevo, editar entradas existentes y mucho más. Utiliza la API REST para acceder a los datos de tu sitio de WordPress.com.

Otro ejemplo es el Editor de bloques. En una instalación de WordPress autoalojada, el Editor de bloques utiliza la API REST para interactuar con tu base de datos y crear bloques.

Muchas publicaciones digitales, como USA Today, también utilizan la API REST de WordPress. Esto les permite publicar automáticamente artículos en otras aplicaciones de noticias, como Apple News.

Cómo activar y desactivar la API REST en WordPress

No tienes que hacer nada para activar la API REST: viene integrada en WordPress. Más adelante en esta entrada te mostraremos cómo acceder a ella.

Aunque la API REST es una herramienta potente para crear aplicaciones con WordPress, puede hacer que tu sitio sea vulnerable a ataques de denegación de servicio distribuido (DDoS) y malware. Además, los hackers podrían acceder a tus datos a través de la conexión con otras aplicaciones. 

No se recomienda desactivar la API REST de WordPress. Esto se debe a que hacerlo puede causar problemas con el editor de bloques y cualquiera de los plugins de tu sitio.

Si aun así quieres desactivarla, la forma más sencilla de hacerlo es con un plugin como WPCode.

Imagen de la página de inicio de WP Code

Una vez que hayas instalado y activado el plugin en tu sitio, ve a Fragmentos de código → Biblioteca en el panel de administración de WordPress.

Biblioteca de fragmentos de WPCode

Aquí, busca una opción llamada Desactivar la API REST de WordPress. Cuando la encuentres, pasa el cursor por encima y selecciona Usar fragmento.

usando el fragmento «desactivar la API REST»

Esto abrirá una página con una vista previa del código.

editando el fragmento de WPCode

Si bajas hasta el cuadro Inserción, puedes seleccionar la opción Inserción automática para que el plugin aplique automáticamente este código a tu sitio.

usando la funcionalidad de inserción automática

Después, vuelve a la parte superior y cambia el interruptor de Inactivo a Activo. Finalmente, haz clic en Actualizar para aplicar estos cambios. 

Cómo usar la API REST de WordPress

Ahora veamos cómo usar la API REST de WordPress. Ya hemos visto algunos ejemplos más arriba, pero en esta sección te mostraremos exactamente cómo acceder a los datos y obtenerlos. 

Paso 1: Accede a la API REST

Si quieres obtener datos de un sitio de WordPress activo, puedes acceder a la API REST directamente desde el navegador. Solo tienes que introducir la siguiente dirección en la barra de búsqueda (sustituyendo el nombre de dominio y la extensión por los tuyos):

mysite.com/wp-json/wp/v2

Esto mostrará el archivo JSON de tu sitio de WordPress.

viendo la API REST

Después puedes añadir elementos a esta URL para acceder a datos concretos, como te mostraremos en el siguiente paso.

Paso 2: Realiza solicitudes a la API REST

Como hemos mencionado antes, puedes usar endpoints para acceder a datos concretos de tu sitio. Si quieres obtener una lista de todas tus entradas, solo tienes que añadir el endpoint /posts a tu dirección:

mysite.com/wp-json/wp/v2/posts 

Si quieres obtener una entrada concreta, solo tienes que añadir su ID (lo encontrarás en la página de Entradas de tu panel de administración de WordPress):

mysite.com/wp-json/wp/v2/posts/4567

Por otro lado, si quieres obtener datos sobre tus usuarios, tendrás que usar la siguiente solicitud:

mysite.com/wp-json/wp/v2/users

Estos son solo ejemplos sencillos, pero puedes hacer mucho más. Por ejemplo, puedes obtener entradas que contengan términos concretos, cambiar el estado de una entrada de «borrador» a «publicada» y mucho más. 

Paso 3: Autentica tus solicitudes

La API REST de WordPress te permite obtener cualquier tipo de dato de tu sitio web, pero no toda la información está disponible públicamente. En algunos casos, tendrás que autenticar la solicitud. 

Para realizar solicitudes autenticadas a la API REST de WordPress, primero tendrás que obtener una clave de API. Para ello, ve a Usuarios → Perfil en el panel de administración de tu WordPress.

Después, desplázate hacia abajo hasta la sección Contraseñas de aplicación. Aquí tendrás que introducir un nombre para tu contraseña (como referencia) y hacer clic en Añadir nueva contraseña de aplicación.

creando una contraseña de aplicación en WordPress

Esto generará una clave de API que tendrás que usar en tus solicitudes. Por ejemplo, si tu clave de API es «1234567890», puedes incluirla en una cabecera Authorization como esta:

https://mysite.com/wp-json/wp/v2/posts?Authorization=Bearer1234567890

Recuerda sustituir el código 1234567890 por la clave de API que has copiado y eliminar los espacios. 

También puedes obtener una lista de entradas escritas por un autor concreto mediante su ID de usuario. Puedes encontrar su ID en la sección Usuarios del panel de administración de WordPress, haciendo clic en el nombre del autor. El ID aparecerá en la URL de su página de autor.

Supongamos que el nombre de un autor es «Joe» y que su ID es «123». En este caso, puedes usar la siguiente URL para obtener una lista de todas las entradas escritas por Joe:

https://mysite.com/wp-json/wp/v2/posts?author=123&Authorization=Bearer1234567890

Si no encuentras el ID del usuario, es posible que su perfil se haya modificado de tal forma que el ID ya no se muestre. En ese caso, puedes obtener una lista de todas las entradas escritas por el usuario usando su nombre de inicio de sesión o su dirección de correo electrónico en lugar del ID.

Para hacerlo, tendrás que usar el parámetro «slug» en lugar del parámetro «author» en tu solicitud:

https://mysite.com/wp-json/wp/v2/posts?slug=joe&Authorization=Bearer1234567890

El parámetro «slug» te permite especificar el nombre de inicio de sesión o la dirección de correo electrónico del usuario. La API REST de WordPress devolverá una lista de todas las entradas escritas por el usuario.

Cuándo usar la API REST de WordPress

La API REST de WordPress puede utilizarse en una amplia variedad de proyectos. Estos son algunos ejemplos:

  • Integrar un sitio de WordPress con una aplicación móvil. Si eres desarrollador, puedes usar la API REST para obtener y editar datos de un sitio de WordPress desde una aplicación móvil. Esto te permite crear aplicaciones personalizadas que interactúen con tu sitio.
  • Crear integraciones personalizadas. Con la API REST de WordPress, puedes crear integraciones personalizadas con otros programas, como las herramientas de CRM.
  • Crear scripts personalizados. Puedes usar la API REST para automatizar determinadas tareas en tu sitio de WordPress, como programar entradas o actualizar perfiles de usuario.

Como puedes ver, la API REST te permite integrar WordPress con aplicaciones o sitios creados en otras plataformas. 

Cuándo no usar la API REST de WordPress

Aunque la API REST de WordPress puede ser una herramienta potente, no siempre es la opción adecuada para tu proyecto. Veamos algunos motivos por los que quizá no quieras usarla. 

Como recordarás, la API REST de WordPress está desarrollada con JavaScript. Por tanto, si estás desarrollando una aplicación que no es compatible con JavaScript, no funcionará correctamente si usas la API REST. 

Además, las aplicaciones desarrolladas con JavaScript pueden no ser muy accesibles. Por ejemplo, la forma en que representan el contenido dinámico puede ser incompatible con los lectores de pantalla. Como resultado, podrían hacer que tu contenido no sea accesible para usuarios con discapacidades visuales.

Cómo proteger la API REST de WordPress frente a exploits

Como se ha mencionado anteriormente, utilizar la API REST de WordPress puede hacer que tu sitio sea vulnerable a amenazas. La API actúa como puente entre dos plataformas, y los hackers pueden encontrar una forma de acceder a tu web a través de esta conexión.

Por eso, antes de empezar a utilizar la API REST de WordPress, es importante crear una copia de seguridad de tu sitio de WordPress. De este modo, si algo sale mal, podrás restaurar una versión reciente de tu contenido. 

Además, querrás asegurarte de que tienes suficientes medidas de seguridad implementadas. Esto implica utilizar una herramienta como Jetpack Protect.

página de inicio de Jetpack Protect

Este plugin incluye numerosas funciones de seguridad, como análisis de malware, análisis de vulnerabilidades y un cortafuegos de aplicaciones web (WAF).

Además, es buena idea utilizar la API REST en un sitio de staging de WordPress antes de publicar los cambios. De este modo, si rompes accidentalmente tu web, la experiencia de usuario en la interfaz pública no se verá afectada.

Pasos técnicos para reforzar la API REST de WordPress

  1. Restringe el acceso no autenticado: Exige autenticación para todos los puntos de conexión no públicos mediante permission_callback:
register_rest_route( 'myplugin/v1', '/data/', array(
'methods' ='GET',
'callback' ='my_data_callback',
'permission_callback' =function () {
return current_user_can( 'edit_posts' );
},
) );
  1. Usa un WAF para bloquear patrones de ataque habituales contra las API (Jetpack Security incluye uno).
  2. Limita la frecuencia de las solicitudes a la API REST a nivel del servidor o mediante un plugin.

Cómo solucionar errores y problemas habituales de la API REST

Es posible que encuentres algunos errores al utilizar la API REST de WordPress. Veamos algunos de los problemas más habituales y los pasos que puedes seguir para resolverlos.

Tiempos de respuesta lentos y tiempos de espera agotados

Al llamar a la API REST de WordPress, es posible que experimentes tiempos de respuesta lentos y tiempos de espera agotados. Estos problemas suelen deberse a los siguientes factores:

  • Recursos insuficientes del servidor. Es posible que tu servidor no tenga recursos suficientes para gestionar las solicitudes realizadas mediante REST API. En ese caso, tendrás que cambiar a un plan de alojamiento de WordPress más potente.
  • Conflictos entre plugins y temas. Los plugins y temas de WordPress pueden entrar en conflicto a veces con la API REST. Cuando ocurra, prueba a desactivar todos los plugins y cambiar a un tema predeterminado para ver si así se resuelve el problema. Si es así, puedes volver a activar los plugins uno a uno para identificar al responsable.
  • Tamaño de los datos. Las transferencias de grandes cantidades de datos durante las llamadas a la API pueden provocar que se agote el tiempo de espera. Para evitarlo, puedes intentar reducir el número de elementos que se muestran por página (más adelante en esta entrada te explicaremos cómo hacerlo).
  • Problemas con la base de datos. Si la base de datos de WordPress no está optimizada, puede provocar respuestas lentas y que se agote el tiempo de espera al realizar llamadas a la API REST. Puedes limpiar y optimizar la base de datos de WordPress eliminando datos innecesarios e instalando un plugin de optimización.

Además, quizá quieras hacer un seguimiento del rendimiento de tu API con una herramienta como la suite de operaciones de Google Cloud (antes Stackdriver) y la herramienta de Microsoft Application Insights. Estas herramientas pueden ofrecerte información sobre el rendimiento de la API REST de WordPress y ayudarte a identificar las causas de los tiempos de respuesta lentos.

Error 403 Forbidden al llamar a la API REST

El error 403 Forbidden es un código de estado HTTP que indica que el cliente no está autorizado a acceder al recurso solicitado. Veamos algunas causas habituales de este error y sus posibles soluciones:

  • Clave de API incorrecta. Si la solicitud requiere una clave de API, asegúrate de que la clave que utilizas es válida y de que se envía correctamente en las cabeceras de la solicitud.
  • Nonce no válido. Un «nonce» es un número aleatorio que se utiliza una sola vez para evitar la falsificación de solicitudes. Si no es válido, puede producirse un error 403 Forbidden.
  • Permisos de usuario. También debes asegurarte de que tienes los permisos necesarios para acceder a un endpoint específico de API. Si no eres el propietario del sitio web, es posible que tengas que pedir al administrador que te conceda los permisos adecuados. 
  • Plugins de seguridad. Los plugins de seguridad pueden bloquear una llamada a API porque la consideran una amenaza para la seguridad. Puedes añadir el endpoint de API a la lista de permitidos en los ajustes de tu plugin para resolver este tipo de problema.
  • Cortafuegos. Es posible que estés utilizando un cortafuegos que bloquea la solicitud de API. Asegúrate de que el cortafuegos está configurado correctamente o prueba a desactivarlo mientras utilizas API.
  • Configuración del servidor. Algunos servidores no están configurados para gestionar determinadas llamadas a API, por lo que quizá debas ponerte en contacto con tu proveedor de hosting para obtener ayuda.

También puedes utilizar las herramientas de desarrollo de tu navegador para inspeccionar las solicitudes de red y sus encabezados. Si utilizas Chrome, solo tienes que pulsar Ctrl+Shift+C para abrir DevTools.  

Además, puedes consultar los registros de tu servidor para obtener más información sobre el error. Deberías poder acceder a ellos desde tu cuenta de hosting. Si no es así, puedes pedir ayuda a tu proveedor de hosting. 

La API REST ha devuelto un resultado inesperado

El error «La API REST ha devuelto un resultado inesperado» es un problema habitual. Normalmente se debe a los siguientes factores:

  • Permisos. Es posible que no tengas los permisos adecuados para acceder al recurso solicitado. En ese caso, tendrás que ponerte en contacto con el administrador del sitio. 
  • Problema de configuración de URL. Este error puede producirse si el endpoint de API tiene una URL configurada incorrectamente. Comprueba de nuevo la URL para asegurarte de que es correcta y de que incluye todos los parámetros de consulta necesarios.
  • Comando incorrecto. Es posible que estés utilizando el comando equivocado (por ejemplo, GET, POST, PUT o DELETE) para la solicitud. Consulta la documentación de API para asegurarte de que utilizas el comando correcto para el endpoint específico.
  • Formato de solicitud incorrecto. Asegúrate de utilizar el formato correcto en tu solicitud. En la API REST de WordPress, los datos deben enviarse como JSON.
  • Endpoint incorrecto. Es posible que estés intentando llamar a un endpoint que no existe. En este caso, comprueba de nuevo la URL del endpoint para asegurarte de que es correcta.
  • Problemas en el servidor. Es posible que tu servidor esté experimentando problemas. Esto es más habitual en los planes de hosting compartido. Si te ocurre, quizá sea el momento de cambiar a un servidor con más recursos.

También puedes probar a desactivar tus plugins para comprobar si el problema se resuelve. Como se ha mencionado anteriormente, algunas herramientas pueden causar problemas de compatibilidad con la API REST de WordPress. 

rest_api_init no funciona

El error «rest_api_init no funciona» es otro error común de la API REST de WordPress. Suele deberse a conflictos entre plugins y temas, así como a recursos limitados del servidor.

Aun así, hay otros factores que pueden hacer que la API REST de WordPress no funcione, como los siguientes:

  • Endpoints personalizados de la API REST. Si realizas solicitudes con endpoints personalizados, asegúrate de utilizar los hooks y las funciones correctos.
  • .htaccess (archivo de configuración). Puede que tengas que comprobar el archivo .htaccess de configuración para asegurarte de que está configurado correctamente.
  • Error de CORS. Si intentas realizar solicitudes de origen cruzado (CORS) y la API REST de WordPress no funciona, puede que el servidor no esté configurado para aceptarlas. Puedes ponerte en contacto con tu proveedor de hosting para comprobar si el servidor acepta CORS.

Además, es posible que estés utilizando una instalación antigua de WordPress que no sea compatible con API. En ese caso, es importante que actualices a la última versión.

La autenticación básica no funciona

El error «La autenticación básica no funciona» puede producirse al intentar llamar a la API REST de WordPress mediante la autenticación básica. La autenticación básica es un esquema de autenticación sencillo integrado en el protocolo HTTP. Utiliza un nombre de usuario y una contraseña para autenticar a alguien.

Estas son algunas causas habituales de este error (y cómo solucionarlas):

  • Credenciales incorrectas. Comprueba que el nombre de usuario y la contraseña de las cabeceras de la solicitud sean correctos.
  • Problema de la capa de sockets seguros (SSL). Asegúrate de tener instalado un certificado SSL válido y de que esté configurado correctamente. Si no lo está, consulta nuestra guía paso a paso sobre cómo obtener un certificado SSL válido y gratuito.
  • Redirecciones de HTTP a HTTPS. Algunos sitios web están configurados para redirigir las solicitudes HTTP a HTTPS. Si el navegador intenta autenticarse mediante HTTP, es posible que aparezca este error. Por tanto, asegúrate de realizar la solicitud en un endpoint de HTTPS.

Al igual que otros problemas de la API REST, este error también puede deberse a conflictos entre temas y plugins. Una vez más, tendrás que cambiar a un tema predeterminado y desactivar tus plugins para solucionar el problema.

Si eso no ayuda, puedes probar a desactivar temporalmente el cortafuegos. Podría estar bloqueando tu solicitud de autenticación.

Si estás realizando una solicitud CORS, es posible que tu servidor no esté configurado para aceptarla. Conviene consultar con tu proveedor de hosting para comprobar si puede hacer algo por su parte.

Por último, si no eres el administrador del sitio, puede que no tengas los permisos o el rol adecuados para completar la solicitud. En ese caso, tendrás que ponerte en contacto con el propietario del sitio web.

Casos de uso avanzados de la API REST

Gracias a la API REST de WordPress, puedes recuperar datos de tu sitio utilizando frameworks populares y otros lenguajes de programación. Veamos algunos ejemplos.

Cómo utilizar la API REST de WordPress con React

React es una biblioteca popular de JavaScript para crear interfaces de usuario. Puedes utilizar el cliente Node-WPAPI para realizar solicitudes HTTP a la API REST de WordPress.

Por ejemplo, para recuperar una lista de entradas de tu sitio de WordPress, tendrías que introducir lo siguiente en Node-WPAPI:

import WPAPI from 'wpapi';
const wp = new WPAPI({ endpoint: 'http://example.com/wp-json' });
wp.posts().then(posts => {
  console.log(posts);
});

Para obtener más información sobre cómo utilizar la API REST de WordPress con React, puedes consultar la documentación de Node-WPAPI.

Cómo utilizar la API REST de WordPress con Angular

Angular es un framework de JavaScript para desarrollar aplicaciones web. Para usarlo con la API REST de WordPress, tendrás que usar el módulo @angular/common/http.

Por ejemplo, puedes introducir el código siguiente para recuperar una lista de entradas:

import { HttpClient } from '@angular/common/http';
@Injectable()
export class PostService {
  constructor(private http: HttpClient) {}
  getPosts(): Observable<any> {
    return this.http.get('http://mysite.com/wp-json/wp/v2/posts');
  }
}

Puedes consultar la documentación de Angular para obtener más información sobre cómo utilizar su HttpClient para realizar solicitudes a la API REST de WordPress.

Cómo utilizar la API REST de WordPress con Python

También puedes utilizar la API REST de WordPress con Python. Es un lenguaje de programación popular que sirve para crear aplicaciones web y otros programas.

Para empezar, tendrás que utilizar la biblioteca de Python Requests. Si quisieras obtener una lista de tus entradas de WordPress, introducirías lo siguiente:

import requests
response = requests.get('http://example.com/wp-json/wp/v2/posts')
posts = response.json()
print(posts)

Puedes consultar la documentación de la biblioteca Requests para obtener instrucciones más detalladas.

¿Cómo se compara la API REST con otras soluciones de API para WordPress?

Es posible que te preguntes en qué se diferencia la API REST de otras soluciones de API para WordPress. Para que te hagas una idea, vamos a compararla con algunas de las alternativas más populares.

API REST de WordPress frente a AJAX

La API REST de WordPress ofrece una forma eficaz de acceder a los datos de WordPress. Permite a los desarrolladores crear aplicaciones personalizadas e integraciones con WordPress.

Por su parte, la API AJAX de WordPress es un método más antiguo para acceder a los datos de WordPress. Se introdujo en WordPress 2.0 y permite a los desarrolladores realizar solicitudes asíncronas desde la interfaz pública del sitio mediante JavaScript.

La API AJAX de WordPress puede ser algo limitada en cuanto a funcionalidad, por lo que no se recomienda utilizarla en proyectos complejos.

API REST de WordPress frente a WPGraphQL

WPGraphQL es una implementación de GraphQL para WordPress que ofrece una forma alternativa de acceder a los datos de WordPress. GraphQL es un lenguaje de consulta para tu API. Permite a los clientes solicitar exactamente los datos que necesitan, y nada más.

A diferencia de la API REST de WordPress, WPGraphQL requiere generar una contraseña de aplicación independiente para cada usuario que necesite acceso. Además, puede tardar algo en entregar el contenido porque utiliza un lenguaje de consulta más complejo.

API REST de WordPress frente a XML-RPC

Introducida en WordPress 1.5, la API XML-RPC de WordPress permite realizar solicitudes remotas a WordPress mediante el protocolo XML-RPC.

XML-RPC es sencillo y ligero, por lo que puede ofrecer resultados más rápidamente. El problema es que, al igual que Ajax, tiene una funcionalidad limitada en comparación con la API REST de WordPress.

Preguntas frecuentes sobre la API REST de WordPress

En esta guía hemos cubierto la mayoría de los aspectos esenciales de la API REST de WordPress. Pero, por si acaso, echemos un vistazo a algunas preguntas frecuentes sobre esta potente herramienta.

¿Cuál es el objetivo principal de la API REST de WordPress?

El objetivo principal de la API REST de WordPress es permitir que distintas aplicaciones «hablen» con tu sitio de WordPress. Permite a los desarrolladores recuperar, crear y actualizar contenido de WordPress (como entradas, usuarios y páginas) desde aplicaciones externas, como aplicaciones móviles o interfaces basadas en JavaScript (CMS sin interfaz).

¿Cómo puedo saber si la API REST está activada en mi sitio?

La API REST está activada de forma predeterminada en todos los sitios de WordPress desde la versión 4.7. Puedes comprobar que funciona accediendo a yourdomain.com/wp-json/wp/v2/posts en tu navegador. Si ves un bloque de datos JSON, está activa y disponible.

¿Puede la API REST ralentizar mi sitio web?

Sí, si se utiliza incorrectamente. Un gran volumen de solicitudes complejas a la API que no se hayan almacenado en caché puede aumentar la carga del servidor y ralentizar tu sitio. Es fundamental implementar estrategias de almacenamiento en caché y escribir consultas eficientes para garantizar que el rendimiento no se vea afectado negativamente.

¿Es seguro dejar la API REST activada?

Aunque la API es segura, crea nuevos endpoints que podrían ser objeto de ataques. La seguridad depende de una implementación adecuada, lo que incluye utilizar una autenticación sólida para los datos no públicos, mantener WordPress y los plugins actualizados y utilizar un cortafuegos. No se recomienda desactivarla, ya que puede hacer que dejen de funcionar funciones esenciales y muchos plugins.

¿Tiene la API REST de WordPress un límite de resultados?

De forma predeterminada, la API REST de WordPress tiene un límite máximo de 100 elementos por página. Esto significa que, si realizas una solicitud a un endpoint que devuelve una lista de elementos (como entradas, páginas o usuarios), la API solo mostrará un máximo de 100 elementos en la respuesta.

Afortunadamente, puedes utilizar el parámetro «per_page» para aumentar el límite hasta un máximo de 500 elementos por página.

Por ejemplo, si quieres 200 elementos por página, puedes utilizar lo siguiente:

https://mysite.com/wp-json/wp/v2/posts?per_page=200

Ten en cuenta que también puedes reducir el número de elementos que se muestran por página.

¿Puedo utilizar la API REST con WooCommerce?

WooCommerce tiene su propia API REST. La API REST de WooCommerce permite acceder a los datos de tu tienda de WooCommerce y modificarlos. Esto incluye información sobre productos, pedidos y clientes. Además, puedes utilizar la API REST de WooCommerce para integrar WooCommerce con otras plataformas de comercio electrónico.

¿Puedo crear mis propios endpoints personalizados para la API REST?

Sí, puedes y deberías crear endpoints personalizados. Los endpoints predeterminados suelen proporcionar demasiada información o datos que no necesitas. Al registrar una ruta personalizada mediante la función register_rest_route(), puedes controlar exactamente qué datos se devuelven.

Esto es excelente para el rendimiento, ya que puedes enviar únicamente los campos específicos que necesita tu aplicación, como solo el título de la entrada y la URL de la imagen destacada. Los endpoints personalizados también te permiten realizar operaciones complejas en el servidor antes de devolver el resultado al usuario.

Empieza a utilizar la API REST de WordPress

La API REST de WordPress te permite integrar tu sitio con otras aplicaciones y herramientas de terceros. Los desarrolladores web pueden utilizarla para obtener datos destinados a aplicaciones de una sola página, conectar WordPress con una aplicación móvil y mucho más.

Además, puedes utilizar la API REST de WordPress con otros frameworks y lenguajes de programación, como React, Angular y Python. Aunque la API REST de WordPress es una herramienta potente y fiable, sigue siendo importante hacer copias de seguridad de tu sitio y utilizar una herramienta de seguridad para evitar ataques a través de estas conexiones.

Con Jetpack Protect, puedes proteger tu sitio de WordPress frente al malware y los hackers y utilizar la API REST de WordPress en un entorno más seguro.

Explora las ventajas de Jetpack

Descubre cómo Jetpack puede ayudarte a proteger, acelerar y hacer crecer tu sitio de WordPress.

Explorar planes

¿Tienes alguna pregunta?

La sección de comentarios está cerrada para este artículo, pero seguimos aquí para ayudarte. ¡Visita el foro de soporte y estaremos encantados de responder a tus preguntas!

Ver foro de soporte