coldwa.st
Todas las guíasProgramaciónWebDatosHerramientasBases de datosHaskellConceptosCabal y buildsToolchainCompiladorRendimientoEditor y HLS

Programación · conceptos · web

¿Qué es una API?

Por ColdwastActualizado el 14 de junio de 20267 min de lectura#api#web#concepts
Bastidores de servidores en un centro de datos
Bastidores de servidores en un centro de datos — muchas API se ejecutan en servidores como estos, respondiendo a las peticiones de otro software.

Lo oyes constantemente: «llama a la API», «la API pública», «una clave de API». Una API (Application Programming Interface, interfaz de programación de aplicaciones) es una de las ideas más útiles del software — y una de las más recubiertas de jerga. Esta guía explica, con sencillez, qué es una API, los tipos principales que encontrarás, cómo funciona una petición típica de API web, y por qué las API están en todas partes.

La definición corta

Una API es un contrato que permite a un software comunicarse con otro. Define qué peticiones puedes hacer, qué datos debes enviar, y qué recibes a cambio — sin que necesites saber cómo está construido el otro lado por dentro.

La analogía clásica es un restaurante. Tú (un programa) lees una carta (la API) y haces un pedido al camarero. No entras en la cocina ni necesitas saber cómo se cocina el plato. La carta es la interfaz acordada; la cocina es la implementación, oculta tras ella. Una API es esa carta para el software.

Los tipos principales de API

  • API web (las más comentadas) — un programa habla con otro por la red, normalmente sobre HTTP. Cuando una app del tiempo muestra la previsión, llama a la API web de un servicio meteorológico. La mayoría de las API web modernas siguen el estilo REST e intercambian datos como JSON.
  • API de biblioteca / framework — el conjunto de funciones y tipos que una biblioteca de código expone para que los llames. Cuando usas una biblioteca de fechas, las funciones que te ofrece son su API.
  • API del sistema operativo — cómo un programa pide al SO abrir un archivo, dibujar una ventana o usar la red. POSIX es una de ellas.

El hilo común: una API es la superficie publicada de algo, la parte que se te permite usar, separada de las interioridades de las que no debes depender.

Una persona sosteniendo un smartphone con ambas manos
Un smartphone en uso — las apps que contiene llaman constantemente a API web en segundo plano para obtener mensajes, mapas, precios y mucho más.

Cómo funciona una petición de API web

Una llamada a una API web es una petición y una respuesta. El cliente envía una petición HTTP a una URL (un endpoint) usando un método que señala la intención, y el servidor devuelve un código de estado y normalmente algunos datos. Los métodos comunes:

  • GET — leer datos («dame el usuario 42»).
  • POST — crear algo nuevo.
  • PUT / PATCH — actualizar algo.
  • DELETE — eliminar algo.

Una petición sencilla para leer un usuario podría verse así, con el servidor respondiendo en JSON:

GET /users/42  HTTP/1.1
Host: api.example.com

-- response --
200 OK
{ "id": 42, "name": "Ada", "active": true }

El 200 es un código de estado que significa éxito; 404 significa no encontrado, 401 no autenticado, 500 un error del servidor. El cuerpo es JSON — el formato ligero y legible que la mayoría de las API web usan para intercambiar datos estructurados.

Autenticación y claves

Muchas API exigen que te identifiques con una clave de API o un token, enviado en una cabecera de la petición. Esto permite al proveedor controlar quién usa el servicio, aplicar límites de tasa y facturar el uso. Mantén las claves en secreto — una clave filtrada es como una contraseña filtrada.

Por qué importan las API

Las API son lo que permite componer el software en lugar de reconstruirlo. Una tienda puede aceptar pagos sin escribir un banco; una app puede mostrar un mapa sin dibujar el mundo; los servicios dentro de una misma empresa se hablan mediante API internas. Convierten las capacidades de otros en bloques de construcción que puedes llamar en unas pocas líneas — que es la mayor parte de cómo se construye el software moderno.

Los límites honestos

Una API es una dependencia. Si el proveedor la cambia, te limita la tasa, sube precios o cierra, tu software se ve afectado — por eso las buenas API están versionadas y documentadas, y por eso gestionas errores y tiempos de espera en lugar de suponer que cada llamada tiene éxito. Una API oculta la complejidad; no la elimina.

En resumen

Una API es un contrato que permite a un programa usar las capacidades de otro mediante un conjunto definido de peticiones y respuestas, sin tocar sus interioridades. Las API web/REST sobre HTTP con JSON son el tipo que más encontrarás, pero la idea — una interfaz publicada, separada de la implementación que hay detrás — recorre las bibliotecas, los sistemas operativos y todo programa bien estructurado. Aprende a leer la documentación de una API y podrás conectar casi cualquier cosa con cualquier cosa.

¿Nuevo en un lenguaje para construir o llamar a API? Explora nuestro índice de guías para explicaciones de programación claras y originales.

Guía independiente y mantenida por la comunidad. coldwa.st es un sitio de recursos de programación; este artículo es texto explicativo nuevo y original sobre las API. Los ejemplos reflejan el comportamiento estándar de HTTP/REST — verifícalo con la documentación de la API específica que estés usando.