¿Qué es una API?
Una persona trabajando en su equipo en el escritorio
Interfaz de programación de aplicaciones (API)

Las interfaces de programación de aplicaciones, o API, simplifican el desarrollo y la innovación de software al permitir que las aplicaciones intercambien datos y funcionalidades de manera fácil y segura.


¿Qué es una interfaz de programación de aplicaciones (API)?

Una interfaz de programación de aplicaciones, o API, permite a las empresas abrir los datos y la funcionalidad de sus aplicaciones a desarrolladores externos, socios comerciales y departamentos internos de sus empresas. Esto permite que los servicios y productos se comuniquen entre sí y aprovechen los datos y la funcionalidad de los demás a través de una interfaz documentada. Los desarrolladores no necesitan saber cómo se implementa una API; simplemente usan la interfaz para comunicarse con otros productos y servicios. El uso de las API ha aumentado durante la última década, hasta el punto que muchas de las aplicaciones web más populares no serían posibles en la actualidad sin las API.


Cómo funciona una API

Una API es un conjunto de reglas definidas que explican cómo los equipos o las aplicaciones se comunican entre sí. Las API se ubican entre una aplicación y el servidor web, actuando como una capa intermedia que procesa la transferencia de datos entre sistemas.

Así es como funciona una API:

  1. Una aplicación cliente inicia una llamada a la API para recuperar información, un proceso también conocido como solicitud. Esta solicitud se procesa desde una aplicación al servidor web a través del identificador uniforme de recursos (URI) de la API e incluye un verbo de solicitud, encabezados y, a veces, un cuerpo de solicitud.
  2. Después de recibir una solicitud válida, la API realiza una llamada al programa externo o al servidor web.
  3. El servidor envía una respuesta a la API con la información solicitada.
  4. La API transfiere los datos a la aplicación que realiza la solicitud inicial.

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

Las API ofrecen seguridad por diseño, ya que su posición como elemento intermediario facilita la abstracción de la funcionalidad entre dos sistemas: el punto final de la API desacopla la aplicación consumidora de la infraestructura que proporciona el servicio. Las llamadas a la API generalmente incluyen credenciales de autorización, para reducir el riesgo de ataques al servidor, y una puerta de enlace de API puede limitar el acceso para minimizar las amenazas a la seguridad. Además, durante el intercambio, los encabezados HTTP, las cookies o los parámetros de la cadena de consulta proporcionan capas de seguridad adicionales a los datos.

Por ejemplo, veamos el caso de una API ofrecida por un servicio de procesamiento de pagos. Los clientes pueden entrar los detalles de su tarjeta en la interfaz de una aplicación para una tienda de comercio electrónico. El procesador de pagos no requiere acceso a la cuenta bancaria del usuario; la API crea un token único para esta transacción y lo incluye en la llamada de la API al servidor. Esto garantiza un mayor nivel de seguridad contra posibles amenazas de piratería.


Por qué necesitamos las API

Independientemente de si está administrando herramientas ya existentes o diseñando otras nuevas, puede usar una interfaz de programación de aplicaciones  para simplificar el proceso. Entre algunos de los principales beneficios de las API se incluyen los siguientes:

  • Colaboración mejorada: La empresa promedio utiliza casi 1200 aplicaciones en la nube (el enlace reside fuera de IBM), muchos de los cuales están desconectados. Las API permiten la integración para que estas plataformas y aplicaciones puedan comunicarse sin problemas entre sí. A través de esta integración, las empresas pueden automatizar los flujos de trabajo y mejorar la colaboración en el lugar de trabajo. Sin las API, muchas empresas carecerían de conectividad y sufrirían silos de información que pondrían en peligro la productividad y el rendimiento.
  • Innovación más fácil: Las API ofrecen flexibilidad, y esto permite a las empresas establecer conexiones con nuevos socios comerciales, ofrecer nuevos servicios a su mercado existente 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 compañía se ha asociado con muchas de las empresas más grandes del mundo, se ha diversificado para ofrecer préstamos y tarjetas corporativas, y recientemente fue valorada en 36 mil millones de USD (el enlace reside fuera de IBM).
  • Monetización de datos: Muchas empresas optan por ofrecer API de forma gratuita, al menos inicialmente, para poder crear una audiencia de desarrolladores en torno a su marca y forjar relaciones con posibles socios comerciales. Sin embargo, si la API otorga acceso a activos digitales valiosos, se puede monetizar vendiendo este acceso (esto se conoce como economía de las API). Cuando AccuWeather (el enlace reside fuera de IBM) lanzó su portal de desarrollo de autoservicio para vender una amplia gama de paquetes de API, solo necesitó 10 meses para atraer a 24.000 desarrolladores, vender 11.000 claves de API y crear una comunidad productiva dentro del proceso.
  • Mayor seguridad: Como se señaló anteriormente, las API crean una capa adicional de protección entre sus datos y un servidor. Los desarrolladores pueden fortalecer aún más la seguridad de la API mediante el uso de tokens, firmas y cifrado de seguridad de la capa de transporte (TLS); mediante la implementación de puertas de enlace de API para administrar y autenticar el tráfico; y practicando la gestión de las API de forma eficaz. 
