Una introducción a la API REST de WordPress

Publicado: 2022-10-19

En diciembre de 2016, con el lanzamiento de WordPress 4.7, se cumplió un hito largamente debatido: la API REST de WordPress se incluyó oficialmente como parte de WordPress Core.

Aunque la API REST había existido como un complemento antes de la fusión oficial con el núcleo, su inclusión posterior generó bastante debate, y se presentaron argumentos tanto para su inclusión como para la necesidad de realizar más pruebas.

En última instancia, la API REST se fusionó con Core y ahora impulsa el Editor de bloques, así como muchas integraciones e interfaces de terceros con sitios de WordPress en toda la web.

Sin embargo, para muchos usuarios de WordPress, esta fue la primera vez que escucharon sobre la API REST de cualquier tipo, y mucho menos una integrada tan estrechamente en WordPress.

Entonces, en este artículo, veremos qué es una API REST, cómo la API REST de WordPress es única y algunos ejemplos de cómo funciona y algunos de los tipos de tecnología que están habilitados ahora que está incluido en WordPress. Centro.

¿Qué es una API REST?

El término API REST son en realidad dos acrónimos en uno y ambos son importantes para comprender cómo funciona la API REST de WordPress y qué hace.

¿Qué es REST?

La primera parte, REST, significa Transferencia de estado representacional. En pocas palabras, esta es una especificación que define cómo dos recursos separados en la web deben comunicarse entre sí. Estas dos interfaces pueden ser dos sitios web diferentes, un servidor web, una aplicación móvil y mucho más.

Un servicio que sigue esta especificación a menudo se denomina servicio RESTful y funciona para garantizar que el cliente que solicita información no tenga que saber nada sobre el estado del servidor y cómo el cliente y el servidor pueden ser más modulares y separados que con otros. métodos de transporte de datos a través de Internet.

Esencialmente, si un desarrollador sabe que está interactuando con un servicio RESTful, puede hacer ciertas suposiciones sobre cómo se formatearán sus solicitudes y qué tipo de datos recibirán a cambio, lo cual es muy útil cuando se desarrollan tecnologías interconectadas.

Si desea profundizar en lo que constituye exactamente un servicio RESTful y cómo se realizan este tipo de solicitudes, le recomiendo que consulte el artículo de Codecademy llamado ¿Qué es REST?

¿Qué es una API?

API significa Interfaz de programación de aplicaciones y, como su nombre lo indica, proporciona una interfaz para que otros clientes y servicios en la web interactúen con una aplicación en particular. Especifica puntos finales, generalmente direcciones URL, donde se pueden enviar datos, si estas URL devuelven datos o crean recursos en el servidor y si se requiere algún tipo particular de autenticación para acceder a estos puntos finales.

Para muchos servicios populares en la web hoy en día, las API brindan una forma automatizada de hacer lo que un usuario podría hacer manualmente, al permitir que un script o pieza de código realice la misma acción con un usuario presente. Por ejemplo, si usa Reddit y se encuentra escribiendo el mismo tipo de comentario en muchos de los hilos que navega, puede crear un script que busque en Reddit ese tipo de comentarios y publique automáticamente su respuesta estándar a través de la API de Reddit.

Al exponer su infraestructura a través de una API, los usuarios no tienen que depender de métodos frágiles de web scraping para automatizar este tipo de tareas y Reddit puede realizar un seguimiento de quién accede a sus recursos a través de su API, con qué frecuencia lo hacen y controlar para uso que está fuera de sus términos de servicio.

¿Por qué WordPress necesitaba una API REST?

Si alguna vez ha realizado solicitudes similares a API a WordPress antes de que la API REST sea parte de Core, es posible que esté familiarizado con el concepto de admin-ajax. Esta era la forma original de realizar solicitudes como esta en WordPress, donde cada solicitud se enrutaba a través del archivo admin-ajax.php, verificaba cualquier acción específica que los desarrolladores de complementos o temas activos hubieran registrado, y luego usaba esas funciones registradas para cumplir con las solicitudes.

Como era de esperar, eso significaba que cada desarrollador que usaba solicitudes similares a API habilitaba esta funcionalidad como parte de su complemento o tema lo hacía de manera ligeramente diferente y cualquiera que quisiera interactuar con esta funcionalidad tenía que familiarizarse con cómo era cada complemento o tema. construido. La API REST de WordPress se introdujo para estandarizar la forma en que se realizaron estas solicitudes y proporcionar un conjunto de puntos finales de mucho más amplio alcance que podrían usarse para interactuar con WordPress Core.

