API

¿Qué es una API?

Una API es un conjunto de reglas definidas que explican cómo las computadoras o aplicaciones se comunican entre sí. Estas se ubican entre una aplicación y el servidor web actuando como una capa intermedia que procesa la transferencia de datos entre sistemas. Las API son algo así como el lenguaje de comunicación de las máquinas.

Estas interfaces de programación simplifican el desarrollo y la innovación de programas informáticos. ¿Cómo lo hacen? Permitiendo que las aplicaciones puedan intercambiar datos de manera sencilla pero, sobre todo, segura.

¿Para qué sirve una API?

Una interfaz de programación de aplicaciones permite a las empresas abrir sus datos y la funcionalidad de sus aplicaciones a desarrolladores externos, así como a socios comerciales, además de departamentos internos de sus empresas.

Esto permite que los servicios y productos se comuniquen entre sí y, además, aprovechen los datos a través de una interfaz documentada.

Los desarrolladores no necesitan saber cómo se implementa una API, tan solo deben saber utilizar esa interfaz para comunicarse con otros productos. De esa forma pueden trabajar para hacer que la empresa crezca de manera integral.

El uso de las API ha aumentado en la última década hasta el punto de que muchas de las aplicaciones web más populares de hoy en día parten de este protocolo.

Tipos de API

Las API han tenido que evolucionar para satisfacer las necesidades de la mayoría de desarrollos informáticos. Estos son los tipos de API que debes conocer:

  • Abiertas: son interfaces de programación de aplicaciones de código abierto, a las que se puede acceder con el protocolo HTTP. También son conocidas como públicas. Tienen definidos los puntos finales, además de los formatos de solicitud y respuesta.
  • De socios: son interfaces de programación de aplicaciones expuestas por socios comerciales estratégicos. Lo común es que los desarrolladores puedan acceder a estas en modo de autoservicio a través de un portal público para desarrolladores.
  • Internas: son interfaces de programación de aplicaciones que permanecen ocultas para los usuarios externos. Al ser privadas no están disponibles para usuarios externos a la empresa y, en cambio, tienen como objetivo mejorar la productividad y la comunicación entre los diferentes equipos de desarrollo internos.
  • Compuestas: combinan múltiples datos o servicios. Estos servicios permiten a los desarrolladores acceder a varios puntos finales en una sola llamada. Las compuestas son útiles en la arquitectura de microservicios en los que la realización de una sola tarea puede requerir información de varias fuentes.

Ejemplos de cómo funcionan las API

A continuación te mostramos algunos ejemplos de API para que conozcas, de forma práctica, cómo es su funcionamiento. ¡No pierdas detalle!

  1. Una aplicación cliente inicia una llamada a la API para recuperar información (también conocida como solicitud).
  2. Esta solicitud se procesa desde una aplicación al servidor web a través del Identificador Uniforme de Recursos (URI) e incluye un verbo de solicitud, encabezados y, a veces, un cuerpo de solicitud.
  3. Después de recibir una solicitud válida, la función realiza una llamada al programa externo o al servidor web.
  4. A continuación el servidor envía una respuesta con la información solicitada.
  5. Por último la API transfiere los datos a la aplicación solicitante inicial.

Si bien la transferencia de datos diferirá según el servicio web que se utilice, este proceso de solicitudes y respuestas se realiza a través de una API. Mientras que una interfaz de usuario está diseñada para ser utilizada por humanos, las API están diseñadas para ser utilizadas por una computadora o aplicación.

Otro ejemplo sería:

  1. Considera una API ofrecida por un servicio de procesamiento de pagos.
  2. Los clientes pueden ingresar los detalles de su tarjeta en la interfaz de una aplicación para una tienda de comercio electrónico.
  3. El procesador de pagos no requiere acceso a la cuenta bancaria del usuario.
  4. La API crea un token único para esta transacción y lo incluye en la llamada al servidor.
  5. Esto garantiza un mayor nivel de seguridad contra posibles amenazas de piratería.

Ventajas de la API

Ya sea que estés administrando las herramientas existentes o diseñando nuevas puede utilizar una interfaz de programación de aplicaciones para simplificar el proceso.

En definitiva algunos de los principales beneficios de las API son los siguientes:

  • Mejora de la colaboración: las grandes empresas utilizan de promedio casi 1200 aplicaciones en la nube (el enlace reside fuera de IBM), muchas de las cuales están desconectadas. Estas permiten la integración para que estas plataformas y aplicaciones se puedan comunicar sin problemas entre sí. Sin ellas muchas empresas carecerían de conectividad y sufrirían de silos de información que comprometen la productividad y el rendimiento.
  • Innovación más fácil: ofrecen flexibilidad, lo que permite a las empresas establecer conexiones con nuevos socios comerciales y ofrecer nuevos servicios al mercado actual. Y, en última instancia, acceder a nuevos mercados que pueden generar retornos masivos e impulsar la transformación digital. Por ejemplo, la empresa Stripe comenzó como una API con solo siete líneas de código. Desde entonces, la empresa se ha asociado con muchas de las empresas más grandes del mundo.
  • Monetización de datos: muchas empresas optan por ofrecerlas de forma gratuita, al menos para poder construir una audiencia de desarrolladores. Cuando AccuWeather (el enlace reside fuera de IBM) lanzó su portal de desarrolladores de autoservicio para vender una amplia gama de paquetes de API, solo se necesitaron 10 meses para atraer a 24.000 desarrolladores. ¡Y, a partir de ese momento, se generan ingresos gracias a los desarrollos!
  • Se añadió seguridad: los desarrolladores pueden reforzar aún más la seguridad de las API mediante el uso de tokens, así como firmas y cifrado de seguridad de la capa de transporte (TLS). Esta característica se propicia mediante la implementación de pasarelas para autenticar el tráfico mediante la práctica de una gestión eficaz.

¿Qué es API REST?

Un concepto fundamental en este tema es el de API REST. ¿De qué trata? REST es el acrónimo de Representational State Transfer. Un REST funciona descomponiendo una actividad. Esto genera una secuencia de pequeños componentes mientras que cada componente abordará una parte específica de la actividad.

Es una forma de que dos sistemas informáticos se comuniquen a través de HTTP, de forma similar a los navegadores y servidores web.

La flexibilidad se asigna a partir de este componente, pero sin duda pueden surgir desafíos:

  • Las API de REST utilizan los procedimientos HTTP predominantes. Utilizan GET para recuperar un recurso. O PUT para cambiar el estado de la API o modernizar un recurso.
  • Todas las llamadas a API son sin estado. Esto significa que el servicio RESTful no puede retener nada entre implementaciones.

Más información sobre API