Ejemplos de API comunes

Debido a que las API permiten a las empresas abrir el acceso a sus recursos a la vez que mantienen la seguridad y el control, se han convertido en un aspecto valioso de los negocios modernos. A continuación se muestran algunos ejemplos populares de interfaces de programación de aplicaciones que se pueden encontrar:

  • Inicios de sesión universales: Un famoso ejemplo de API es la función que permite a las personas iniciar sesión en sitios web con los datos de inicio de sesión de su perfil de Facebook, Twitter o Google . Esta función cómoda permite que cualquier sitio web aproveche una API de uno de los servicios más populares para autenticar rápidamente al usuario, ahorrándole el tiempo y la molestia de configurar un nuevo perfil para cada servicio de sitio web o nuevo registro.
  • Procesamiento de pagos de terceros: Por ejemplo, la ahora omnipresente función "Pay with PayPal" que ve en los sitios web de comercio electrónico funciona a través de una API. Esto permite que las personas paguen por productos en línea sin exponer ningún dato confidencial ni otorgar acceso a personas no autorizadas.
  • Comparaciones de reservas de viajes: Los sitios de reserva de viajes agregan miles de vuelos y muestran las opciones más baratas para cada fecha y destino. Este servicio es posible a través de API que brindan a los usuarios de la aplicación acceso a la información más reciente sobre la disponibilidad de hoteles y aerolíneas. Con un intercambio autónomo de datos y solicitudes, las API reducen drásticamente el tiempo y el esfuerzo necesarios para verificar los vuelos o el alojamiento disponibles.
  • Google Maps: Uno de los ejemplos más comunes de una buena API es el servicio Google Maps . Además de las API principales que muestran mapas estáticos o interactivos, la aplicación utiliza otras API y funciones para proporcionar a los usuarios direcciones o puntos de interés. A través de la geolocalización y múltiples capas de datos, puede comunicarse con la API de Maps al trazar rutas de viaje o rastrear elementos en movimiento, como un vehículo de reparto.
  • Twitter: Cada tweet  contiene atributos centrales descriptivos, incluido un autor, una identificación única, un mensaje, una marca de tiempo de cuándo se publicó y metadatos de geolocalización. Twitter hace que los tweets y las respuestas estén disponibles para los desarrolladores y permite a los desarrolladores publicar tweets  a través de la API de la empresa.

Tipos de API y Tipos de protocolos de API
Tipos de API

