¿Qué es la API REST?

La API REST es una forma de que los sitios y aplicaciones web interactúen con un servidor. También se denomina RESTful.

El término consta de dos abreviaturas, que se descifran como sigue. Una API (Interfaz de Programación de Aplicaciones) es un código que permite que dos aplicaciones se comuniquen entre sí, por ejemplo, que una aplicación cliente se comunique con su servidor. REST (Representational State Transfer) es una forma de crear una API utilizando el protocolo HTTP.

A REST API (also known as RESTful API) is an application programming interface (API or web API) that conforms to the constraints of REST architectural style and allows for interaction with RESTful web services.

REST es un conjunto de restricciones arquitectónicas, no un protocolo ni una norma. Los desarrolladores de API pueden implementar REST de varias formas.

Cuando se realiza una solicitud de cliente a través de una API RESTful, ésta transfiere una representación del estado del recurso al solicitante o punto final. Esta información, o representación, se entrega en uno de varios formatos a través de HTTP: JSON (Javascript Object Notation), HTML, imagen o texto sin formato. JSON es el formato de intercambio de datos más popular en general porque, a pesar de su nombre, es independiente del idioma, además de ser legible tanto por humanos como por máquinas.

Así, en la API REST, en lugar de enlaces a páginas web, tenemos puntos finales que devuelven datos parseables, por lo que se pueden utilizar en cualquier otra aplicación escrita en cualquier otro lenguaje. Esto significa que podemos implementar la API REST en nuestra aplicación y servir datos como JSON a todas las aplicaciones cliente: un sitio web escrito en React, aplicaciones iOS, Android, aplicaciones de escritorio o cualquier otra aplicación web.

Is any API REST API?

No, API es un término genérico que significa «Interfaz de Programación de Aplicaciones». Una API representa un conjunto de reglas y funciones que permiten que dos aplicaciones diferentes se comuniquen entre sí. Este tipo de interfaces facilitan la integración de aplicaciones, permitiendo a los desarrolladores crear potentes soluciones digitales. La API actúa como intermediaria entre las aplicaciones, permitiéndoles enviar solicitudes y respuestas y transferir datos entre sí. Por ejemplo, el registro en la aplicación a través de la cuenta de Twitter existente del usuario se produce a través de la API de Twitter, que los desarrolladores han integrado en la aplicación. La API REST es una API específica llamada REST que describe el protocolo para interactuar con un servicio web. Los servicios de la API REST se comunican utilizando el protocolo HTTP.

The Architectural constraints for REST are Client-server architecture, statelessness, cacheability, layered system, and uniform interface.

A web API that obeys the above REST constraints is informally described as RESTful or a REST API.

API REST de WordPress

WordPress REST API is a common data and programming interface that allows you to read and write information into WordPress through different applications.

Los desarrolladores pueden realizar casi todas las funciones de manipulación y lectura de datos que son posibles en PHP utilizando la nueva API. ¿Qué significa esto? Con la API REST, se puede acceder a los datos de la base de datos de WordPress a través de la API, sin necesidad de plantillas o páginas web que contengan dichos datos. Por ejemplo, se obtiene la lista de entradas de un autor en formato textual, sin que la página web contenga cabecera, pie de página y otros elementos de estilo.

With the REST API, one can also manipulate the data in the WordPress database through the API programmatically, without the need for manual input of the data through user interfaces.

Ya hay muchos sitios que lo hacen. Algunos de ellos utilizan API personalizadas, mientras que otros utilizan la nueva API REST de WordPress.

También hay muchas otras aplicaciones: Para gestionar el contenido de WordPress, no es necesario pasar por el área de administración de WordPress. Con la ayuda de la API REST, puedes crear, editar y eliminar contenido de cualquier forma.

Utilizando la API, puedes crear fácilmente paneles de administración personalizados, incluidas aplicaciones móviles. Esto permite a los desarrolladores diseñar un proceso de control cómodo para diferentes aplicaciones.

¿Qué son los puntos finales?

Un punto final es una llamada a la ruta mediante un método HTTP independiente. Los puntos finales realizan una tarea específica, aceptan parámetros y devuelven datos al cliente. La interacción con la API REST de WordPress se realiza a través de clases de endpoints/puntos de acceso/endpoints ubicados en el directorio «/wp-includes/rest-api/endpoints». Hay tres componentes de punto final importantes: rutas, esquema y controladores.

Por ejemplo, con la URL `http://example.com/wp-json/wp/v2/posts/123`:

La «ruta» es wp/v2/posts/123

Esta ruta tiene 3 puntos finales:

GET – activa un método get_item, devolviendo los datos de la entrada al cliente.

PUT – activa un método update_item, tomando los datos a actualizar, y devolviendo los datos actualizados del post.

DELETE – activa un método delete_item, devolviendo al cliente los datos de la entrada ahora eliminada.

Ampliar la API

Ampliar la API consiste en añadir tus propios puntos finales y modificar las respuestas predeterminadas Por ejemplo, al añadir un tipo de entrada personalizado llamado productos, añade las rutas API correspondientes para ellos. El front-end de WordPress proporciona un conjunto predeterminado de asignaciones de URL, de ahí que la API REST de WordPress, a simple vista, sea un conjunto de rutas predeterminadas.

Pero en realidad es una herramienta para crear puntos finales y rutas personalizados. Las herramientas utilizadas para crear los mapeos de URL predeterminados están disponibles para que crees tus propios mapeos y consultas (por ejemplo, la API de Reescrituras).

Cada ruta puede tener cualquier número de puntos finales, y puedes definir los métodos HTTP permitidos para cada punto final, una función de devolución de llamada para responder a la solicitud, y una devolución de llamada de permisos para crear permisos personalizados. Además, puedes definir los campos permitidos en la solicitud y para cada campo especificar un valor por defecto, una llamada de retorno de sanitización, una llamada de retorno de validación y si el campo es o no obligatorio.