Una solicitud de ejemplo a la API REST de WordPress

El manual de la API REST de WordPress mantiene una lista completa de los puntos finales que son compatibles con la API REST de WordPress lista para usar. Y aunque es genial tener una lista completa, puede ser un poco abrumador. Echemos un vistazo a lo que podría considerarse la funcionalidad más básica de cualquier interacción API: obtener el recurso básico de la API. En el caso de WordPress, ese recurso está publicado.

Todos los puntos finales de la API REST de WordPress tienen como prefijo la ruta de URL wp-json entre el dominio raíz y lo que el Manual de la API REST denomina Base Route . Esto significa que si estamos accediendo al punto final para enumerar las publicaciones del sitio y la URL de nuestro sitio era example.com , tendríamos que realizar una solicitud a la URL https://example.com/wp-json/wp/v2/posts .

Hacer una solicitud GET, ya sea simplemente cargando esa URL en su navegador web favorito o usando un navegador API como Postman, debería devolverle una lista de publicaciones de la API, aunque es posible que no estén en un formato que está acostumbrado. a. Si todo lo que ve es una larga cadena de texto, está viendo un formato de datos conocido como JSON. Si está accediendo al extremo de la API a través de su navegador y desea ver esta información en un formato más legible, le recomendaría instalar la extensión JSON Viewer. Esto detectará cualquier salida en su navegador que sea JSON y la formateará para que pueda leerla más fácilmente. Con esto instalado, debería ver la salida de datos de publicación de la API REST de WordPress y ha realizado con éxito su primera solicitud de API REST.

Un ejemplo de cómo se ven los datos de la API REST de WordPress cuando se ven en un navegador con la extensión JSON Viewer instalada

¿Qué más puede hacer la API REST de WordPress?

Además de buscar una lista de las publicaciones más recientes en un sitio de WordPress, mirando la Referencia de punto final, verá que hay muchas otras formas en que puede interactuar con la API REST de WordPress. Si está autenticado como usuario de WordPress, puede publicar publicaciones a través de la API, obtener una lista de temas disponibles para el sitio, ver y editar configuraciones, así como muchas otras funciones que están disponibles para interactuar manualmente a través de wp-admin .

Algunos ejemplos de la API REST de WordPress en acción

Exponer la capacidad de interactuar con WordPress a través de la API REST abrió una amplia gama de posibilidades de sitios que ahora podrían usar WordPress como backend para la gestión de contenido.

TechCrunch : poco después de que se anunciara la API REST de WordPress, TechCrunch anunció que había reconstruido su sitio usando una arquitectura sin cabeza, lo que significaba que estaban usando WordPress en el backend como un sistema de administración de contenido, mientras aún podían usar una "página única". estilo de la aplicación React” en la interfaz.

Editor de bloques (Gutenberg) : Quizás el uso de la API REST del que la mayoría de las personas se han beneficiado es el Editor de bloques de WordPress. Ahora, el editor principal de WordPress, gran parte de la funcionalidad del Editor de bloques está habilitada por el hecho de que puede interactuar con los puntos finales de la API REST de WordPress sin

Todo tipo de proyectos comunitarios : cuando se consideró por primera vez la fusión de la API REST en un núcleo, se realizó una llamada pública para pedir a las personas que hablaran más sobre cómo estaban usando la API REST. Las respuestas fueron muy variadas, lo que se puede esperar de una comunidad tan grande como WordPress, pero incluyeron todo, desde complementos con interfaces más interactivas de lo que antes era posible hasta personas que crean aplicaciones móviles para sus clientes que pueden consumir contenido de WordPress.

Terminando

Incluso si no tiene experiencia con el uso de API, probablemente haya usado algo en algún momento de su carrera que se basa en la API REST de WordPress para funcionar. A medida que las interfaces continúan volviéndose más dinámicas y los sitios web comienzan a tener más acciones que no requieren que se cargue una página.

Ahora que sabe qué es la API REST de WordPress, ¡podría estar pensando en algunas cosas que puede construir con ella! La API REST definitivamente puede ser una herramienta poderosa en su caja de herramientas para crear mejores temas y complementos de WordPress.

Si necesita un poco más de aclaración o algunos ejemplos de lo que es posible, eche un vistazo a los documentos y comience de inmediato.