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

¿Estás buscando un tutorial para principiantes sobre WordPress REST API? Entonces has venido al lugar correcto. En este artículo, te presentaremos el proyecto de WordPress API REST, te explicaremos por qué es tan importante y te ofreceremos algunas ideas sobre cómo usarlo.

Descarga la hoja de trucos de WordPress definitiva

Qué es la API REST de WordPress

Página de inicio del proyecto WP REST API

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

En junio de 2013, Ryan McCue y Rachel Baker de WordPress subieron el proyecto REST API a GitHub. Después de obtener mucho 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.

Ahora, casi todos los profesionales que trabajan con WordPress han oído hablar de la API REST. Sin embargo, desde su integración principal, solo los desarrolladores avanzados se han tomado el tiempo de aprender qué tan poderosa puede ser esta nueva función. Esto es muy desafortunado ya que esta herramienta puede abrir infinitas posibilidades para extender tu sitio web de WordPress.

WordPress REST API tiene como objetivo proporcionar una API que se pueda integrar con temas, aplicaciones móviles y más. Permite que WordPress interactúe con cualquier aplicación y los desarrolladores pueden incluso usarlo para crear sus propias API.

Aquí hay algunas maneras en que puedes aprovecharlo en tus proyectos, todas salidas de ejemplos reales:

  • Event Espresso utiliza la API REST para proporcionar acceso de desarrollador a su infraestructura interna, lo que hace posible desarrollar aplicaciones basadas en sus servicios.
  • Simmer, un plugin de recetas de WordPress, permite a los desarrolladores crear sus propias aplicaciones de recetas utilizando su API de desarrollador.

Cómo funciona la API REST de WordPress

Hay muchos tipos de interfaces de programación de aplicaciones (API), pero REST se destaca como un estándar moderno. Funciona manipulando datos textuales de un lugar a otro sin acceso directo a una base de datos o interfaz de usuario.

Las API REST se entregan a través de puntos finales de Protocolo de Transferencia de Hipertexto (HTTP), utilizando el formato de JavaScript Object Notation (JSON). Estos puntos finales representan las publicaciones, páginas y otros tipos de datos de WordPress.

Si nunca antes has trabajado con JavaScript o su notación de objetos, una buena idea es comenzar por aprender los principios básicos de JSON. Esto te ayudará a comprender mejor este tutorial de API REST de WordPress.

Por qué la API REST de WordPress es importante para los desarrolladores

Gracias al formato JSON, la API REST de WordPress permite a WordPress intercambiar datos con otros sitios web y software escritos en cualquier lenguaje de programación. Por lo tanto, los desarrolladores ya no están limitados a PHP, y pueden usar WordPress para manejar los datos a través de REST API.

El enfoque creciente en la API indica un cambio en cuáles son los lenguajes de programación más relevantes para aprender. Debido a que la API REST está basada JavaScript, pronto nos podríamos encontrar con que JavaScript del lado del servidor es el nuevo PHP.

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

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

Por esa razón, nuestro tutorial de API REST de WordPress está aquí para alentarte a prestar más atención a esta función.

5 pasos para comenzar con la API REST de WordPress

En este tutorial de API REST de WordPress, utilizaremos la interfaz de línea de comandos (CLI) para ejecutar todas las solicitudes. La CLI te permite interactuar fácilmente con la API REST sin tener que escribir scripts adicionales para solicitar y procesar la información.

Lo primero que debes hacer es abrir un programa CLI en tu computadora: Terminal para macOS y Linux, y PuTTY para Windows. Después de eso, copia tu dirección IP compartida o dedicada e inicia sesión con tus credenciales SSH.

También recomendamos usar un sitio de demostración o pruebas locales para este tutorial. Además, asegúrate también de que se ejecute en WordPress versión 4.4 o superior.

Paso 1: familiarízate con los conceptos clave de la API REST

Comenzaremos nuestro tutorial de API REST de WordPress explicando los conceptos y términos clave:

  • Rutas y Puntos finales: una ruta es una URL que puedes asignar a diferentes métodos HTTP, mientras que un punto final es una conexión entre un método HTTP individual y una ruta. /wp-json/ es un ejemplo de una ruta y contiene todos los puntos finales correspondientes.
  • Peticiones: son una instancia de WP_REST_Request. Se utilizan para almacenar y recuperar información para la solicitud actual.
  • Respuestas: proporcionan los datos que solicitaste o devuelven un error que te permite saber qué fue lo que salió mal.
  • Esquemas: muestran una lista de todas las propiedades y parámetros de entrada que la API REST puede aceptar y devolver.
  • Clases de controlador: es el lugar donde administras las partes móviles de la API REST.

Paso 2: conoce los puntos finales más útiles de la API REST

