Si utilizas WordPress seguramente has leído u oído que es un software que permite extender sus funcionalidades utilizando plugins, temas, etc.
De ahí que te hable en este artículo de la REST API de WordPress: qué es y cómo usarla de manera que puedas exprimir su potencial y utilizarla para mejorar el uso del CMS.
Esta es una característica que hace de WordPress un software muy flexible, es decir, su integración con API REST.
El uso de este CMS no está limitado a consultar un sitio web en un navegador, sino que a través de la REST API de WordPress es posible pedir datos de tu sitio, por ejemplo: desde una aplicación de escritorio, una aplicación móvil u otro servicio web externo.
Si quieres saber más de la API REST de WordPress y cómo puedes empezar a usarla, en este artículo te lo cuento.
Tabla de contenidos
¿Qué es REST API?
De forma resumida, una REST API es una interfaz de programación que usa el protocolo HTTP como base, formando URL para administrar datos y devolviendo valores en formato JSON.
Esta API permite la comunicación y la interacción entre WordPress y otras aplicaciones, servicios web o sistemas externos a través del protocolo HTTP, la cual se basa en el protocolo REST (Representational State Transfer) y permite acceder y manipular datos y funcionalidades de un sitio web de WordPress de manera programática, como si estuvieras interactuando con una base de datos.
REST (Representational State Transfer)
En español: Transferencia de Estado Representacional.
Define la arquitectura usada en una red, usa como base el protocolo HTTP y sirve para generar datos y operaciones devolviendo datos en formato JSON o XML.
REST usa HTTP como base, y todos los objetos se manipulan a través de una URL.
Los principios clave de REST incluyen:
- Recursos: En REST, todo es un recurso, que puede ser un objeto, una entidad o una pieza de información. Cada recurso se identifica de manera única mediante una URL.
- Operaciones bien definidas: Las operaciones comunes en los recursos REST se mapean a los verbos HTTP, como GET (para obtener información), POST (para crear nuevos recursos), PUT (para actualizar recursos) y DELETE (para eliminar recursos).
- Estado representacional: La comunicación entre clientes y servidores se basa en la representación del estado de un recurso, y se representan en formatos JSON, XML o HTML.
- Sin estado: Las solicitudes de cliente deben incluir toda la información necesaria, ya que el servidor no mantiene un estado de sesión entre las solicitudes y cada solicitud es independiente.
- Interconexión: Los recursos pueden estar vinculados y relacionados entre sí, lo que permite una navegación y descubrimiento eficiente de información.
REST se utiliza en el diseño de servicios web y API en muchas aplicaciones web y móviles debido a su simplicidad, escalabilidad y eficiencia, promoviendo la arquitectura distribuida y la interoperabilidad de sistemas, lo que lo hace adecuado para la creación de aplicaciones web y sistemas que necesitan interactuar con diversos servicios y plataformas en la web.
API (Application Programming Interface)
En español: Interfaces de programación de aplicaciones.
Es una especificación formal de cómo un módulo de software se comunica con otro, es decir, es un conjunto de comandos, funciones y protocolos que permiten a los desarrolladores crear programas específicos para ciertos sistemas sin tener que escribir desde cero todo.
Las API actúan como intermediarios que permiten que las aplicaciones interactúen de manera estandarizada y controlada, proporcionando una forma estructurada para que los desarrolladores accedan a las capacidades de un sistema o servicio sin necesidad de conocer todos los detalles internos de cómo funciona ese sistema.
Su uso facilita la creación de aplicaciones que aprovechan las funcionalidades de otras aplicaciones o servicios sin tener que recrear todo desde cero.
Con las API puedes, por ejemplo, integrar una pasarela de pago en tu sitio web que se comunique con las API de un banco para validar el pago y devolver el estado de la transacción a tu sitio.
Protocolo HTTP (Hypertext Transfer Protocol)
En español: Protocolo de Transferencia de Hipertexto.
Es un sencillo protocolo cliente-servidor que articula los intercambios de información entre los clientes Web como navegadores y los servidores HTTP.
HTTP significa Hypertext Transfer Protocol (Protocolo de Transferencia de Hipertexto), y es el protocolo de comunicación utilizado para la transferencia de datos en la World Wide Web, el cual fue desarrollado para permitir la transferencia de hipertexto, como documentos HTML, entre un servidor web y un navegador web, pero ha evolucionado para admitir una amplia gama de tipos de datos y aplicaciones en línea.
Es el protocolo de comunicación que se usa en internet. HTTPS está basado en este protocolo, es decir, es un HTTP con una capa de seguridad, de ahí la S final.
URL (Uniform Resource Locator)
En español: Localizador uniforme de recursos.
La dirección que escribes en la barra del navegador web es una URL, es una dirección única para cada recurso disponible en un servidor web, además los enlaces que creas como parte de tu contenido también son URL.
Una URL se compone de:
- Protocolo
- Dominio
- Puerto
- Ruta
- Fragmento (opcional)
- Consulta (opcional)
Por ejemplo, la URL https://www.dominio.com/pagina/ejemplo.html incluye el protocolo HTTPS, el dominio www.dominio.com y la ruta /pagina/ejemplo.html, que identifican y localizan una página web específica en un servidor web.
Formato JSON (JavaScript Object Notation)
En español: Notación de objeto JavaScript.
Es un formato de texto plano para el intercambio de datos; surge como alternativa a XML, ya que su uso y manipulación son mucho más sencillos.
Ejemplo de código JSON:
{
"nombre": "Juan",
"edad": 30,
"ciudad": "Teruel",
"casado": false,
"hobbies": ["lectura", "deportes", "viajes"]
}
Las principales características de JSON son:
- Estructura de datos.
- Legibilidad.
- Sintaxis simple.
- Interoperabilidad.
- Lenguaje-agnosticismo.
JSON se ha convertido en un estándar ampliamente adoptado para la transmisión y el almacenamiento de datos en aplicaciones web y servicios en línea.
Un ejemplo podría ser el constructor visual Divi, el cual permite exportar e importar Entradas, Páginas, layouts y otros elementos creados y diseñados en un sitio web y llevarlos a otro por medio del archivo resultante de la exportación en JSON.
REST API de WordPress
Todas las definiciones anteriores están bien, pero ¿cómo se aplica esto a WordPress?
¿Te gustaría administrar tus entradas desde una aplicación móvil?, pues eso es precisamente lo que se logra a través de la REST API de WordPress, además de otras cosas, ¡claro!
La funcionalidad REST API de WordPress consiste básicamente en que puedes hacer uso de tu contenido sin necesidad de consultarlo solo a través de un sitio web.
Tal y como puedes en la siguiente imagen, es posible administrar contenido usando otras aplicaciones diferentes de un navegador.
Inicialmente esta funcionalidad estaba siendo desarrollada como un plugin separado; sin embargo, a finales del año 2015 fue incluido como parte del núcleo de WordPress 4.4
El uso de esta característica no está limitado únicamente al núcleo de WordPress, hay algunos plugins que también hacen uso de una REST API, por ejemplo, WooCommerce.
Haciendo consultas a la REST API de WordPress
En versiones actuales de WordPress ya está disponible la REST API de manera nativa, por lo que es posible hacer consultas directamente en el navegador usando una sintaxis de URL.
Debes añadir /wp-json/wp/v2/ a la URL de petición, y adicionalmente agregar algún end-point.
Los end-points disponibles los puedes ver en la documentación para desarrolladores.
Por ejemplo, para obtener el listado de las entradas usarías : /wp-json/wp/v2/posts, es decir, la URL de consulta sería:
https://tudominio.com/wp-json/wp/v2/posts
Debes tener en cuenta que se devolverán como máximo 10 entradas, aunque es posible también añadir parámetros adicionales para especificar paginación y cantidad de entradas devueltas.
Por ejemplo, si quieres ver la segunda página de resultados usarías:
https://tudominio.com/wp-json/wp/v2/posts?page=2
En la siguiente imagen se muestra una consulta a la REST API de WordPress para devolver entradas; se ha usado un navegador y los datos devueltos están en formato JSON.
Hay que tener en cuenta que no todos los navegadores muestran correctamente JSON, por lo que podrías también probar el utilizar alguna aplicación como Postman para hacer consultas a la REST API de WordPress.
En la siguiente imagen se muestra la misma consulta a la REST API usando la aplicación Postman:
Lógicamente, también es posible hacer esta consulta a la REST API directamente a través de programación, utilizando consultas como:
$url = "https://tuempresa.site/wp-json/wp/v2/posts"; $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_URL, $url); $result = curl_exec($ch); curl_close($ch); var_dump(json_decode($result, true));
En el código anterior se ha utilizado PHP; sin embargo, es posible usar cualquier otro lenguaje de programación.
Otras operaciones usando la REST API
En el caso de leer datos públicos de un sitio web, es posible usar la REST API directamente.
Evidentemente, el uso de la REST API de WordPress no se limita solo a operaciones de lectura, también puedes crear, actualizar y eliminar datos. Sin embargo, para esto necesitas algún método de autenticación.
Algunos métodos de autenticación son: autenticación Base, autenticación OAuth, autenticación por Cookie.
Existen plugins que te pueden facilitar el trabajo de autenticación, por ejemplo, el plugin WP REST API Authentication.
Para enviar los valores de autenticación será necesario hacerlo por programación, también puedes usar Postman para realizar estas operaciones, tal como te mostré más arriba, al realizar operaciones de lectura.
Vídeo sobre cómo utilizar la REST API de WordPress
En el siguiente vídeo te hago un resumen de lo explicado en este artículo y descubrirás qué es y cómo utilizar la REST API de WordPress con un ejemplo práctico.
Conclusiones
El uso de la REST API convierte tu sitio web creado con WordPress en una poderosa herramienta de publicación de contenido que puede ser utilizada desde otras aplicaciones construidas en diversos lenguajes de programación y no solo limitadas al uso de un navegador.
Una de las características más destacadas de la REST API de WordPress es su capacidad para exponer datos y funcionalidades de WordPress en formato JSON, lo que facilita la integración con otras aplicaciones y servicios web. Esto permite acceder a recursos como entradas, páginas, comentarios, usuarios, categorías y etiquetas, y manipularlos mediante solicitudes HTTP, como GET, POST, PUT y DELETE.
En pocas palabras, la API REST de WordPress es una interfaz de programación de aplicaciones que permite a desarrolladores y usuari@s con inquietudes en el código y la programación a interactuar con el núcleo de WordPress y sus extensiones de una manera más flexible y escalable.
La API REST utiliza HTTP y JSON para comunicarse, lo que la hace muy accesible y fácil de usar.
Por medio de ella puedes crear aplicaciones y servicios completamente personalizados, así como la posibilidad de integrar WordPress con otras plataformas y servicios en línea. Además, la API REST también ofrece una forma segura y confiable de acceder a los datos de WordPress, lo que la hace ideal para aplicaciones y servicios que requieren datos precisos y actualizados en tiempo real.
Si quieres llevar tus habilidades de desarrollo al siguiente nivel y crear aplicaciones y servicios innovadores en WordPress, ¡la API REST es el camino a seguir!
¿Te ha resultado útil este artículo?
Soporte técnico WordPress en Webempresa y ponente habitual en Meetups y WordCamps de América.