Hoy en día, la mayoría de interfaces de programación de aplicaciones son API web que exponen los datos y la funcionalidad de una aplicación a través de Internet. Estos son los cuatro tipos principales de API web:

  • Las API abiertas son interfaces de programación de aplicaciones de código abierto a las que se puede acceder con el protocolo HTTP. También conocidas como API públicas, tienen puntos finales de API definidos y formatos de solicitud y respuesta.
  • Las API de socios son interfaces de programación de aplicaciones expuestas por o para socios comerciales estratégicos. Normalmente, los desarrolladores pueden acceder a estas API en modo de autoservicio a través de un portal de desarrolladores de API público . Aún así, deberán completar un proceso de incorporación y obtener credenciales de inicio de sesión para acceder a las API de socios.
  • Las API internas son interfaces de programación de aplicaciones que permanecen ocultas a los usuarios externos. Estas API privadas no están disponibles para los usuarios de fuera de la empresa y, en cambio, están destinadas a mejorar la productividad y la comunicación entre los diferentes equipos de desarrollo internos.
  • Las API compuestas combinan varias API de servicios o datos. Estos servicios permiten a los desarrolladores acceder a varios puntos finales en una sola llamada. Las API compuestas son útiles en la arquitectura de microservicios, donde realizar una sola tarea puede requerir información de varias fuentes.
Tipos de protocolos de API

A medida que el uso de las API web ha ido aumentando, se han desarrollado determinados protocolos para proporcionar a los usuarios un conjunto de reglas definidas que especifican los tipos de datos y comandos aceptados. En efecto, estos protocolos de API facilitan el intercambio de información estandarizado:

  • SOAP (Protocolo simple de acceso a objetos) es un protocolo de API creado con XML, que permite a los usuarios enviar y recibir datos a través de SMTP y HTTP. Con las API de SOAP, es más fácil compartir información entre aplicaciones o componentes de software  que se ejecutan en diferentes entornos o están escritos en diferentes lenguajes.
  • XML-RPC es un protocolo que se basa en un formato específico de XML para transferir datos, mientras que SOAP usa un formato XML propietario. XML-RPC es más antiguo que SOAP, pero mucho más simple y relativamente ligero en el sentido de que utiliza un ancho de banda mínimo.
  • JSON-RPC es un protocolo similar a XML-RPC, ya que ambos son llamadas a procedimiento remoto (RPC), pero este usa JSON en lugar del formato XML para transferir datos. Ambos protocolos son sencillos. Si bien las llamadas pueden contener varios parámetros, solo esperan un resultado.
  • REST (Transferencia de estado representacional) es un conjunto de principios de arquitectura de API web , y esto significa que no hay estándares oficiales (a diferencia de los que tienen un protocolo). Para ser una API REST (también conocida como API RESTful ), la interfaz debe cumplir con ciertas restricciones de arquitectura. Es posible construir API RESTful con protocolos SOAP, pero los dos estándares generalmente se consideran especificaciones que compiten entre sí.

API, servicios web y microservicios

Un servicio web es un componente de software al que se puede acceder a través de una dirección web. Por lo tanto, por definición, los servicios web requieren una red. Dado que un servicio web expone los datos y la funcionalidad de una aplicación, de hecho, cada servicio web es una API. Sin embargo, no todas las API son servicios web.

Tradicionalmente, se hacía referencia a una API como una interfaz conectada a una aplicación que podía haber sido creada con cualquiera de los lenguajes de programación, de nivel bajo, como Javascript. La API moderna se adhiere a los principios de REST y el formato JSON , y normalmente está creada para HTTP, y el resultado son unas interfaces sencillas de usar para desarrolladores que son fácilmente accesibles y ampliamente entendidas por aplicaciones escritas en Java, Ruby, Python y muchos otros lenguajes. 

Cuando se utilizan API, existen dos enfoques de arquitectura comunes: arquitectura orientada a servicios (SOA) y arquitectura de microservicios .

  • SOA es un estilo de diseño de software en el que las funciones se dividen y están disponibles como servicios separados dentro de una red. Normalmente, SOA se implementa con servicios web, haciendo que los bloques de creación funcionales sean accesibles a través de protocolos de comunicación estándar. Los desarrolladores pueden crear estos servicios desde cero, pero normalmente los crean exponiendo funciones de sistemas heredados como interfaces de servicio.
  • La arquitectura de microservicios es un estilo arquitectónico alternativo que divide una aplicación en componentes independientes más pequeños. Disponer de la aplicación como una colección de servicios separados facilita la prueba, el mantenimiento y el escalado. Esta metodología ha cobrado importancia a lo largo de la era de la computación en la nube y permite a los desarrolladores trabajar en un componente independientemente de los demás.

