¿Qué es la API REST de WordPress y cómo funciona?

¿Estás buscando un manual de introducción a la API REST de WordPress? Has llegado al lugar correcto. Te presentaremos el proyecto de WordPress API REST en esta guía, explicaremos por qué es tan importante y proporcionaremos algunas ideas sobre cómo usarlo.

api rest de wordpress
¿Qué es la API REST de WordPress y cómo funciona?

¿Qué significa la API REST de WordPress?

El proyecto API de Transferencia de Estado Representacional (REST) es un estilo arquitectónico de software que controla cómo se comunican entre sí los servicios web a través del Protocolo de transferencia de hipertexto.

Ryan McCue y Rachel Baker de WordPress subieron el proyecto REST API a GitHub en junio de 2013. Después de recibir un gran apoyo público y atraer a casi 100 contribuyentes para mejoras futuras, el proyecto se agregó al núcleo de WordPress en diciembre de 2015.

Casi todos los profesionales que utilizan WordPress ahora conocen la API REST. Sin embargo, solo los desarrolladores avanzados han sabido cuán poderosa puede ser esta nueva función desde su integración inicial. Esto es muy desafortunado porque esta herramienta ofrece innumerables oportunidades para ampliar el alcance de tu sitio web de WordPress.

El objetivo de la API REST de WordPress es brindar una API que se pueda integrar con temas, aplicaciones móviles y otras aplicaciones. Permite que WordPress interactúe con cualquier aplicación y permite a los desarrolladores crear sus propias API.

Estos son algunos ejemplos reales de cómo puedes usarlo en tus proyectos:

  • La API REST de Event Espresso permite a los desarrolladores acceder a su infraestructura interna, lo que les permite crear aplicaciones basadas en sus servicios.
  • La API de desarrollador de Simmer, un plugin de recetas de WordPress, permite a los desarrolladores crear sus propias aplicaciones de recetas.

¿Cómo funciona la API REST de WordPress?

Hay muchas interfaces de programación de aplicaciones (API), pero REST es la más común. Funciona transferiendo datos textuales de una base de datos o interfaz de usuario.

Las API REST se envían a través de los puntos finales del Protocolo de transferencia de hipertexto (HTTP), utilizando el formato de notificación de objetos JavaScript (JSON). Estos puntos finales muestran las publicaciones, páginas y otros tipos de datos de WordPress.

Una buena idea es comenzar por aprender los principios básicos de JSON si nunca antes has trabajado con JavaScript o su notación de objetos. Esto mejorará tu comprensión del tutorial de API REST de WordPress.

¿Por qué los desarrolladores necesitan la API REST de WordPress?

La API REST de WordPress permite el intercambio de datos con otros sitios web y software en cualquier lenguaje de programación gracias a su formato JSON. Como resultado, los desarrolladores ya no están limitados a PHP y pueden usar WordPress para administrar datos a través de las API REST.

El uso creciente de la API indica un cambio en la selección de lenguajes de programación más populares para aprender. Debido a que la API REST se basa en JavaScript, pronto descubriríamos que JavaScript del lado del servidor es el nuevo PHP.

Esto ya se puede ver en Calypso, el nuevo software de WordPress.com, que funciona completamente con JavaScript y la API REST.

Adicionalmente, el desarrollo de WordPress será más sencillo e intuitivo al estandarizar la forma en que las aplicaciones interactúan con los datos de la aplicación.

Por lo tanto, nuestra guía de API REST de WordPress está aquí para alentarte a investigar esta función.

5 pasos para iniciar con la API REST de WordPress

Todas las solicitudes en este tutorial de API REST de WordPress se ejecutarán utilizando la interfaz de línea de comandos (CLI). La CLI facilita la comunicación con la API REST sin necesidad de crear scripts adicionales para solicitar y procesar datos.

El primer paso es abrir un programa CLI en tu computadora, como Terminal para macOS y Linux y PuTTY para Windows. Luego, copia tu dirección IP compartida o dedicada e ingresa tus credenciales SSH para iniciar sesión.

Para esta guía, también sugerimos usar un sitio de demostración o un sitio de prueba local. Además, asegúrate de que tengas instalado WordPress 4.4 o superior.

Paso 1: adéntrate en los conceptos fundamentales de la API REST

Comenzaremos explicando los conceptos y términos clave en nuestra guía de API REST de WordPress:

  • Rutas y Puntos finales: una ruta es una URL que se puede asignar a múltiples métodos HTTP, mientras que un punto final es una conexión entre un método HTTP y una ruta. Un ejemplo de una ruta es /wp-json/, que contiene todos los puntos finales correspondientes.
  • Las peticiones: son una instancia de WP_REST_Request. Se utilizan para almacenar y recuperar datos de la solicitud actual.
  • Respuestas: proporcionan los datos que solicitaste o devuelven un error que te permite saber qué pasó mal.
  • Esquemas: muestran una lista de todas las propiedades y parámetros de entrada que puede aceptar y devolver la API REST.
  • Las clases de controlador son donde manejas las partes móviles de la API REST.

Paso 2: obtenga una comprensión de los aspectos finales más útiles de la API REST.

Esta sección de la guía de la API REST mostrará algunos puntos finales útiles de la API REST que puedes probar con tu sitio:

1. Para empezar, necesitarás comprender cómo conectar una llamada HTTP a la API REST. Cada llamada a la API REST de WordPress se basa en lo siguiente:

www.tudominio.com/wp-json/

2. Posteriormente, puedes probar la conexión utilizando el comando curl en tu CLI:

