1 / 14
← Inicio

¿Cómo hablan las máquinas entre sí?

Entendiendo el Protocolo HTTP

🤖
n8n
Cliente
REQUEST (Petición)
RESPONSE (Respuesta)
☁️
Servidor
API

💡 Regla de Oro: n8n no hace magia, sigue reglas. Siempre que automatizamos, hacemos una pregunta Request y esperamos una contestación Response. Sin respuesta, no hay automatización.

¿Qué quieres hacer con los datos?

Los 4 Verbos Sagrados de HTTP

👁️
GET
LEER
"Tráeme información"
✍️
POST
CREAR
"Envía algo nuevo"
🛠️
PUT/PATCH
EDITAR
"Cambia lo que existe"
🗑️
DELETE
BORRAR
"Elimina el dato"

🎯 Pro Tip: En el nodo HTTP Request, n8n les preguntará el 'Método'. Solo pregúntense: ¿Quiero leer, crear, editar o borrar? Ahí tienen su respuesta.

Ejemplos Reales en Acción

Verbos HTTP con cURL y n8n

👁️ GET - Consultar el Clima
cURL:
Terminal
curl -X GET "https://api.openweathermap.org/data/2.5/weather?q=Madrid&appid=TU_API_KEY"
En n8n: Método = GET, URL = la misma, sin Body
✍️ POST - Crear un Usuario
cURL:
Terminal
curl -X POST "https://api.ejemplo.com/users" \
  -H "Content-Type: application/json" \
  -d '{"name": "Juan", "email": "juan@ejemplo.com"}'
En n8n: Método = POST, Body = JSON con los datos
🛠️ PUT - Actualizar Usuario
cURL:
Terminal
curl -X PUT "https://api.ejemplo.com/users/123" \
  -H "Content-Type: application/json" \
  -d '{"name": "Juan Diaz", "email": "juan@ejemplo.com"}'
En n8n: Método = PUT, URL con ID, Body con datos actualizados
🗑️ DELETE - Eliminar Usuario
cURL:
Terminal
curl -X DELETE "https://api.ejemplo.com/users/123"
En n8n: Método = DELETE, URL con ID, sin Body

⚠️ La Técnica Más Peligrosa

Hardcodear Credenciales: El Error #1

🚨 ¿Qué es Hardcodear?

Poner tu API key, password o token directamente en el código o en los headers del nodo HTTP Request. ESO ES UN CRIMEN EN AUTOMATIZACIÓN.

❌ MAL - Hardcodeado
n8n HTTP Request Node
Headers:
  x-api-key: mi_clave_super_secreta_12345
  Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

⚠️ Si exportas este flujo, tu clave viaja con él. Cualquiera que lo vea tiene acceso.

✅ BIEN - Usando Credenciales de n8n

n8n guarda las credenciales encriptadas en su base de datos interna (SQLite). Cuando exportas un flujo, las credenciales NO se incluyen. Solo se guarda una referencia: "Usa la credencial llamada 'Mi API Key'".

¿Por qué es seguro? Las credenciales están encriptadas, separadas del flujo, y solo existen en TU servidor de n8n. Nadie más puede acceder a ellas.

👤 Basic Auth
La autenticación más simple: Usuario + Contraseña codificados en Base64.
📌 Cuándo se usa: APIs antiguas, sistemas internos, servicios legacy.
Ejemplo cURL
curl -u usuario:password https://api.ejemplo.com/data
Header generado automáticamente
Authorization: Basic dXN1YXJpbzpwYXNzd29yZA==
🔧
En n8n:
Credenciales > Generic Credential Type > Basic Auth. Ingresas usuario y password, n8n hace el encoding automáticamente.
🎟️ Bearer Auth (Token)
Un token temporal que obtienes después de autenticarte. Como un boleto de metro que expira.
📌 Cuándo se usa: APIs modernas (90% de las actuales), servicios REST, JWT tokens.
Ejemplo cURL
curl -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." \
  https://api.ejemplo.com/data
