¿Qué es una API?

API significa Application Programming Interface, es decir, interfaz de programación de aplicaciones. Se trata de un conjunto de protocolos y rutinas que permite la comunicación entre sistemas y aplicaciones sin necesidad de que los desarrolladores o usuarios finales conozcan cómo se implementan. Permite a los desarrolladores crear componentes de programas reutilizables.

Normalmente, los desarrolladores utilizan las API para acceder a la funcionalidad ofrecida por un servidor o aplicación existentes. Por ejemplo, una API puede permitir que una aplicación de meteorología acceda a los últimos datos meteorológicos desde un proveedor de este tipo de servicios. La API especifica el formato de la solicitud que la aplicación debe usar para recuperar los datos, así como el formato de los datos devueltos por el servicio de meteorología.

¿Cómo funcionan las API?

Las API funcionan especificando un conjunto de normas y protocolos de comunicación entre los componentes del programa. Normalmente incluyen especificaciones para rutinas, estructuras de datos, clases de objetos y variables. Esta es una descripción general de cómo funcionan las API:

  1. El cliente envía una solicitud. El cliente (es decir, el sistema o la aplicación) envía una solicitud al servidor de la API en el que se especifica la operación deseada, como "recuperar datos" o "crear una fuente nueva". La solicitud incluye cualquier parámetro e información de autenticación necesarios.

  2. El servidor de la API procesa la solicitud. El servidor de la API recibe la solicitud y la procesa usando la aplicación subyacente y los datos para llevar a cabo la operación especificada.

  3. El servidor de la API devuelve una respuesta. El servidor de la API devuelve una respuesta al cliente en la que indica si la operación se realizó correctamente y, de ser así, ofrece los datos relevantes. El formato de la respuesta variará en función de las especificaciones a la API.

  4. El cliente procesa la respuesta. El cliente recibe la respuesta de la API y procesa los datos en la forma necesaria, por ejemplo, mostrándoselos al usuario.

De esta forma, las API permiten que los componentes del programa se comuniquen entre ellos e intercambien datos y funcionalidades. La API define las normas y los protocolos de la comunicación, por lo que diferentes sistemas y aplicaciones pueden interactuar entre ellos sin importar que hayan sido desarrollados por diferentes personas, organizaciones o plataformas y con diferentes lenguajes de programación.

¿Cuáles son los distintos tipos de API?

Estos son los tipos más comunes de API:

Las API abiertas, también conocidas como externas o públicas, están disponibles para desarrolladores u otros usuarios con restricciones mínimas. Las API públicas pueden requerir el registro, la aprobación de la aplicación o una clave API para evitar usos abusivos.

Las API internas, también conocidas como API privadas, se utilizan para compartir recursos y datos en una empresa o entre diferentes sistemas o aplicaciones de una misma organización. A las API internas solo pueden acceder los usuarios de una organización concreta y están ocultas para los usuarios externos.

Las API de socios son parecidas a las API abiertas, pero destinadas a un conjunto específico de socios de confianza. Por lo general, el acceso a estas API está restringido y requiere una aprobación previa.

Las API compuestas combinan diferentes tipos de API para abordar casos de uso particularmente complejos. Permiten a los desarrolladores recuperar datos de varias fuentes a través de una sola llamada a la API, lo que simplifica el proceso de acceso a los datos.

Las API de REST (API de transferencia de estado representacional) utilizan solicitudes HTTP para obtener, introducir, publicar y eliminar datos. La REST es un estilo de arquitectura que usa mecanismos sencillos, ligeros y flexibles para intercambiar datos entre diferentes sistemas. Normalmente, las API de REST se utilizan para aplicaciones y servicios basados en la web.

Las API de SOAP (API de protocolo simple de acceso a objetos) son un enfoque de servicios web basado en estándares que permite a distintos sistemas comunicarse a través de Internet. SOAP utiliza XML como formato de mensaje y se basa en otros estándares web para el transporte, como HTTP y SMTP.

XML-RPC y JSON-RPC son API de llamada a procedimiento remoto (RPC) que utilizan XML y JSON, respectivamente, como formatos de datos. Estas API permiten a los sistemas comunicarse e invocar procedimientos en sistemas remotos, normalmente a través de HTTP.

La API GraphQL, desarrollada por Facebook, es un nuevo estándar de API para crear y consumir API. Ofrece una alternativa más eficiente, potente y flexible que las API de REST tradicionales. Las API GraphQL permiten a las aplicaciones cliente especificar la estructura de los datos que necesitan y al servidor devolver únicamente los datos solicitados.

Cada tipo de API tiene sus propias fortalezas y debilidades y cada una se ajusta a diferentes casos de uso. Elegir el tipo de API adecuado para un proyecto concreto depende de varios factores, como el tamaño y la complejidad del proyecto, el público al que va destinada y el tipo de datos al que se accede.

¿Cuál sería un ejemplo de API?

¡Las API están en todas partes! Estos son algunos ejemplos.

La API de Google Maps permite a los desarrolladores añadir la funcionalidad de Google Maps a sus propios sitios web y aplicaciones. Las tiendas minoristas suelen utilizar la API de Google Maps para recuperar datos para sus directorios de tiendas en línea.

Los minoristas usan la API de PayPal para permitir a sus clientes pagar usando este servicio.

Otro ejemplo es la API de Twitter, que permite a los desarrolladores acceder a los datos y a la funcionalidad de Twitter en sus propias aplicaciones. La API de Twitter permite que los desarrolladores recuperen y publiquen tuits, así como realizar otras acciones como buscar tuits y seguir a usuarios.

Los sitios web de viajes usan mucho las API para permitir a sus visitantes buscar y reservar vuelos, alojamiento y otros servicios relacionados con los viajes.

Español (LAT) Llámenos