¿Qué es una API?

Una interfaz de programación de aplicaciones (API) es una forma de que una pieza de software utilice las funciones de otra pieza de software.

Metas de aprendizaje

Después de leer este artículo podrás:

  • Definir "API
  • Explicar las llamadas de la API, los puntos de conexión de la API, el esquema de la API y la integración de la API
  • Describir las API web, las API SOAP y las API REST
  • Entender las protecciones de seguridad de la API

Contenido relacionado


¿Quieres saber más?

Suscríbete a theNET, el resumen mensual de Cloudflare sobre las ideas más populares de Internet.

Revisa la política de privacidad de Cloudflare para saber más sobre cómo Cloudflare gestiona tus datos personales.

Copiar el enlace del artículo

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

Una interfaz de programación de aplicaciones (API) es un conjunto de reglas que permite a un programa informático transmitir los datos a otro programa informático.

Las API permiten a los desarrolladores evitar el trabajo redundante; en lugar de construir y reconstruir funciones de aplicaciones que ya existen, los desarrolladores pueden incorporar las existentes a su nueva aplicación al formatear las solicitudes como requiere la API.

Una API es una "interfaz", es decir, una forma de que una cosa interactúe con otra. Si utilizamos un ejemplo del mundo real, un cajero automático tiene una interfaz, una pantalla y varios botones, que permite que los clientes interactúen con su banco y soliciten servicios, como sacar dinero. Del mismo modo, una API es la forma en que una pieza de software interactúa con otro programa para obtener los servicios necesarios.

Imaginemos que Jennifer diseña un sitio web que ayuda a los viajeros a comprobar el tráfico de las autovías antes de salir a trabajar. Jennifer podría dedicar mucho tiempo y dinero a crear un complejo sistema de seguimiento de las autovías para ofrecer esta información a los usuarios de su sitio web. Pero estas funciones ya existen, ya que otros han creado estos sistemas. En lugar de reinventar la rueda, el sitio web de Jennifer utiliza una API que ofrece un servicio externo de seguimiento de autovías. Ahora, Jennifer puede centrarse en diseñar otros aspectos del sitio web.

¿Qué es una llamada de la API?

Una llamada API, también conocida como solicitud API, es un mensaje dirigido a una API que desencadena su uso.

Volviendo al ejemplo anterior, Jennifer construye su sitio web de forma que cuando se carga, genera automáticamente una llamada API al servicio de seguimiento de autovías. La respuesta llega al sitio web desde ese servicio y le permite mostrar la información más reciente sobre el tráfico en las autovías.

Las llamadas de la API tienen que estar formateadas según los requisitos de la API para que puedan funcionar. Los requisitos de la API se denominan su "esquema". El esquema también describe los tipos de respuestas que se proporcionan a cada solicitud.

Supongamos que alguien que va al trabajo utiliza el sitio web de Jennifer para comprobar el tráfico en la autovía 192. El sitio web envía una llamada de la API para ofrecer esta información: un mensaje que dice "Autovía 192." El servidor de la API del servicio de seguimiento de autovías recibe este mensaje y responde con los tiempos de viaje en la Autovía 192. Imaginémonos el esquema de la API de esta manera:

Solicitud de la API Respuesta de la API
"Autovía 192" Tiempos de viaje en la autvía 192
"Autovía 217" Tiempos de viaje en la autovía 217
"Autovía 225" Tiempos de viaje en la autovía 225

(Ten en cuenta que este es un ejemplo muy simplificado; las solicitudes, respuestas y esquemas de la API del mundo real son más complejos).

Ahora, supongamos que el sitio web de Jennifer envía una solicitud de la API para "Autovía ASDFGHJ". Esta solicitud no es válida, porque no se ajusta al esquema de la API, que solo permite nombres reales de autovías. El servidor no podrá proporcionar una respuesta utilizable para dicha solicitud.

¿Qué es un punto final de API?

Un punto de conexión es el extremo de un canal de comunicación. Un punto de conexión de la API es el lugar donde se origina una respuesta de la API.

