¿Qué es una llamada API?
Una llamada API (Application Programming Interface) es una solicitud realizada por una aplicación de software a otro servicio o sistema, normalmente para obtener, enviar o manipular datos. Es la forma en que diferentes aplicaciones se comunican entre sí.
Diccionario Techopedia
Por ejemplo, imagina que estás en un restaurante y quieres pedir algo. En lugar de gritar tu pedido directamente al chef en la cocina, le dices al camarero lo que quieres y él se lo transmite al chef. En este caso, el camarero actúa como intermediario y se asegura de que su pedido se cumpla. Una llamada a una API funciona de forma similar, pero en el mundo digital.
Las llamadas API permiten una integración perfecta de varios sistemas, permitiéndoles compartir funcionalidades y datos sin tener que fusionarse en una única plataforma. Por eso, cuando utilizas una plataforma de redes sociales como X (antes Twitter) o Facebook, puedes compartir fácilmente un vídeo de YouTube o un artículo de un sitio web de noticias.
Entre bastidores, se realizan llamadas a la API para garantizar que las distintas plataformas puedan entender y transmitirse información entre sí.
¿Cómo funciona una llamada API?
Entender cómo funcionan las llamadas API es esencial para comprender cómo interactúan y comparten datos las aplicaciones de software. La base de una llamada API es el modelo solicitud-respuesta:
- Solicitud: Una aplicación de software, conocida como “cliente”, envía una solicitud a otro sistema o servicio, al que se denomina “servidor”.
- Respuesta: Al recibir la solicitud, el servidor la procesa, obtiene la información necesaria o realiza la acción deseada y, a continuación, envía una respuesta al cliente.
Los endpoints desempeñan un papel importante en la interacción con la API. Un endpoint es una URL específica a la que se puede acceder a una API para realizar una operación concreta. Esencialmente, es una dirección que dirige al cliente a un conjunto específico de datos o funcionalidades en el servidor.
Al realizar una llamada a la API, el endpoint elegido ayuda a determinar qué acción debe realizar el servidor y sobre qué conjunto de datos.
Explicación de los métodos de llamada a la API
Las llamadas API permiten que diversas aplicaciones de software se comuniquen y transfieran datos. Uno de los elementos fundamentales de estas interacciones es el método utilizado en la llamada.
Estos métodos, también conocidos como métodos HTTP, determinan el tipo de acción que debe realizarse, como obtener, crear, actualizar o eliminar datos.
Petición GET
Una petición GET es un método que solicita datos de un recurso específico. Obtiene información sin causar efectos secundarios, lo que significa que no altera ni modifica los datos en el servidor.
La petición GET es uno de los métodos HTTP más comunes. Cuando navegas por la web y haces clic en un enlace para visitar una página, a menudo estás iniciando una petición GET. Esta petición le pide al servidor que le proporcione la página web específica o los datos que le interesan.
Ejemplos de peticiones Get
- Cuando escribes la URL de un sitio web en la barra de direcciones de tu navegador y pulsas enter, estás enviando una petición GET al servidor que aloja ese sitio web, pidiéndole que te proporcione la página web asociada a la URL.
- Imagina que utilizas una aplicación meteorológica. Cuando preguntas por el tiempo en una ciudad concreta, la aplicación envía una solicitud GET a su servidor para obtener los datos meteorológicos actuales de ese lugar.
- Los motores de búsqueda, como Google, envían una petición GET cada vez que escribes una consulta en la barra de búsqueda. La solicitud recupera todos los resultados relevantes para tu término de búsqueda.
Petición POST
Una solicitud POST se utiliza para enviar datos a un recurso o servidor específico, normalmente provocando un cambio de estado o efectos secundarios en el servidor. Es el método elegido cuando la intención es crear o actualizar los datos almacenados en el servidor.
A diferencia de las peticiones GET, las peticiones POST no añaden datos a la URL. En su lugar, incluyen los datos en el cuerpo de la petición.
Ejemplos de peticiones POST
- Piensa en cuando te registras en una nueva red social. Rellenas un formulario con tus datos, como nombre de usuario, contraseña y correo electrónico. Cuando pulsas el botón “Registrarse”, se envía una solicitud POST, enviando tu información al servidor para crear tu nueva cuenta.
- Cuando compras en Internet y decides comprar un artículo, al introducir tus datos de envío y de pago y pulsar “Comprar”, se genera una solicitud POST. Esto envía tus datos al servidor, dando lugar a la creación de un pedido.
- Estás jugando en una plataforma de juegos en la nube. Cuando decides guardar tu progreso, tu aplicación de juego envía una solicitud POST al servidor de juegos en la nube. Entonces se crea un nuevo registro de guardado.
Peticiones PUT y PATCH
El método PUT se utiliza para actualizar un recurso existente o crearlo si no existe. Cuando se utiliza PUT, se proporciona una versión completa y actualizada del recurso. Es un enfoque de “todo o nada”: si una parte concreta del recurso se omite en la solicitud PUT, se asume que la parte omitida no es necesaria y se elimina o restablece.
El método PATCH, por el contrario, se utiliza para realizar actualizaciones parciales de un recurso existente. En lugar de enviar una versión completa y actualizada como con PUT, con PATCH sólo envías los cambios específicos que quieres aplicar al recurso. Se trata más bien de retocar los datos existentes.
Ejemplos de solicitudes PUT y PATCH
- PUT: Tienes un perfil en un sitio de redes profesionales como Linkedin, y tiene campos para tu nombre, cargo y dirección. Si utilizas una solicitud PUT para actualizar sólo tu nombre y cargo, omitiendo la dirección, el sistema asumirá que ya no quieres una dirección en la lista y la eliminará.
- PATCH: Utilizando el mismo ejemplo del perfil de red profesional: si has cambiado recientemente tu puesto de trabajo y quieres actualizar sólo eso, utilizarías una solicitud PATCH. Envía el nuevo cargo sin incluir el nombre ni la dirección. El sistema sólo actualizará el cargo, dejando el resto de datos sin cambios.
Solicitud DELETE
La petición DELETE se utiliza para solicitar la eliminación de un recurso o dato específico del servidor. Cuando se utiliza, el servidor procesa la solicitud, eliminando los datos especificados.
Tras una operación DELETE correcta, el servidor suele devolver un estado indicando que se ha completado con éxito, aunque el recurso real ya no esté disponible.
Ejemplos de solicitudes DELETE
- ¿Alguna vez has publicado algo en las redes sociales y luego has decidido eliminarlo? Al hacer clic en la opción “eliminar”, se envía una solicitud DELETE al servidor, lo que garantiza que la publicación se elimina de la plataforma.
- Cuando decides abandonar un servicio o plataforma y eliges la opción de desactivar o eliminar tu cuenta, se inicia una solicitud de ELIMINACIÓN. Esta solicitud garantiza que los detalles de tu cuenta y los datos asociados se eliminan del servidor.
- Usted está comprando en Amazon y añade artículos a su cesta de la compra en línea, pero más tarde decide eliminar un artículo. Cuando hace clic en el botón “eliminar” situado junto a un artículo, se realiza una solicitud DELETE al servidor, eliminando ese artículo de su cesta.
La importancia de los límites de velocidad de la API
Los límites de velocidad de la API especifican el número de llamadas a la API que un usuario final o un sistema puede realizar en un periodo de tiempo determinado, ya sea un minuto, una hora o un día. Estos límites pueden establecerse por usuario, por dirección IP o incluso por tipo de servicio que accede a la API.
Actúan como medidas de control, asegurando que la API pueda servir a muchos usuarios sin verse desbordada por demasiadas peticiones.
He aquí por qué se implementan los límites de velocidad:
- Mantenimiento del rendimiento: Un tráfico elevado puede saturar los servidores y provocar tiempos de respuesta más lentos o incluso caídas. Los límites de velocidad garantizan que las API funcionen de forma óptima y constante, ofreciendo un servicio fiable a todos los usuarios.
- Asignación de recursos: Los proveedores de API pueden querer asegurarse de que los recursos no son monopolizados por un único usuario o servicio. Al establecer límites, los recursos se distribuyen equitativamente entre múltiples usuarios.
- Seguridad: Los límites de velocidad pueden actuar como protección contra ataques maliciosos, como los ataques distribuidos de denegación de servicio (DDoS), en los que los atacantes intentan inundar el sistema con peticiones.
- Control de costes: Procesar grandes volúmenes de datos puede resultar caro. Los límites de tarifa pueden ayudar a los proveedores de API a gestionar y predecir los costes operativos.
En resumen
Las API actúan como puentes entre diversos sistemas de software, permitiéndoles conversar sin problemas, compartir datos y aumentar las funcionalidades.
Desde las integraciones en redes sociales de nuestras aplicaciones favoritas hasta las transacciones bancarias que realizamos a diario, las llamadas a las API son el núcleo de estas interacciones. En esencia, desempeñan un papel decisivo en la configuración de la forma en que experimentamos e interactuamos con las plataformas digitales.