En esta parte del tutorial de la API REST, te mostraremos varios puntos finales útiles de la API REST que puedes probar con tu sitio:

  1. En primer lugar, querrás saber cómo construir una llamada HTTP a la API REST. La base de cada llamada a la API REST de WordPress es la siguiente:
    http://tudominio.com/wp-json/
  2. Luego, puedes probar la conexión ejecutando el comando curl en tu CLI:
    curl -X OPTIONS -i http://tudominio.com/wp-json/

    Deberías ver un mensaje de 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 varios de los puntos finales principales. Esta vez, simplemente usaremos la versión GET de curl para obtener una lista JSON de sus publicaciones de WordPress. Para hacerlo, puedes usar el siguiente comando:
    curl -X GET -i http://tudominio.com/wp-json/wp/v2/posts

    Alternativamente, intenta esto para ver todas tus páginas de WordPress existentes:

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

Si deseas ver más ejemplos, la API REST de WordPress ofrece un manual de referencia que contiene muchos puntos finales útiles.

Paso 3: aprende los conceptos básicos de autenticación de la API REST

Algunas acciones y datos dentro de la API REST son públicos, mientras que otros requieren que inicie 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 al realizar cualquier llamada que requiera acceso administrativo, como ver contenido no publicado o actualizar una publicación.

Para este tutorial, utilizaremos el plugin Basic Auth de la API REST de WordPress. Es un complemento simple para desarrolladores que te ayuda a conocer la API REST, pero no está destinado a sitios en vivo. Aquí te explicamos cómo instalar el plugin:

  1. Descarga el plugin de la REST API de WordPress Basic Auth.
  2. Inicia sesión en tu Panel de WordPress y ve a Plugins -> Agregar nuevo. Haz clic en el botón Cargar plugin y selecciona el archivo zip del complemento.
  3. Ve al menú Plugins instalados y activa el plugin desde allí.
  4. Una vez instalado Basic Auth, abre la CLI y autentica una solicitud de API utilizando el indicador user. Aquí hay un ejemplo de cómo aplicar 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 conoces la autenticación básica, puedes explorar otros métodos recomendados en la documentación de la API REST.

Paso 4: selecciona tu primera publicación de WordPress con la API REST

Cuando hayas entendido cómo hacer llamadas básicas a la API REST usando el comando curl, puedes seleccionar una publicación específica:

  1. Primero, enumera todas tus publicaciones como lo hicimos anteriormente:
    curl -X GET -i http://tudominio.com/wp-json/wp/v2/posts
  2. Luego, busca el ID de una publicación que quieras actualizar. Agrega este ID al final de tu consulta para seleccionar solo esa publicación individual:
    curl -X GET -i http://tudominio.com/wp-json/wp/v2/posts/<ID>

Puedes usar esto para seleccionar un ID determinado 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 primera publicación de WordPress con la API REST

Finalmente, intentemos enviar una actualización a la publicación seleccionada. Para este tutorial de la API REST, intentaremos cambiar el nombre del título de nuestra publicación mediante el comando POST. No olvides incluir las credenciales de autenticación.

Los nuevos cambios se compartirán usando la bandera d al final de nuestro comando.

  1. En este ejemplo, pasarás 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"}'

Consejo profesional

Asegúrate de reemplazar el nombre de usuario, la contraseña, el ID de la publicación y el nombre del título con sus propios detalles de WordPress.

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

¡Felicidades! Acabas de realizar tus primeras ediciones administrativas con la API REST de WordPress.

Conclusión

La API REST de WordPress es una poderosa adición al núcleo de WordPress y los desarrolladores han comenzado a descubrir sus capacidades, por ejemplo creando Headless WordPress. En consecuencia, embarcarse ahora y aprender a trabajar con ella puede hacerte más valioso como desarrollador y te permitirá crear aplicaciones utilizando los servicios de WordPress.

En este tutorial de la API REST de WordPress, has aprendido los cinco pasos importantes para dominar esta función:

  1. Familiarízate con los conceptos clave de la API REST.
  2. Conoce los puntos finales más útiles de la API REST.
  3. Aprende los conceptos básicos de autenticación de la API REST.
  4. Selecciona tu primera publicación de WordPress con la API REST.
  5. Actualiza una publicación de WordPress con la API REST.

Si bien este tutorial de la API REST de WordPress solo considera la superficie de sus capacidades, creemos que sigue siendo un buen punto de partida antes de profundizar en ella.

¿Tienes alguna pregunta? ¡Háznosla saber en la sección de comentarios a continuación!

Author
El autor

Gustavo B.

Gustavo es un apasionado por la creación de sitios web. Se enfoca en la aplicación de estrategias SEO en Hostinger para España y Latinoamérica, así como la creación de contenidos de alto nivel. Cuando no está aplicando nuevos trucos en WordPress lo puedes encontrar tocando la guitarra, viajando o tomando un curso online.