¿Qué es una API?
Imagina que vas a un restaurante: tú no entras a la cocina a preparar tu comida, sino que le dices al mesero qué quieres y él se encarga de traerte el plato. Una API es como ese mesero - es el intermediario que permite que tu aplicación “pida” datos o servicios a otro sistema.
API (Application Programming Interface) es un conjunto de reglas que define cómo diferentes programas pueden comunicarse entre sí. Es como un contrato que dice: “si me envías esta petición de esta manera, yo te responderé con esta información”.
Una API permite:
- Comunicación entre aplicaciones - Tu app puede “hablar” con otros servicios
- Reutilizar funcionalidades - Usar servicios que ya existen en lugar de crearlos desde cero
- Separar responsabilidades - El frontend puede enfocarse en la interfaz, el backend en los datos
- Integrar servicios - Conectar pagos, mapas, autenticación, etc.
Ejemplo práctico: cuando usas Uber, la app usa la API de Google Maps para mostrar mapas, la API de Stripe para procesar pagos, y la API de SMS para enviarte notificaciones. Cada API es un “mesero especializado”.
¿Para qué sirve?
- Intercambio de datos: Enviar y recibir información entre sistemas
- Integración de servicios: Conectar diferentes aplicaciones
- Reutilización de funcionalidades: Usar servicios existentes sin recrearlos
- Separación de responsabilidades: Frontend y backend pueden desarrollarse independientemente
- Escalabilidad: Múltiples clientes pueden usar el mismo backend
¿Cuándo usarlo?
✅ Necesitas una API cuando:
- Tu frontend necesita datos del servidor
- Quieres que otras aplicaciones usen tu servicio
- Desarrollas una aplicación móvil + web que comparten datos
- Integras servicios de terceros (pagos, mapas, autenticación)
- Construyes microservicios
❌ Considera alternativas si:
- Tu aplicación es completamente estática
- No hay intercambio de datos dinámicos
- Es un proyecto muy simple de una sola página
Ejemplos prácticos
APIs que usas todos los días:
- Twitter API: Apps como TweetDeck obtienen tweets
- Google Maps API: Uber muestra mapas y rutas
- Stripe API: E-commerce procesa pagos
- Weather API: Apps del clima obtienen pronósticos
- Spotify API: Apps de terceros reproducen música
Ejemplo de llamada API:
// Obtener información de usuario
fetch('/api/usuarios/123')
.then(response => response.json())
.then(data => {
console.log('Usuario:', data.nombre)
console.log('Email:', data.email)
})
// Crear nuevo post
fetch('/api/posts', {
method: 'POST',
body: JSON.stringify({
titulo: 'Mi nuevo post',
contenido: 'Contenido del post...'
})
})
Tipos comunes
REST API (más común)
- Usa HTTP methods: GET, POST, PUT, DELETE
- URLs descriptivas:
/usuarios/123/posts - Responde en JSON generalmente
GraphQL API
- Un solo endpoint que maneja todo
- El cliente especifica exactamente qué datos quiere
- Más eficiente para apps complejas
WebSocket API
- Comunicación en tiempo real
- Chat, gaming, notificaciones live
Anatomía de una API REST
GET /api/productos → Lista todos los productos
GET /api/productos/123 → Obtiene producto específico
POST /api/productos → Crea nuevo producto
PUT /api/productos/123 → Actualiza producto completo
DELETE /api/productos/123 → Elimina producto