Mi IBM Inicie sesión Suscríbase

Inicio

Topics

Endpoint de API

¿Qué es un endpoint de API?

¿Qué es un endpoint de API?

Explore la solución de endpoint de API de IBM Suscríbase al boletín de Think
Ilustración con collage de pictogramas de engranaje, brazo robótico, teléfono móvil

Publicado: 05 de agosto de 2024
Colaboradores: Dan Nosowitz, Michael Goodwin

¿Qué es un endpoint de API?

¿Qué es un endpoint de API?

Un endpoint de API es una ubicación digital donde una interfaz de programación de aplicaciones (API) recibe llamadas de API, también conocidas como solicitudes de API, para recursos en su servidor. Los endpoints de API son componentes de éstas y suelen adoptar la forma de URL, o localizadores uniformes de recursos.

Una API es un intermediario que permite que las aplicaciones de software se comuniquen entre sí para intercambiar datos, características y funcionalidades. Es un conjunto de protocolos y reglas que definen cómo un cliente API (el software que realiza una solicitud) puede comunicarse con un servidor para acceder a datos y funciones. Al utilizar una API, los desarrolladores pueden aprovechar datos y servicios ya existentes; y los propietarios de aplicaciones pueden compartir o comercializar esos mismos datos y servicios.  

Los endpoints funcionan un poco como los números de teléfono: al igual que un usuario marca un número de teléfono para comunicarse con una determinada persona o empresa, los clientes de API (el software que realiza una llamada API) proporcionan una URL de endpoint para comunicarse con un recurso específico. Una URL de endpoint proporciona la ubicación de un recurso en un servidor API y ayuda a conectar el cliente API con el recurso que está solicitando. Básicamente, le dice al servidor: "el recurso que necesito se encuentra aquí".

Los endpoints de API pueden permitir a un cliente de API solicitar todo tipo de datos a una API, con casos de uso que van desde actualizaciones en tiempo real de aplicaciones de software de redes sociales hasta funciones como la incrustación de audio o vídeo, la recuperación de noticias o la creación de una nueva publicación.  

IBM nombrada líder en el informe Forrester Wave for API Management Software del tercer trimestre de 2024

Forrester señala: "IBM se adapta bien a una estrategia de API orientada al negocio con un atractivo portal para desarrolladores y productos digitales que van más allá de REST".

Contenido relacionado La clave para liberar todo el potencial de sus API: gestión de API
¿Por qué son importantes los endpoint de API?

¿Por qué son importantes los endpoint de API?

Los endpoints de API correctamente formateados y seguros son una parte crucial del funcionamiento de las API. Las API simplifican el diseño y el desarrollo de nuevas aplicaciones y servicios (porque permiten a los desarrolladores crear capacidades y servicios existentes) y la integración y gestión de los existentes. También ofrecen ventajas significativas a los desarrolladores y a las organizaciones en general, como la mejora de la colaboración, la aceleración de la innovación, el aumento de la agilidad, la escalabilidad y la seguridad, entre otras. Los endpoints de API permiten el intercambio de recursos que hace posible dicha integración.

Para que las API funcionen como deben, los endpoints de API deben ser precisos, intuitivos, detectables y autenticados, o de lo contrario la comunicación entre el cliente y el servidor puede interrumpirse, lo que reduce la funcionalidad y la satisfacción del usuario con ella.  En pocas palabras, los endpoint de API permiten a los clientes de la API localizar y acceder correctamente a los recursos y funciones solicitados.

¿Cómo funcionan los endpoints de API? 

¿Cómo funcionan los endpoints de API? 

Los endpoints de API suelen encontrarse en la documentación de una API, que es donde los desarrolladores ponen información de la API, como qué tipo de solicitudes aceptará una API y cómo deben formatearse las solicitudes. Lo ideal sería que esta documentación también incluyera una lista de todos los endpoints de API disponibles y una breve descripción de sus funcionalidades.

En un contexto de API REST (un estilo arquitectónico de software utilizado con frecuencia para las aplicaciones web), el proceso tiene este aspecto:

El proceso comienza cuando un cliente de API envía una solicitud de recursos (llamada a API) al endpoint de API correspondiente. Se accede a los endpoints mediante métodos de solicitud HTTP como POST, GET, PUT, PATCH y DELETE. Estos métodos indican la acción que el cliente desea realizar sobre el recurso especificado.