curl -X OPTIONS -i http://tudominio.com/wp-json/

Debe mostrarse un mensaje HTTP exitoso:

HTTP/1.1 200 OK
Date: Wed, 23 Oct 2019 19:51:41 GMT
Server: Apache/2.4.29
X-Robots-Tag: noindex
Link: <http://yourdomain.com/wp-json/>; rel="https://api.w.org/"
X-Content-Type-Options: nosniff
Access-Control-Expose-Headers: X-WP-Total, X-WP-TotalPages
Access-Control-Allow-Headers: Authorization, Content-Type
Allow: GET
Transfer-Encoding: chunked
Content-Type: application/json; charset=UTF-8

3. A continuación, puedes repetir este comando utilizando diferentes puntos finales principales. Esta vez, solo usaremos la versión GET de curl para obtener una lista JSON de tus publicaciones de WordPress. Para hacerlo, puedes usar el siguiente comando:

curl -X GET -i http://tudominio.com/wp-json/wp/v2/posts

Alternativamente, puedes ver todas tus páginas de WordPress actuales utilizando esto:

curl -X GET -i http://tudominio.com/wp-json/wp/v2/pages

Si deseas ver ejemplos adicionales, la API REST de WordPress proporciona un manual de referencia que contiene muchos puntos finales útiles.

Paso 3: descubre los conceptos fundamentales de autenticación de la API REST.

La API REST tiene algunas acciones y datos que son públicos, mientras que otras requieren que inicies sesión como administrador. Sin embargo, dado que es la API REST, no hay ningún lugar para iniciar sesión.

Para solucionar este problema, puedes autenticarte llamando a cualquier llamada que requiera acceso administrativo, como ver contenido que no se haya publicado o actualizar una publicación.

Para este tutorial, utilizaremos el plugin Basic Auth de la API REST de WordPress. Aunque no está destinado a sitios en vivo, es un complemento básico para desarrolladores que te ayuda a familiarizarse con la API REST. Aquí hay instrucciones sobre cómo instalar el plugin:

  • Descarga el plugin Basic Auth de la API REST de WordPress
  • Inicia sesión en tu Panel de WordPress y ve a Plugins y selecciona Agregar nuevo. Haz clic en el botón «Cargar plugin» y elije el archivo zip del plugin.
  • Ve al menú de Plugins instalados y activa el plugin.
  • Una vez que se instala Basic Auth, puedes abrir la CLI y autenticar una solicitud de API mediante el indicador user. Aquí hay un ejemplo de cómo usar el método de autenticación de usuario, usando curl, para ver publicaciones no publicadas:
curl -X GET --user username:password -i http://tudominio.com/wp-json/wp/v2/posts?status=draft

Ahora que sabes lo que es la autenticación básica, puedes investigar otras técnicas sugeridas en la documentación de la API REST.

Paso 4: utiliza la API REST para elegir tu publicación inicial de WordPress

Puedes elegir una publicación específica una vez que haysa aprendido a usar el comando curl para hacer llamadas básicas a la API REST:

1. Primero, enumera todas tus publicaciones de la siguiente manera:

curl -X GET -i http://tudominio.com/wp-json/wp/v2/posts

2. Luego, busca la identificación (ID) de la publicación que deseas actualizar. Para seleccionar solo esa publicación, agrega este ID al final de tu consulta:

curl -X GET -i http://tudominio.com/wp-json/wp/v2/posts/<ID>

Esto es útil para elegir un ID específico para cualquier punto final de la API REST, ya sea que quieras ver una publicación, página o taxonomía.

Paso 5: Actualiza tu publicación inicial de WordPress utilizando la API REST

Por último, intentemos enviar una actualización a la publicación que hemos elegido. En este tutorial de la API REST, intentaremos usar el comando POST para cambiar el título de nuestra publicación. No olvides incluir los documentos de autenticación.

La bandera d al final de nuestro comando se utilizará para compartir los cambios más recientes.

1. En este ejemplo, cambiarás el título de una variable de objeto JavaScript personalizada (título) a un valor personalizado (Mi nuevo título):

curl -X POST --user username:password http://tudominio.com/wp-json/wp/v2/posts/PostID -d '{"titutlo":"Mi Nuevo Titulo"}'

2. Luego, puedes volver a seleccionar la publicación individual para verificar los nuevos cambios:

curl -X GET -i http://tudominio.com/wp-json/wp/v2/posts/PostID

Conclusiones

La API REST de WordPress es una adición significativa al núcleo de WordPress, y los desarrolladores han comenzado a explorar sus funciones, como creando Headless WordPress. Como resultado, unirse a ella ahora y aprender a trabajar con ella puede aumentar tu valor como desarrollador y te permitirá desarrollar aplicaciones utilizando los servicios de WordPress.

Hemos aprendido los cinco pasos cruciales para dominar esta función en este tutorial de la API REST de WordPress:

  • Conocer los conceptos básicos de la API REST.
  • Conocer los puntos finales de la API REST más útiles.
  • Leer los conceptos fundamentales de autenticación de la API REST.
  • Seleccionar tu primera publicación de WordPress utilizando la API REST.
  • Actualiza una publicación de WordPress mediante el uso de la API REST.

Aunque esta guía de la API REST de WordPress sólo analiza las funciones básicas, creemos que sigue siendo un buen punto de partida antes de ir más allá.

Franco Silvetti
Franco Silvetti

Freelancer especializado en WordPress, con más de 4 años de experiencia.