Viernes, 08 Noviembre 2019 09:36

REST API de WordPress: qué es y cómo usarla

Escrito por  Jhon Marreros Guzman
CMS:  WordPress |  Versión:  Todas |  Dificultad:  Avanzado |  Tiempo lectura:  15 minutos
Valora este artículo
(1 Voto)

REST API de WordPress: qué es y cómo usarla en tu web


Si utilizas WordPress seguramente has escuchado que es un software muy flexible ya que podemos extender funcionalidades a nivel de plugins, themes, etc.

Sin embargo hay otra característica que hace de WordPress un software muy flexible y es precisamente que viene integrado con una funcionalidad de 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 consultar los datos de tu sitio, por ejemplo: desde una aplicación de escritorio, una aplicación móvil u otro servicio web externo.

En este artículo vamos a ver qué es la API REST de WordPress y cómo puedes empezar a usarla.

   

 ¿Qué es REST API?

En resumen, una REST API es una interfaz de programación que usa el protocolo HTTP como base, formando URLs para administrar datos y devolviendo valores en formato JSON.

En la definición anterior hay algunos términos que se detallan a continuación:

REST (Representational State Transfer)

Transferencia de Estado Representacional.

Define la arquitectura usada en una red, usa como base el protocolo HTTP y nos sirve para generar datos y operaciones devolviendo datos en formato JSON o XML. Puesto que usa HTTP como base, todos los objetos se manipulan a través de una URL

API (Application Programming Interface)

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.

Con las APIs podemos, por ejemplo, integrar una pasarela de pago en nuestro sitio web que se comunique con las APIs de un banco para validar el pago y devolver el estado de la transacción a nuestro sitio.

Protocolo HTTP (Hypertext Transfer Protocol)

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.

Es el protocolo de comunicación que se usa en internet. HTTPS esta basado en este protocolo, es decir, es un HTTP con seguridad.

URL (Uniform Resource Locator)

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 URLS.

Formato JSON  (JavaScript Object Notation)

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.

 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.

La funcionalidad REST API de WordPress consiste básicamente en que podemos hacer uso de nuestro contenido sin necesidad de consultarlo solo a través de un sitio web.

Tal y como vemos en la siguiente imagen, es posible administrar contenido usando otras aplicaciones diferentes de un navegador.

Grafico REST API WordPress

Inicialmente esta funcionalidad estaba siendo desarrollada como un plugin separado, sin embargo a finales del año 2015 fue incluido como parte del core de WordPress 4.4

El uso de esta funcionalidad 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 tenemos disponible la REST API por defecto por lo que podemos hacer consultas directamente en el navegador usando una sintaxis de url.

Debemos agregar /wp-json/wp/v2/ a la url de petición, y adicionalmente agregar algún end-point.

Los end-points disponibles los podemos ver en la documentación para desarrolladores. Por ejemplo, para obtener el listado de las entradas usaríamos : /wp-json/wp/v2/posts, es decir, nuestra url de consulta sería:

https://tudominio.com/wp-json/wp/v2/posts

Debemos tener en cuenta que se devolverán como máximo 10 entradas, aunque es posible también agregar parámetros adicionales para especificar paginación y cantidad de entradas devueltas.

Por ejemplo, si queremos ver la segunda página de resultados usaríamos:

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.

Consulta REST API desde navegador

Tener en cuenta que no todos los navegadores muestran correctamente JSON, podrías también probar usar alguna aplicación como Postman para hacer consultas a las REST API de WordPress.

En la siguiente imagen se muestra la misma consulta a la REST API usando la aplicación Postman:

Consulta REST API desde Postman

Lógicamente, también es posible hacer esta consulta a la REST API directamente a través de programación:


$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 hemos usado 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, podemos usar la REST API directamente.

Evidentemente, el uso de la REST API de WordPress no se limita solo a operaciones de lectura, podemos igualmente crear, actualizar y eliminar datos. Sin embargo, para esto necesitamos 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 nos 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 una aplicación como Postman para realizar estas operaciones tal como vimos anteriormente al realizar operaciones de lectura.

 Vídeo explicativo

En el siguiente vídeo veremos un resumen de lo explicado en este artículo y descubriremos qué es y cómo utilizar la REST API de WordPress con un ejemplo práctico.

 

 

 Conclusión

Tal como hemos podido ver, la funcionalidad de REST API convierte tu sitio web Wordpress en una poderosa herramienta de publicación de contenido que puede ser usado desde otras aplicaciones construidas en diversos lenguajes de programación y no solo limitadas al uso de un navegador.


¿Te ha resultado interesante este artículo?

Suscríbete para recibir consejos exclusivos para WordPress



Jhon Marreros Guzman

Jhon Marreros Guzman

Soporte técnico WordPress en Webempresa y ponente habitual en Meetups y WordCamps de América.


Plugin Optimización de Imágenes Gratuito para WordPress