Por ejemplo, si un cliente desea recuperar una lista de los totales de medallas olímpicas de un determinado año de la hipotética base de datos Olympicfacts.com, se envía una solicitud GET a la siguiente dirección URL de endpoint: 

https://api.olympicfacts.com/v1/{year}

Esta solicitud devolvería una lista del total de medallas olímpicas por país. (v1 en nuestro endpoint hipotético indica la versión de la API, una práctica común en el control de versiones de API). Si el cliente quisiera un total para un país específico en un año determinado, se agregaría un identificador a la URL base: 

https://api.olympicfacts.com/v1/year/{id}

En este ejemplo, el identificador {id} se utiliza para indicar sobre qué país desea recibir información el cliente.

Además, una solicitud puede incluir:

  • Encabezados: los encabezados pueden proporcionar información adicional sobre la solicitud, como un encabezado de aceptación que especifica los tipos de medios aceptados

  • Parámetros: se pueden agregar parámetros de consulta a la URL base o en el cuerpo de la solicitud para filtrar aún más los criterios de búsqueda o agregar otras especificaciones.

  • Cuerpo de solicitud: un cuerpo de solicitud incluye los datos necesarios para crear o modificar un recurso. Por ejemplo, si la solicitud es para crear un nuevo blog (solicitud POST), el contenido del nuevo blog se incluiría en el cuerpo de la solicitud.

Una vez que el servidor autentica la solicitud y valida la entrada, recupera los datos solicitados y devuelve la respuesta al cliente. Muchas organizaciones utilizan API Gateway para ejecutar estas funciones y administrar el flujo de tráfico de API.

¿Cuál es la diferencia entre la API REST y los endpoints GraphQL?

¿Cuál es la diferencia entre la API REST y los endpoints GraphQL?

Una API REST (también llamada API RESTful o API web RESTful) es una API que se ajusta a los principios de diseño del estilo arquitectónico de transferencia de estado representacional (REST).GraphQL es un lenguaje de consulta de código abierto y un tiempo de ejecución del lado del servidor que especifica cómo deben interactuar los clientes con las API.2

GraphQL y REST son tecnologías basadas en recursos que admiten formatos de datos similares (JSON y XML, por ejemplo) y permiten a los clientes solicitar datos a los servidores mediante métodos HTTP. Sin embargo, difieren en sus requisitos de solicitud y recuperación de datos, entre otros aspectos. Nos centraremos en una diferencia clave relacionada con el endpoint.

Las API REST utilizan varios endpoints y tienen endpoints diferentes para cada recurso. Cuando un cliente solicita un recurso, el servidor devuelve todos los datos asociados con el recurso, incluso si el cliente solo necesita un pequeño subconjunto de los datos. Esto se conoce como overfetching. Si un cliente necesita datos distribuidos en varios recursos, debe realizar llamadas API independientes a cada uno de esos recursos para compilar los datos necesarios.

GraphQL expone modelos de datos utilizando un único endpoint y utiliza una sintaxis que permite a los clientes realizar solicitudes de API en una sola línea, o en unas pocas líneas, para especificar exactamente lo que necesitan. Las consultas GraphQL pueden seguir referencias entre recursos y realizar tareas complejas de recuperación de datos en una sola solicitud. Esto ayuda a eliminar los problemas de underfetching y overfetching y la necesidad de realizar varias llamadas a la API.

Ni las API REST ni las GraphQL son intrínsecamente superiores; son herramientas diferentes que se adaptan a tareas diferentes.3

¿Cómo se realizan las pruebas de API? 

¿Cómo se realizan las pruebas de API? 

La clave de cualquier buen diseño de API es la fase de prueba. Las aplicaciones modernas suelen utilizar API para integrar funciones de otro software o se crean mediante arquitecturas de microservicios (que se basan en las API para la comunicación entre distintos servicios). Probar los endpoints de la API es esencial para garantizar la fiabilidad.

Existen opciones de prueba manuales para las API y opciones de prueba que utilizan la automatización, así como numerosas herramientas y plataformas de prueba (tanto de código abierto como propias) que las empresas pueden utilizar.

Las pruebas manuales de endpoints de API pueden ser más lentas y menos eficientes, pero también más precisas y personalizadas para casos de uso específicos. Las pruebas funcionales consistirían simplemente en enviar una solicitud desde una aplicación para asegurarse de que se da la respuesta correcta. En un ejemplo de redes sociales, esto podría significar enviar una solicitud de una nueva publicación por parte de un usuario en particular y verificar que la publicación devuelta sea realmente la correcta.

