Las API permiten a las aplicaciones intercambiar información al enviar y recibir llamadas API.
Después de leer este artículo podrás:
Contenido relacionado
¿Qué es una API?
¿Qué es una llamada de la API?
Punto final de la API
API de la nube
¿Qué es la seguridad de la API?
Suscríbete a theNET, el resumen mensual de Cloudflare sobre las ideas más populares de Internet.
Copiar el enlace del artículo
Las interfaces de programación de aplicaciones (API) permiten que los programas de software se comuniquen entre sí enviando y recibiendo llamadas API o solicitudes de información. Estas solicitudes son iniciadas por un cliente de API y aceptadas por un punto final de la API.
Para intercambiar información entre las API, los desarrolladores deben proporcionar documentación de la API que describa los tipos de solicitudes que una API puede aceptar, los casos de uso para los que está diseñada y cualquier otra condición (por ejemplo. protocolos, esquemas y requisitos de seguridad) que los terceros deben cumplir.
Las llamadas API permiten que las API compartan funcionalidades sin que los desarrolladores tengan que volver a escribir funciones desde cero para cada aplicación individual. Sin estas, los desarrolladores no podrían replicar fácilmente funciones en varias aplicaciones ni solicitar datos a otras aplicaciones, servicios y proveedores.
Una API es una interfaz que permite que los programas de software compartan datos y funciones. Este método de comunicación ayuda a mejorar las funcionalidades de la mayoría de aplicaciones web modernas.
Por ejemplo, imagina que Alice desarrolla una aplicación que personaliza las listas de reproducción de música clásica según el estado de ánimo de los clientes de escucha. En lugar de introducir manualmente miles de pistas para rellenar estas listas de reproducción, puede utilizar una API que conecte con un repositorio de música externo — lo que ahorra tiempo, dinero y retos de desarrollo.
Los casos de uso de las API son casi ilimitados. Conectan los servicios en la nube, consultan bases de datos, actualizan automáticamente aplicaciones móviles, transmiten contenidos a múltiples dispositivos, agregan precios de vuelos y opciones de entrega de comida, y mucho más.
Un cliente de API, a veces llamado "usuario", es el software que inicia una llamada a la API.
Antes de poder interactuar con un punto final de la API, un cliente de API necesita verificar su identidad. Esto ayuda a evitar que los atacantes exploten las API para realizar ataques de denegación de servicio distribuido (DDoS) u otras acciones maliciosas.
Normalmente, la autenticación se lleva a cabo mediante uno de estos cuatro métodos: una cadena de caracteres única (Clave API), una combinación de nombre de usuario y contraseña, un token OAuth o un mutual TLS. El uso de un método de autenticación sólido es una de las formas en que los desarrolladores pueden proteger las API de los ataques. (Más información sobre la seguridad de las API).
Un punto final de la API acepta la llamada API y devuelve la información solicitada.
Tanto los clientes como los puntos finales de API se refieren a programas de software alojados en servidores y no a dispositivos de hardware discretos. Los servidores API pueden alojar varios puntos finales —a cada uno de los cuales se le asigna un Uniform Resource Identifier (URI) que permite ser localizado por un cliente de API. En la mayoría de los casos, este URI es un localizador uniforme de recursos (URL), que apunta a ubicaciones basadas en el Internet (por ejemplo, un sitio web).
Un esquema de API son metadatos que definen las especificaciones que debe cumplir una solicitud API para ser considerada válida. Estas especificaciones pueden incluir detalles como el punto final de destino, método HTTP y otros requisitos establecidos por los desarrolladores.
Cuando se envía una llamada API desde un cliente, debe cumplir las condiciones descritas en el esquema. Solo entonces un punto final de la API puede proporcionar la información solicitada. Para ponerlo en perspectiva, imagina que Bob está organizando una fiesta. En la invitación, especifica que solo los invitados que lleven margaritas amarillas recibirán tarjetas de agradecimiento después de la fiesta. Sin embargo, si Carol decide llevar rosas rojas a la fiesta, no recibirá una tarjeta de agradecimiento.
Del mismo modo, una llamada API que no cumpla los requisitos establecidos por el esquema de API no recibirá una respuesta.
Al igual que las propias API, las llamadas API varían según las especificaciones descritas en la documentación de API. Sin embargo, en términos generales, una llamada API sigue tres pasos básicos:
Para una explicación más detallada de las llamadas API, lee ¿Qué es una llamada API?
Las API son compatibles con varios protocolos diferentes. Un protocolo es un método de comunicación a través de una red e indica a la API cómo formatear las solicitudes y las respuestas. El tipo de protocolo API utilizado depende de la finalidad para la que se haya desarrollado la API, de los casos de uso a los que sirve y de las restricciones que conlleva.
Los dos protocolos API más habituales son el protocolo simple de acceso a objetos (SOAP) y la llamada de procedimiento remoto (RPC). La transferencia de estado representacional (REST) es una arquitectura de software que a menudo es comparada con estos protocolos.
SOAP proporciona un método estandarizado para enviar y recibir llamadas entre las API que utilizan sistemas operativos y arquitecturas diferentes. También es compatible con el protocolo de transferencia de hipertexto (HTTP), el protocolo de transferencia de archivos (FTP), el protocolo simple de transferencia de correo (SMTP) y otros protocolos de capa de aplicación. Solo puede devolver datos a los clientes de API, utilizando el lenguaje de marcado extensible (XML).
RPC es uno de los métodos más sencillos y antiguos de comunicación entre las API. Funciona al iniciar una llamada procedimental remota, durante la cual un cliente solicita una función a un servidor remoto. La diferencia primaria entre RPC y SOAP/REST es que RPC ayuda a realizar acciones específicas (o funciones), mientras que SOAP/REST se utiliza para recuperar recursos (o datos).
REST se refiere a una arquitectura REST, que dicta parcialmente cómo se formatean las llamadas API. En pocas palabras, REST permite a un cliente solicitar recursos a un servidor, que proporciona la información al cliente en su estado actual. Las REST API suelen utilizar el protocolo HTTP para dar formato a las solicitudes y respuestas, pero también son compatibles con el (FTP), SMTP y otros. Pueden devolver datos a los clientes de API utilizando varios formatos diferentes, como XML, notación de objetos de JavaScript (JSON) y lenguaje de marcado de hipertexto (HTML).
Como cualquier cosa conectada a una red, las API son vulnerables a la explotación y al abuso. Entre los ataques comunes API se incluyen los siguientes:
Cloudflare API Gateway ayuda a mitigar estos ataques al proporcionar una autenticación sólida, analizando las cargas útiles en busca de datos confidenciales, validando los esquemas de API y detectando y evitando el abuso de la API. Obtén más información sobre Cloudflare API Gateway.