¿Qué es un punto final de API?

Un punto final de API es el extremo de una conexión de API, donde se recibe una llamada API.

Objetivos de aprendizaje

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

  • Definir el punto final de la API
  • Entender por qué los puntos finales de la API utilizan URL
  • Comprender la importancia de la autenticación de los puntos finales de la API

Copiar enlace del artículo

¿Qué es un punto final de API?

Una interfaz de programación de aplicaciones (API) es la forma en que una aplicación solicita un servicio a otra aplicación. Las API permiten a los desarrolladores evitar tener que volver a crear funciones que ya existen para una aplicación. Un punto final de API es el lugar donde se realizan esas solicitudes (conocidas como llamadas API).

Si Alice y Bob están hablando por teléfono, las palabras de Alice se dirigen a Bob y viceversa. Alice dirige sus palabras al "punto final" de la conversación: Bob.

Alice: "Hola, Bob" ----------> Bob

Del mismo modo, una integración de API es como una conversación. Pero en lugar de decir "Hola", un cliente de API dice algo como "Necesito algunos datos" al servidor de la API a través de una llamada API. El punto final del servidor de la API responde "Aquí están los datos" - respuesta de la API. Los puntos finales de la API no son entidades físicas como Alice y Bob. Existen en el software, no en el hardware.

Servidores y clientes de API

Las API se alojan en uno o varios servidores, ordenadores o computadoras especializadas que almacenan datos y ejecutan programas de software. Cada servidor "entrega" datos, contenidos y funcionalidades de software a otros dispositivos a través de Internet. El punto final de la API casi siempre está alojado en un servidor.

El otro extremo de la conexión de API es el cliente de API, la entidad que solicita los servicios de la API. Algunos lo llaman "usuario" de API, aunque la mayoría de las llamadas API son automáticas.

¿Cómo conoce el cliente de la API el punto final del servidor?

Para ser útil, una API tiene que tener documentación. La documentación indica, entre otras cosas, qué tipos de solicitudes acepta la API, qué puede hacer la API, cómo formatea sus respuestas y cuáles son sus puntos finales. Los desarrolladores pueden revisar la documentación de una API e incorporar esta información cuando desarrollan sus aplicaciones.

Puedes consultar la documentación de la API de Cloudflare para conocer, p. ej., cuáles son los puntos finales, aquí: https://api.cloudflare.com/

¿Cómo utilizan las API las URL?

Los localizadores uniformes de recursos (URL) se utilizan para varios propósitos en la web, incluida la localización de páginas web. Por ejemplo, la URL de la versión en inglés de esta página web es https://www.cloudflare.com/learning/security/api/what-is-api-endpoint/. Cuando un usuario introduce esa URL en su navegador, este sabe dónde encontrar esta página web y puede cargarla.

Las URL también indican los puntos finales de la API. Cuando Alicia y Bob hablan por teléfono, Alicia llama a Bob a su número de teléfono. Del mismo modo, la URL de un punto final de la API es como un número de teléfono para hacer llamadas API.

Un servidor de API puede alojar uno o varios puntos finales de la API, lo que significa que aceptará y procesará las llamadas dirigidas a las URL de esos puntos finales. Los clientes de la API también necesitan tener una URL para que el servidor de la API sepa dónde enviar sus respuestas, del mismo modo que Bob y Alice necesitan un número de teléfono para llamarse. Los desarrolladores establecen esta URL cuando desarrollan sus aplicaciones.

Una URL siempre incluye el protocolo de la capa de aplicación, como HTTP, utilizado para llegar a ella. La mayoría de las API web utilizan HTTP, por lo que se incluye en la URL del punto final de la API.

¿Cómo se autentican los puntos finales de la API y los clientes?

Una API bien diseñada no acepta llamadas de cualquiera. Lo contrario, dejaría al servidor de la API expuesto a recibir datos maliciosos de los atacantes. Además, el uso de la API suele costar dinero, por lo que en esos casos el servidor de la API tiene que comprobar si la llamada API procede de un cliente de pago.

Por estas razones, el servidor de la API tiene que asegurarse de que el cliente del que procede la llamada es conocido y de confianza. Esto se hace mediante la autenticación.

La autenticación es el proceso de verificación de la identidad. Al igual que hay varias formas de autenticar a un usuario en un sistema, los puntos finales de la API puedan aplicar la autenticación de cuatro maneras distintas:

  1. Clave de API: al cliente de API se le asigna una clave, o una cadena de caracteres única que solo él y el servicio de la API conocen. Cuando el cliente de API envía una llamada API al punto final del servidor, incluye la clave para que el servidor sepa de dónde procede la llamada.
  2. Autenticación básica (nombre de usuario y contraseña): similar al enfoque de la clave, el cliente de API establece un nombre de usuario y una contraseña con el servicio de la API, e incluye estas credenciales en las llamadas API.
  3. Token OAuth: en lugar de requerir la autenticación del cliente, el servidor de API puede obtener un token de autenticación de un servidor de autenticación de confianza utilizando el protocolo OAuth.
  4. TLS mutuo: TLS es el protocolo que crea una conexión autenticada entre el cliente y el servidor cuando se cargan las páginas web. También puede autenticar ambos lados de una integración de API.

En muchos casos, el TLS mutuo es el método de autenticación más eficaz. Por un lado, autentifica tanto el punto final como el cliente, no solo el cliente, por lo que ambas partes pueden estar seguras de que están recibiendo datos de una fuente legítima. También utiliza claves privadas, que nunca se comparten entre los puntos finales y, por tanto, no pueden ser interceptadas en tránsito. Por otro lado, las claves API, las contraseñas y los tokens se pueden duplicar o robar.

Cloudflare API Shield utiliza TLS mutuo para autenticar los puntos finales de la API y los clientes, lo que ayuda a proteger a ambas partes de un ataque. API Shield también ofrece otras funciones de seguridad de la API, como la limitación de la velocidad y la prevención de la pérdida de datos (DLP). Más información sobre API Shield.

Ventas