Una API, o Interfaz de Programación de Aplicaciones (en inglés Application Program Interface), es un conjunto de protocolos y herramientas que facilita la comunicación entre las distintas aplicaciones. Las API funcionan como mediadoras y simplifican tareas complejas como la transferencia y el intercambio de datos, así como otras funciones entre los distintos sistemas.
En el presente, las API son omnipresentes y hacen sencilla la interconexión entre servicios y apps que usamos en nuestra vida cotidiana. Desde las aplicaciones más básicas que instalamos cada día en nuestro smartphone, hasta complejas plataformas en el ámbito empresarial.
Índice de temas
¿Qué es una API?
Lo primero que vamos a ver es qué significa API. Según la definición oficial que nos propone Amazon, las API son “mecanismos que permiten a dos componentes de software comunicarse entre sí mediante un conjunto de definiciones y protocolos”.
Imaginemos que quieres buscar un vuelo en internet. La aplicación que utilizas para ello no tiene base de datos, sino que se conecta a las distintas aerolíneas a través de sus API para recabar dicha información.
Cuando introduces las preferencias del vuelo —fechas, destino, presupuesto…— la aplicación utiliza la API de las aerolíneas para solicitar la información. Luego, te muestra los vuelos disponibles y los precios actualizados en el momento de la búsqueda.
Pongamos otro ejemplo para clarificar aún más lo que es una API. Imaginemos la API como el camarero de un restaurante. El cliente (en este caso la app que solicita el servicio, en el caso anterior, la app de reservas de vuelo), hace un pedido (solicitud a la API, “enséñame vuelos a París en diciembre”), el camarero (la API) lleva el pedido a la cocina (es decir, toda la trastienda de la web) y luego entrega el plato cocinado (respuesta API) al cliente.
En un principio, las API se utilizaban principalmente para conectar componentes de software dentro de un sistema. Con la aparición de internet surgieron las API web, que permiten la comunicación entre aplicaciones a través de la red.
¿Cómo funcionan las API?
Las API funcionan a través de un simple mecanismo de petición y respuesta. Cuando una app necesita obtener los datos o funciones de otra, aquella envía una solicitud a la API. Esta se procesa según las propias reglas definidas por la API y se devuelve la respuesta con la petición solicitada.
Tipos de API
API abiertas o públicas
Las llamadas open API están disponibles para cualquier desarrollador o empresa que las quiera utilizar. Un ejemplo es la aplicación de Google Maps, disponible para cualquiera que quiera integrar mapas, direcciones o información de localización en su aplicación.
API cerradas o privadas
Por ejemplo, una empresa de logística tiene una API interna que gestiona los envíos de paquetería. Esta API solo es accesible mediante las aplicaciones y sistemas internos de la empresa.
API asociadas
Un banco puede desarrollar una API que comparta con un determinado socio, como por ejemplo una pasarela de pagos. La plataforma puede usar la API del banco para realizar transferencias de dinero en nombre de los usuarios y solo dicha plataforma puede usarla.
API compuestas
Una misma aplicación puede usar API compuestas, como es el caso, por ejemplo, de Uber. Cuando pides un coche, el sistema utiliza la API de Google Maps para localizar al conductor, una API de pagos para procesar el cobro del viaje y otra API interna para gestionar el estado del trayecto.
Beneficios de usar API
Las API ofrecen numerosas ventajas que han acabado por revolucionar el manejo del software y la integración de los diferentes sistemas. Veamos en detalle y con ejemplos ilustrativos los más importantes:
1. Interoperabilidad
En una sociedad cada vez más interconectada, las API se revelan como uno de los componentes esenciales para que todo funcione adecuadamente. Por ejemplo, una aplicación de gestión de tareas como Trello se integra con Google Calendar a través de una API. Dicha integración permite que las fechas de las tareas que registres en Trello se sincronicen automáticamente con el calendario del usuario.
2. Automatización
Algunos procesos repetitivos se pueden automatizar gracias a las API. De este modo, se reducen los errores humanos y se aumenta la eficiencia empresarial. En este sentido, por ejemplo, una tienda en internet utiliza la API de un servicio de envíos para automatizar el proceso de seguimiento de paquetes. Cada vez que la tienda envía un paquete, la API actualiza el estado del pedido en la tienda y envía las correspondientes notificaciones al cliente.
3. Innovación
Gracias a las API, los desarrolladores pueden crear nuevas funciones y servicios basados en las API preexistentes. Un ejemplo de ello es la aplicación de ejercicio Strava, que utiliza la API de Google Maps para crear rutas personalizadas tanto de running como de ciclismo. Esta unión entre la personalización de usuario que ofrece Strava y la posibilidad de conectarse a los mapas de Google mejoran significativamente la experiencia.
4. Escalabilidad
Las API permiten la integración de nuevas funcionalidades en las aplicaciones sin necesidad de tener que reescribir el código. Por ejemplo, una aplicación de inversiones puede ofrecer servicios básicos de gestión financiera y, a medida que crece, integrar las API de distintos bancos para ofrecer servicios más completos, sin tener que desarrollar estas mismas funciones desde cero.
Desafíos y consideraciones en el uso de las API
A pesar de todos los beneficios, el uso de las API también presenta diferentes desafíos que deben ser considerados:
1. Seguridad
Las API pueden ser vulnerables a ciberataques si no se implementan de manera adecuada. Por ejemplo, tenemos el caso, en 2008, de la API de Facebook, que expuso los datos de 50 millones de usuarios. Es vital implementar diferentes medidas de seguridad, como la doble autenticación o el cifrado de datos en tránsito.
2. Mantenimiento
Como cualquier software, las API requieren de actualizaciones constantes para garantizar que cualquier agujero de seguridad, por ejemplo, quede subsanado, así como para incluir mejoras y otras novedades.
3. Versionado
Las diferentes versiones de las API pueden generar conflictos entre sí. Por ejemplo, cuando Google actualiza la API de Maps, suele introducir novedades mientras mantiene las anteriores versiones durante un periodo de tiempo, y esto es algo que suele ser complejo.
Ejemplos de usos de API en nuestra vida diaria
1. Redes sociales
Cuando compartes un post de Instagram en Facebook estás utilizando la API de ambas apps. La API de Instagram permite a Facebook compartir sus publicaciones, mientras que la de Facebook hace también lo propio.
2. Compras por internet
Servicios como PayPal o Google Pay utilizan API para procesar las transacciones de forma segura. Cuando pagas con Paypal, por ejemplo, la tienda utiliza la API de esta app para procesar el pago sin tener que acceder a tu información bancaria.
3. Aplicaciones móviles
Una gran cantidad de las apps móviles utilizan API para poder funcionar. Por ejemplo, cuando pides a domicilio en Just Eat, la aplicación utiliza la API de Maps para geolocalizarte.
Todos estos ejemplos son ilustrativos de hasta qué punto las API han transformado la manera en la que interactuamos con la tecnología, permitiéndonos experiencias más integradas y funcionalidades que nos hacen la vida más cómoda y sencilla.