En el ejemplo, un punto de conexión de la conexión de la API es el sitio web de Jennifer, y el otro es el servidor que aloja la API. Las llamadas de la API de Jennifer tienen que ir a una determinada URL (una URL es una dirección web, como www.cloudflare.com/learning) de la que es responsable el servidor de la API para obtener una respuesta.

¿Qué es la integración de la API?

La integración de la API es la combinación de dos o más aplicaciones mediante el uso de API. La integración de la API es lo que permite que una aplicación se beneficie de las funciones de otra aplicación, igual que la combinación de un equipo de ventas y un equipo de marketing en una oficina permite que esos dos equipos trabajen juntos y se beneficien de los esfuerzos del otro. Las integraciones de la API también se suelen utilizar para sincronizar datos entre dos aplicaciones o bases de datos.

¿Qué es una API web?

Cualquier cosa que implique código informático puede tener una API, desde los sistemas operativos hasta las bibliotecas de software. Una API web se utiliza específicamente para las aplicaciones web a las que se accede a por Internet.

Las API web son extremadamente importantes para la Internet moderna. Casi todas las aplicaciones orientadas al usuario dependen de las API para funcionar (¡no solo el sitio web de Jennifer!). Filosofías enteras de desarrollo de software se basan en el uso de las API: una de ellas es JAMstack, donde JAM se apoya en JavaScript, el marcado de la API. Otro ejemplo es la arquitectura de microservicios, que utiliza las API para llamar a las diferentes funciones que componen una aplicación. Incluso las aplicaciones desarrolladas sin estos enfoques suelen depender de las API.

¿Qué son las API SOAP y las APIs REST?

Las API SOAP y las API REST describen diferentes categorías de API.

SOAP (Simple Object Access Protocol) es un tipo de protocolo. Las API SOAP son API que solo utilizan el protocolo SOAP.

REST (REpresentational State Transfer) es un estilo de arquitectura para los servicios web. Una API REST es cualquier API creada mediante el uso de la arquitectura REST. A diferencia de las API SOAP, las API REST funcionan con cualquier protocolo. La mayoría de las API actuales son API REST.

¿Introducen las API riesgos de seguridad?

De igual forma que permitir que una persona utilice una aplicación introduce el riesgo de que haga un mal uso de esa aplicación, una API introduce el riesgo de que un cliente de la API haga lo mismo con el servicio. Además, las llamadas de la API web viajan por Internet y pueden ser interceptadas, suplantadas, o modificadas, como cualquier otra transferencia de datos a través de una red.

La seguridad de las API es la práctica de proteger las API contra ataques y abusos. Dada la importancia de las API para el Internet moderno, la seguridad de las API es un componente fundamental de la seguridad de las aplicaciones web. Las medidas fundamentales de seguridad de las API incluyen:

  • Limitación de velocidad: los clientes que realizan demasiadas solicitudes de API pueden ralentizar o bloquear la API para otros clientes. La limitación de velocidad pone un límite a la cantidad de solicitudes de la API que pueden provenir de un determinado punto de conexión de la API en un período de tiempo determinado.
  • Protección con DDoS: igual que la limitación de velocidad, la protección contra la denegación de servicio distribuido (DDoS) detiene los ataques DDoS, cuyo objetivo es agotar o sobrecargar a una API con una gran cantidad de solicitud enviadas todas a la vez.
  • Autenticación: es importante autenticar los puntos de conexión y los clientes de la API para asegurarse de que las solicitudes de la API provengan de fuentes legítimas y no de atacantes. El TLS mutuo (mTLS) es una de las formas más eficaces de autenticación de la API.
  • Validación de esquemas: si una solicitud API no se ajusta al esquema de la API, esta puede reaccionar de forma inesperada, por ejemplo, revelando datos confidenciales. La validación de esquemas permite que una API pueda descartar este tipo de solicitudes.

Cloudflare API Gateway incluye estas y otras funciones de seguridad para protegerse de las amenazas de la API. Para leer sobre la seguridad de la API en mayor profundidad, consulta ¿Qué es la seguridad de la API?