🔧
En n8n:
Credenciales > Generic Credential Type > Header Auth. Name = "Authorization", Value = "Bearer TU_TOKEN_AQUI"

💡 Pro Tip: Los tokens suelen expirar. Usa OAuth2 si la API lo soporta para renovarlos automáticamente.

🎫 Header Auth (API Key)
Una clave API que va en un header personalizado. Como mostrar tu carnet VIP en la entrada.
📌 Cuándo se usa: APIs de servicios (Stripe, SendGrid, Twilio), APIs RESTful modernas.
Ejemplo cURL
curl -H "x-api-key: tu_clave_secreta_12345" \
  https://api.ejemplo.com/data
Otros headers comunes
X-API-Key: clave
API-Key: clave
apikey: clave
🔧
En n8n:
Credenciales > Generic Credential Type > Header Auth. Name = "x-api-key" (o el que pida la API), Value = tu clave.
🔍 Query Auth
La API key va en la URL como parámetro. Menos seguro pero aún se usa.
📌 Cuándo se usa: APIs públicas simples, servicios de mapas (Google Maps), algunas APIs legacy.
Ejemplo cURL
curl "https://api.ejemplo.com/data?api_key=tu_clave_aqui"
URL completa
https://api.openweathermap.org/data/2.5/weather?q=Madrid&appid=TU_API_KEY
🔧
En n8n:
En el nodo HTTP Request, agrega el parámetro en "Query Parameters". Name = "api_key", Value = tu clave (mejor desde credenciales).
⚠️ Cuidado: Las claves en la URL pueden aparecer en logs del servidor. No uses esto para datos sensibles.
🔐 Digest Auth
Similar a Basic Auth pero más seguro. El servidor envía un "challenge" y tú respondes con un hash.
📌 Cuándo se usa: Sistemas corporativos antiguos, cámaras IP, dispositivos IoT, algunos routers.
Ejemplo cURL
curl --digest -u usuario:password https://api.ejemplo.com/data
🔧
En n8n:
Credenciales > Generic Credential Type > Digest Auth. Ingresas usuario y password, n8n maneja el challenge-response automáticamente.

⚠️ Nota: Digest Auth es más seguro que Basic pero menos común hoy en día. Si puedes, usa OAuth2 o Bearer Token.

⚙️ Custom Auth
Cuando la API tiene un método de autenticación único que no encaja en los estándares.
📌 Cuándo se usa: APIs custom, sistemas legacy con métodos propios, integraciones especiales.
Ejemplo - Auth con múltiples headers
curl -H "X-Client-ID: abc123" \
     -H "X-Client-Secret: xyz789" \
     -H "X-Timestamp: 1234567890" \
     https://api.ejemplo.com/data
Ejemplo - Auth con signature
curl -H "Authorization: Custom signature=abc123def456" \
  https://api.ejemplo.com/data
🔧
En n8n:
Credenciales > Generic Credential Type > Custom Auth. Puedes definir headers, query params, body, o usar expresiones para generar signatures.

💡 Pro Tip: Custom Auth te da total flexibilidad. Úsalo cuando ninguna otra opción funcione.

🔑 OAuth1 API
El abuelo de OAuth. Usa signatures complejas y es más difícil de implementar. Twitter todavía lo usa (aunque migró a OAuth2).
📌 Cuándo se usa: Twitter API (legacy), algunos servicios antiguos, sistemas que requieren máxima seguridad.
Proceso OAuth1 (simplificado)
1. Obtener Request Token
2. Usuario autoriza
3. Intercambiar por Access Token
4. Usar Access Token para requests
🔧
En n8n:
Credenciales > OAuth1 API. n8n maneja todo el flujo automáticamente: consumer key, consumer secret, y el proceso completo de autorización.
⚠️ OAuth1 es complejo. Si la API soporta OAuth2, úsalo mejor.
🔐 OAuth2 API
El estándar moderno. Más simple que OAuth1, más seguro que Basic Auth. Google, Facebook, GitHub, etc. lo usan.
📌 Cuándo se usa: Google APIs, Facebook, GitHub, Microsoft, Slack, Discord, y casi todas las APIs modernas.
Flujo OAuth2 (simplificado)
1. Rediriges al usuario a la página de login
2. Usuario autoriza
3. Recibes un Access Token
4. Usas el token para hacer requests
5. El token expira, lo renuevas automáticamente
🔧
En n8n:
Credenciales > OAuth2 API. n8n maneja TODO: el flujo de autorización, refresh tokens, y renovación automática. Solo necesitas Client ID y Client Secret.