Si bien SOA fue un paso evolutivo vital en el desarrollo de aplicaciones, la arquitectura de microservicios está creada para escalar, brindando a los desarrolladores y empresas la agilidad y flexibilidad que necesitan para crear, modificar, probar e implementar aplicaciones a un nivel granular, con ciclos de iteración más cortos y un uso más eficiente de los recursos de computación en la nube.

Para conocer más a fondo cómo se relacionan estos enfoques arquitectónicos, consulte "SOA frente a microservicios: ¿cuál es la diferencia?"


API y arquitectura en la nube

Es fundamental desarrollar API adaptadas a los objetivos, en el mundo actual. El desarrollo de aplicaciones nativas de nube se basa en conectar una arquitectura de microservicios de la aplicación a través de sus API para compartir datos con usuarios externos, como sus clientes.

Los servicios dentro de la arquitectura de microservicios utilizan un marco de mensajería común, similar a las API RESTful , que facilitan la comunicación abierta en un sistema operativo sin las fricciones causadas por capas de integración adicionales o transacciones de conversión de datos. Además, puede eliminar, reemplazar o mejorar cualquier servicio o característica sin ningún impacto en los otros servicios. Esta dinámica ligera mejora la optimización de los recursos en la nube, allanando el camino para mejores pruebas, rendimiento y escalabilidad de API.


API e IBM Cloud®

Las API seguirán siendo solo una parte de lamodernización de las aplicaciones y transformarán las organizaciones a medida que la demanda de mejores experiencias del cliente y más aplicaciones impacte en las operaciones comerciales y de TI.

Cuando se trate de satisfacer estas demandas, será de gran ayuda avanzar hacia una mayor automatización. Lo ideal sería comenzar con pequeños proyectos exitosos, que luego pueda escalar y optimizar para otros procesos y en otras partes de su organización.

Al trabajar con IBM, tendrá acceso a las funcionalidades de automatización basadas en inteligencia artificial, incluidos los flujos de trabajo preintegrados, para ayudar a acelerar la innovación haciendo que cada proceso sea más inteligente.

Dé el siguiente paso:

  • Explore IBM API Connect®, una plataforma de diseño de API intuitiva y escalable para crear, exponer, administrar y monetizar API en sistemas de computación en la nube de manera segura.
  • Desarrolle habilidades para ayudar a crear comunidades de desarrolladores para publicar y compartir API e interactuar con ellas a través de un portal de autoservicio en el currículum de Desarrollador de soluciones: IBM API Connect .
  • API Connect también puede venir integrado con otras prestaciones de automatización en IBM Cloud Pak® for Integration, una solución de integración híbrida que proporciona un ciclo de vida automatizado y de bucle cerrado en múltiples estilos de integración empresarial.
  • Ejecute nuestra evaluación de madurez de la integración para evaluar el nivel de madurez de su integración a través de dimensiones críticas y descubra las acciones que puede llevar a cabo para pasar al siguiente nivel.
  • Descargue nuestra guía de integración de Agile, que explora los méritos de un enfoque basado en contenedores, descentralizado y alineado con microservicios para la integración de soluciones.

Empiece con una cuenta de IBM Cloud hoy mismo.


Soluciones relacionadas

Cree nuevas APIs

Cree APIs que los desarrolladores de aplicaciones querrán utilizar con IBM API Connect


Gestione sus APIs

Monetice su estrategia de API con la gestión completa del ecosistema de API


API Connect Test and Monitor

Actualice su entorno al potente, automatizado y colaborativo servicio IBM API Connect Test and Monitor


Watson Language Translator

Amplíe su entorno a nuevos mercados traduciendo instantáneamente sus documentos, aplicaciones y páginas web. Cree chatbots multilingües para comunicarse con sus clientes hablando su propio lenguaje.


Integración en la nube

Conecte cualquier dato con una integración multinube


Aplicaciones SaaS para negocio y TI

Reinvente su negocio con más de 150 aplicaciones SaaS