Otros tipos de pruebas manuales implican: 

  • enviar muchas solicitudes a la vez para ver cómo el servidor maneja la carga de solicitudes

  • comprobar que la API se integra correctamente con otros servicios

  • determinar la velocidad y el tiempo de respuesta de una solicitud determinada

  • proporcionar intencionalmente una solicitud no válida para comprobar que se devuelve el mensaje de error correcto

Las pruebas automatizadas realizadas a través de una plataforma de gestión de API pueden ofrecer varias ventajas:

  • reduce la posibilidad de error humano

  • es más eficaz a la hora de comprobar la validez de varios endpoints de API

  • puede mejorar la velocidad de las pruebas y reducir potencialmente los costes a largo plazo una vez que se establezcan sistemas de pruebas automatizados (ahorrando tiempo de los empleados, por ejemplo)

  • alinea las pruebas con protocolos, estándares y permisos uniformes

En general, cada uno debe devolver la respuesta deseada, en términos de formato, datos devueltos y código de estado.

Cómo proteger los endpoints de API

Cómo proteger los endpoints de API

Dado que los endpoints de API proporcionan una forma de que las aplicaciones y sistemas internos y externos accedan a los datos y los integren, también presentan un posible punto de entrada para los malos actores. Los ataques de denegación de servicio distribuido (DDoS) pueden utilizar solicitudes legítimas, pero en cantidades absurdas, para inundar un servidor. Otros tipos de ataques pueden intentar utilizar los endpoints de la API para extraer más información de la que el cliente está autorizado a recibir o utilizar los endpoints de la API para instalar malware o código malicioso.

Hay varias formas en que una organización puede mantener la seguridad de sus endpoints de API y la seguridad general de la API, entre ellas:

 

Mecanismos de autenticación

Los métodos de autenticación, como la autenticación de clave API y OAuth, garantizan que solo los usuarios autorizados puedan acceder a los datos.

HTTPS

HTTPS (una versión más segura del protocolo de transferencia de hipertexto o HTTP) utiliza la seguridad de la capa de transporte (TLS) para cifrar las comunicaciones entre el cliente y el servidor. Esto aumenta la seguridad de las transferencias de datos.

 

Limitación de velocidad

La limitación de velocidad es un término general que se refiere a los esfuerzos por establecer cantidades máximas de peticiones, lo que puede ayudar a prevenir ataques DDoS y mantener la estabilidad del sistema. También se pueden aplicar límites diferentes a los distintos endpoints de la API.

Filtrado geográfico

Si los ataques se generan desde una ubicación concreta, se puede utilizar el geofiltro para bloquear o limitar el acceso desde esas ubicaciones.

Pasarelas de API

Una pasarela API es una capa de software que actúa como intermediaria entre los dispositivos cliente y los servidores. Es un punto central que acepta todas las llamadas API y las enruta a los servicios solicitados. Muchas de estas funciones de seguridad (además de monitorización de API y funciones de análisis) pueden implementarse dentro de una pasarela de API; y el uso de una pasarela promueve la aplicación coherente de protocolos de seguridad en todo un entorno de API.

¿Cuál es la diferencia entre un recurso y un endpoint de API?

¿Cuál es la diferencia entre un recurso y un endpoint de API?

Los recursos de API son conjuntos de datos u objetos que proporcionan las API. Los recursos varían según la API en cuestión, pero los tipos de contenido incluyen texto, tablas, archivos fuente, audio, vídeo, imágenes, usuarios, productos y mucho más.

Un endpoint de API es la ubicación específica de esos recursos en un servidor. Es un punto de contacto entre un cliente API y un servidor, donde se dirigen las llamadas API.

Piense en el anuncio de una tienda. El listado proporciona la ubicación de la tienda (endpoint) y cómo contactarla para solicitar información como el horario de la tienda y el inventario de productos (recursos).

¿Cuál es la diferencia entre una clave de API y un endpoint de API?

¿Cuál es la diferencia entre una clave de API y un endpoint de API?