✅ Ventajas de OAuth2:

• Tokens que expiran y se renuevan automáticamente
• No compartes tu password real
• Puedes revocar acceso fácilmente
• Estándar de la industria

💾 Tipos de Bases de Datos

¿Cuándo usar cada una?

🗄️
Relacionales
SQL
PostgreSQL, MySQL, SQL Server. Datos estructurados con relaciones.
Para: E-commerce, CRMs, sistemas transaccionales
📦
NoSQL
Documentos
MongoDB, CouchDB. Datos flexibles en formato JSON.
Para: Contenido, logs, datos semi-estructurados
En Caché
Key-Value
Redis, Memcached. Ultra rápidas, datos temporales.
Para: Sesiones, caché, colas, rate limiting
📊
Time Series
Especializada
InfluxDB, TimescaleDB. Optimizadas para datos temporales.
Para: IoT, métricas, sensores, analytics
🔍
Búsqueda
Search Engine
Elasticsearch, Algolia. Optimizadas para búsquedas complejas.
Para: Búsqueda full-text, logs, analytics
📁
Grafos
Graph DB
Neo4j, ArangoDB. Datos con relaciones complejas.
Para: Redes sociales, recomendaciones, fraud detection

💡 Regla de Oro: n8n puede conectarse a TODAS estas bases de datos. Elige la que mejor se adapte a tu caso de uso, no la más "cool".

🧠 Quiz Final

¡Demuestra que eres PRO!

Tienes que integrar la API de Stripe para procesar pagos. Stripe requiere un header "Authorization: Bearer sk_live_..." ¿Qué tipo de autenticación debes configurar en n8n?
A) Basic Auth
B) Header Auth con Bearer Token
C) Query Auth
D) Digest Auth
Necesitas conectar n8n con Google Sheets para leer datos. Google usa OAuth2. ¿Qué debes hacer para que n8n renueve automáticamente los tokens cuando expiren?
A) Hardcodear el token en el header
B) Usar Custom Auth y renovar manualmente
C) Configurar OAuth2 API en credenciales de n8n
D) Usar Basic Auth con usuario y contraseña
Tienes un flujo que procesa 10,000 registros de una API externa. Cada registro necesita ser guardado en una base de datos. ¿Qué tipo de base de datos usarías si necesitas hacer consultas complejas con JOINs y relaciones entre tablas?
A) Base de datos relacional (PostgreSQL/MySQL)
B) Redis (caché)
C) Elasticsearch
D) MongoDB
Un compañero te envía un flujo JSON exportado de n8n que usa la API de un banco. ¿Puedes ejecutar ese flujo directamente y acceder a su cuenta bancaria?
A) Sí, las credenciales vienen en el JSON
B) No, necesito configurar mis propias credenciales en mi servidor
C) Sí, pero solo si tengo acceso a su servidor
D) Depende del tipo de autenticación
Necesitas hacer un GET request a una API que requiere autenticación. La API documenta que debes enviar "X-API-Key: tu_clave" en los headers. ¿Cuál es la forma CORRECTA de hacerlo en n8n?
A) Hardcodear "X-API-Key: mi_clave_123" directamente en el nodo
B) Crear una credencial Header Auth y referenciarla en el nodo
C) Poner la clave en la URL como query parameter
D) Usar Basic Auth