Se abre en una pestaña nueva
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Qué es API

APIDefinición:

Una API, sigla de Application Programming Interface o interfaz de programación de aplicaciones, es un conjunto documentado de reglas, operaciones y formatos que permite a un programa utilizar funciones o intercambiar datos con otro componente de software.

La API actúa como un contrato entre quien ofrece una capacidad y el software que la utiliza. Define qué se puede solicitar, cómo debe formularse la petición, qué respuesta puede recibirse y qué errores o restricciones deben contemplarse. No implica acceso directo a toda la aplicación ni exige que ambos sistemas utilicen el mismo lenguaje de programación.

Las API pueden operar dentro de una biblioteca, un sistema operativo, un dispositivo o un servicio remoto. Las API web son una categoría particular que suele utilizar protocolos de red como HTTP para comunicar aplicaciones distribuidas.

Cómo funciona una API

Una interacción comienza cuando un programa cliente utiliza una operación expuesta por la interfaz. En una API web, el intercambio suele incluir estos seis componentes:

  1. Cliente: aplicación, servicio o dispositivo que inicia la solicitud.
  2. Operación o endpoint: función o dirección disponible para realizar una acción concreta sobre un recurso.
  3. Petición: mensaje que contiene el método, parámetros, cabeceras y, cuando corresponde, datos enviados al servidor.
  4. Autenticación y autorización: mecanismos que identifican al cliente y determinan las operaciones o los datos que puede utilizar.
  5. Procesamiento: validación y ejecución de la operación por el sistema proveedor.
  6. Respuesta: resultado devuelto al cliente, acompañado de un estado, datos o información sobre un error.

Los datos pueden representarse mediante formatos como JSON, XML, formularios, archivos o contenido binario. El formato no define por sí solo el tipo de API y una misma interfaz puede admitir varias representaciones.

La documentación describe las operaciones, los parámetros, los esquemas de datos, los permisos, los códigos de error y los límites de uso. Puede complementarse con una especificación legible por máquinas, ejemplos o un SDK. Un SDK agrupa herramientas y código para facilitar el desarrollo, mientras que la API es la interfaz que ese código utiliza.

Las interfaces de programación existen desde los primeros sistemas de software y se formalizaron en bibliotecas y sistemas operativos. La expansión de Internet extendió las API web, que permiten conectar servicios alojados en entornos y organizaciones diferentes.

Tipos y estilos de API

Las API pueden clasificarse por su ámbito, su disponibilidad o su forma de interacción. Estas seis categorías explican diferencias habituales:

  • De biblioteca o lenguaje: exponen funciones, clases y objetos que un programa utiliza dentro de su entorno de ejecución.
  • De sistema operativo o dispositivo: permiten trabajar con archivos, procesos, ventanas, cámaras, sensores u otros recursos del sistema.
  • API web: comunican clientes y servidores mediante una red y suelen utilizar HTTP, direcciones identificables y formatos estructurados.
  • REST: es un estilo arquitectónico basado en recursos y restricciones. Una API REST puede utilizar métodos HTTP, pero no toda API HTTP cumple las restricciones REST.
  • SOAP: es un protocolo de mensajería basado en XML que define una estructura formal para intercambiar mensajes y gestionar extensiones.
  • GraphQL: es un lenguaje de consulta y un entorno de ejecución con un esquema tipado que permite al cliente solicitar campos concretos.

Estas categorías no son completamente excluyentes. Una API web puede ser interna o pública, utilizar HTTP y seguir REST, SOAP, GraphQL u otro diseño. También existen interfaces orientadas a eventos, transmisión continua y comunicación entre procesos.

Una API pública se ofrece a desarrolladores externos bajo unas condiciones determinadas; una API privada se reserva para sistemas internos, y una API de socios limita el acceso a organizaciones autorizadas. Pública no significa necesariamente gratuita, anónima, ilimitada ni basada en datos abiertos.

Aplicaciones de las API

Las API permiten reutilizar capacidades sin reproducir internamente toda su implementación. Entre sus aplicaciones habituales se encuentran estas seis:

  • Integración de sistemas: conecta aplicaciones empresariales, bases de datos, plataformas comerciales y servicios especializados.
  • Funciones incorporadas: añade mapas, pagos, autenticación, mensajería, búsqueda u otras capacidades a una aplicación.
  • Aplicaciones web y móviles: separa la interfaz que utiliza una persona de los servicios que procesan y almacenan la información.
  • Automatización: permite que un sistema consulte datos o ejecute acciones en otro dentro de un flujo de automatización.
  • Intercambio de datos: proporciona acceso controlado a catálogos, informes, contenidos o mediciones mediante operaciones definidas.
  • Plataformas y ecosistemas: permite que terceros desarrollen extensiones, conectores o productos compatibles con un servicio.

Una plataforma de iPaaS puede coordinar varias API y transformar los datos entre ellas. Esto no elimina las reglas de cada interfaz: las credenciales, cuotas, esquemas y versiones siguen dependiendo de los proveedores conectados.

Los webhooks cumplen una función relacionada, pero distinta. Una llamada ordinaria suele comenzar cuando el cliente consulta la API; un webhook permite que el proveedor envíe una notificación a una dirección registrada cuando sucede un evento.

Acceso, diseño y limitaciones

La disponibilidad de una API depende tanto de su diseño como de las condiciones operativas del servicio. Estas seis áreas determinan cómo puede utilizarse y mantenerse:

  • Identidad y permisos: claves, tokens y mecanismos como OAuth limitan quién puede realizar cada operación.
  • Cuotas y frecuencia: un proveedor puede restringir el número, el tamaño o la velocidad de las peticiones y responder con errores cuando se supera el límite.
  • Paginación y filtros: los conjuntos grandes suelen dividirse en páginas o requerir parámetros para limitar los resultados.
  • Versiones y compatibilidad: un cambio en operaciones o esquemas puede afectar a los clientes, por lo que deben documentarse versiones, retiradas y periodos de transición.
  • Errores y disponibilidad: los consumidores deben contemplar respuestas inválidas, tiempos de espera, interrupciones, reintentos y operaciones que no pueden repetirse con seguridad.
  • Seguridad y privacidad: la API debe limitar datos y funciones, validar entradas, proteger credenciales y respetar las finalidades y obligaciones aplicables.

La explicación general de una API de MDN la presenta como las funciones y reglas que permiten interactuar con un programa mediante software, en contraste con una interfaz dirigida a personas. Una interfaz de usuario y una API pueden ofrecer acceso al mismo sistema, pero están diseñadas para consumidores diferentes.

Utilizar una API no garantiza automáticamente ahorro, interoperabilidad ni estabilidad. La integración depende de la documentación, la cobertura funcional, la calidad de los datos, la seguridad y la continuidad del proveedor. También requiere supervisar cambios, errores y consumo para comprobar que el intercambio sigue funcionando conforme al contrato previsto.