Una clave de API es un método para verificar y autenticar la identidad y la autenticidad de un cliente que realiza una llamada a la API. Las claves de API son cadenas de caracteres generados aleatoriamente emitidos por un proveedor de API a los usuarios de API registrados. Cuando un dispositivo cliente realiza una llamada a la API, incluye la clave de la API. La pasarela API o el servidor API que recibe la llamada comprueba primero la clave para validar la identidad del cliente antes de atender la solicitud API. Si la clave no coincide con ninguna de las claves permitidas, el servidor rechaza la llamada a la API y emite un mensaje de rechazo.

Las organizaciones utilizan claves API para autenticar clientes y proyectos individuales, rastrear e identificar patrones de tráfico, bloquear usos no deseados y más.

Los endpoints de API, como se ha comentado, actúan como una interfaz entre clientes y servidores donde los clientes de API dirigen solicitudes de ciertos datos o funciones desde una API. Las claves de API se pueden utilizar para mejorar la seguridad de todo el entorno de API de una empresa y sus integraciones de API.

Soluciones relacionadas

Soluciones relacionadas

IBM API connect

IBM API Connect es una solución de gestión de API completa e intuitiva que le ayuda a crear, proteger, proteger, socializar y monetizar sus API de manera sistemática, lo cual contribuye a una transformación digital más rápida en las instalaciones y en la nube.

Explorar IBM API Connect Pruebe IBM API Connect de forma gratuita

Herramientas de puerta de enlace API de IBM API Connect

La pasarela API, basada en IBM DataPower, es una pasarela empresarial diseñada para exponer de forma segura datos y aplicaciones empresariales dondequiera que residan, en las instalaciones y en las nubes. Ofrece un conjunto completo de políticas para seguridad, gestión del tráfico, mediación, aceleraciones y soporte para protocolos no HTTP.

Explore las herramientas de la pasarela API de IBM API Connect Solicite una demostración en directo

IBM Cloud Pak for Integration

IBM Cloud Pak for Integration es una plataforma de integración híbrida que aplica la funcionalidad de automatización de IA de bucle cerrado para permitir diversos estilos de integración. La plataforma ofrece un paquete completo de herramientas de integración en una experiencia única y unificada para que pueda conectar aplicaciones y datos en cualquier entorno en la nube o local.

Explorar IBM Cloud Pak for Integration
Soluciones iPaaS de IBM

Las soluciones de iPaaS de IBM ofrecen un enfoque intuitivo y modular para integrar y conectar a la perfección todas sus aplicaciones y datos, independientemente de dónde se encuentren.

Explore las soluciones de IBM iPaaS
Recursos

Recursos

La clave para liberar todo el potencial de sus API: gestión de API

Obtenga información sobre los desafíos clave que impulsan la necesidad de usar API Management y comprenda las capacidades clave inherentes a una solución eficaz de gestión de API.

IBM nombrada líder en el Forrester Wave for API Management Software de 2024

IBM API Connect recibió la puntuación más alta posible en 17 de los 24 criterios.

SDK vs. API: ¿cuál es la diferencia?

Conozca los kits de desarrollo de software (SDK) y las API y cómo mejoran tanto los ciclos de desarrollo de software como la experiencia del usuario final (UX).

¿Qué es iPaaS?

La plataforma de integración como servicio (iPaaS) es un conjunto de herramientas y soluciones de autoservicio basadas en la nube que se utilizan para integrar datos de varias aplicaciones alojadas en distintos entornos informáticos.

¿Qué es middleware?

El middleware es un software que permite uno o más tipos de comunicación o conectividad entre aplicaciones o componentes en una red distribuida.

¿Qué es una API REST?

Una API REST (también llamada API RESTful o API web RESTful) es una API que se ajusta a los principios de diseño del estilo arquitectónico de transferencia de estado representacional (REST).

Dé el siguiente paso

Utilice IBM API Connect para proteger y gestionar las API empresariales durante todo su ciclos de vida. Le ayuda a usted y a sus clientes a crear, gestionar, proteger, socializar y monetizar de forma sistemática API empresariales, y también está disponible como plataforma de gestión de API altamente escalable en IBM Marketplace y AWS.

Explorar API Connect Solicite una demostración en directo
Notas a pie de página

1 What is a REST API?”. IBM.com

2 What is GraphQL?”. Chrystal China, Michael Goodwin. 8 de diciembre de 2023

3 GraphQL vs. REST API: What’s the difference?”. Chrystal China. 29 de marzo de 2024