Descarga la presentación en PDF:
En el video anterior aprendimos la teoría de las APIs y los Webhooks, ¡hoy vamos a ensuciarnos las manos! Prepárense porque vamos a meterle caña a n8n y ver cómo todo esto cobra vida.
Para empezar a jugar con las APIs en n8n, vamos a usar un nodo súper importante: el HTTP Request. Este es como nuestro comodín para hablar con casi cualquier aplicación. ¡Es una pasada!
Vamos a ver tres ejemplos para que esto quede clarísimo:
- OpenWeather: Una app que nos da el pronóstico del tiempo. ¡Imagina pedirle el tiempo de tu ciudad!
- JSON Placeholder: Este es un «fake» para practicar. Nos da datos de mentira, pero nos sirve perfecto para entender cómo se usa una API.
- Tably: Un buscador de internet en tiempo real. ¡Esto es brutal! Con Tably, nuestras inteligencias artificiales pueden buscar información actualizada, algo que por sí solas aún no pueden hacer.
¿Listos? ¡Vámonos a n8n!
Ejemplo 1: El Tiempo en tu Ciudad con OpenWeather
Aquí en n8n ya tengo los «workflows» (así se llaman las automatizaciones) hechos. Vamos a empezar con el de OpenWeather.
Lo primero que vas a ver es un flujo de trabajo muy sencillo. Siempre, siempre, vamos a añadir el nodo HTTP Request para hacer las llamadas a las APIs. También uso un «trigger» (un disparador) al principio, que me permite «testear» (probar) el flujo cuando estoy trabajando en él.
¿Qué vamos a hacer? Vamos a conectar con OpenWeather para que nos dé el pronóstico del tiempo de una ciudad, por ejemplo, Elche, donde vivo. Una vez que tengamos esa información, se la pasaremos a OpenAI (nuestra inteligencia artificial) para que nos haga un resumen bonito y amigable. Finalmente, guardaremos ese resumen en una variable para usarlo después.
Paso a paso con OpenWeather:
Configurar el nodo HTTP Request: Aquí es donde le decimos a n8n cómo hablar con OpenWeather.
- La Documentación es tu Mejor Amiga: Recuerda lo que vimos en la teoría: cada API tiene su propia documentación. Es como un manual de instrucciones. ¡Sin ella, estamos perdidos!La URL y los Parámetros: En la documentación de OpenWeather, veremos una URL única (llamada «endpoint») para pedir el tiempo. Y luego, vienen los «parámetros», que son los datos que le enviamos a la API. Por ejemplo, le pasaremos la latitud y longitud de Elche, y nuestra «API Key» (una clave secreta que te dan cuando te registras, ¡no la compartas!).¡Manos a la obra en n8n! Copiamos la URL base y le vamos añadiendo los parámetros. ¡Atención! Los parámetros siempre van después de un signo de interrogación ? y entre cada parámetro usamos un &.
- Así quedaría algo como esto (con tus datos, claro): https://api.openweathermap.org/data/2.5/onecall?…lat=X&lon=Y&units=metric&appid=TU_API_KEY
Conectando con OpenAI:
Ahora que tenemos los datos del tiempo, se los pasamos a OpenAI. En este nodo, le hemos puesto un «prompt» (una instrucción) muy sencillo:
«Los datos que recibes son la previsión meteorológica de la ciudad de [Nombre de la ciudad]. Estos son los datos meteorológicos de hoy: [todos los datos que nos dio OpenWeather]. Adapta un texto que describa la previsión meteorológica para hoy de la forma más sencilla y amigable, incluyendo el nombre de la ciudad y ¡emoticonos!»
Le damos a «Test» y esperamos un poquito. OpenAI coge todos esos datos y ¡zas! Nos suelta un párrafo súper simpático con el pronóstico. Por ejemplo: «¡Hola! Aquí te traigo la previsión meteorológica de nuestra hermosa ciudad de Elche. Parece que tenemos un día bastante nublado hoy… ¡No olvides una chaqueta!»
Guardando la información:
Como OpenAI nos da mucha información, queremos quedarnos solo con el texto del pronóstico. Para eso, usamos un nodo de «variable» o «Set». Le decimos que de todo lo que nos dio OpenAI, queremos solo el «contenido» (el texto del pronóstico) y lo guardamos en una variable que podemos llamar «previsión meteorológica».
¡Listo! Ya tenemos el pronóstico del tiempo en un formato que podemos usar. Imagina enviarlo a un grupo de Telegram cada mañana o publicarlo en una web. ¡La imaginación es el límite!
Ejemplo 2: Datos Ficticios con JSON Placeholder
Este es más rapidito y sirve para entender los «endpoints».
- Configurar el nodo HTTP Request: Volvemos a nuestro amigo HTTP Request.
- La Documentación de JSON Placeholder: Aquí vemos una URL base y diferentes «endpoints». Si le ponemos /posts al final, nos da 100 posts ficticios. Si le ponemos /comments, nos da 500 comentarios ficticios.
- Probando los Endpoints:
- Le ponemos la URL base y luego /comments. El método será «GET» (pedir datos). No necesita autentificación. Le damos a «Test» y ¡bum! Nos llegan 500 comentarios de prueba.
- Cambiamos el endpoint a /posts. Le damos a «Test» y ahora tenemos 100 posts de prueba.
¡Así de fácil es cambiar la funcionalidad de una API cambiando el endpoint!
Un Detalle Importante: Nodos Integrados en n8n
Fíjate, lo que hicimos con OpenWeather «a pelo» (siguiendo la documentación), n8n ya lo tiene integrado. Si buscas «OpenWeather» en los nodos, verás que ya existe uno. Esto es genial porque te ahorra el trabajo de configurar todo a mano. Si una aplicación ya tiene un nodo integrado en n8n, ¡úsalos! Si no, el HTTP Request es tu mejor aliado.
Ejemplo 3: Buscando en Tiempo Real con Tably
Este es un poco más avanzado, pero ¡vale la pena! Tably es un buscador de internet en tiempo real que podemos integrar en nuestras automatizaciones.
- Obtener tu API Key: Como siempre, te registras en Tably y te darán tu API Key.
- La Documentación de Tably: Aquí viene lo interesante. La documentación de Tably nos da un «cURL» (un comando de ejemplo) que, en versiones futuras de n8n, podremos importar directamente para configurar el nodo HTTP Request. ¡Será una pasada! Pero por ahora, lo haremos a mano.
- Configurar el nodo HTTP Request (¡a mano!):
- Método: Será «POST» (enviar datos).
- URL: La URL base de Tably y el endpoint de búsqueda (/search).
- Headers (Cabeceras): Aquí es donde metemos la autentificación. La documentación nos dice que debemos enviar un «Authorization» con «Bearer» y nuestra API Key, y también el «Content-Type» como «application/json». ¡Esto es clave para que Tably sepa quiénes somos y qué tipo de información le estamos enviando!
- Body (Cuerpo): Aquí es donde le enviamos la pregunta y otros parámetros. Podemos hacerlo como un formulario o como un JSON. Yo prefiero JSON porque es más limpio.
- Dentro del JSON, le ponemos la «query» (nuestra pregunta), el nivel de profundidad de la búsqueda (¡cuidado con los créditos!), el número máximo de resultados, etc. Por ejemplo: {«query»: «Tendencias actuales en inteligencia artificial», «depth»: «basic», «max_results»: 3}
¡Todo esto lo rellenamos en el nodo HTTP Request siguiendo la documentación!
Obteniendo los Resultados y Resumiendo con OpenAI:
Una vez configurado, le damos a «Test» y Tably nos devuelve los resultados de nuestra búsqueda en tiempo real.
Ahora, esos resultados se los pasamos a OpenAI. Le damos una instrucción como esta: «Hazme un resumen en un párrafo, con un tono profesional y en español, de los tres artículos que te doy. El contenido es: [y aquí le pasamos los resultados de Tably]».
OpenAI lo procesa y ¡listo! Tenemos una noticia bien redactada basada en las búsquedas de Tably.
Finalmente, usamos el nodo «Set» para quedarnos solo con el texto limpio del resumen y así poder usarlo donde queramos.
¿Se dan cuenta del potencial? Con el nodo HTTP Request, podemos conectar n8n con cualquier API que exista, incluso si no tiene una integración nativa. ¡Esto abre un mundo de posibilidades para nuestras automatizaciones!
Espero que esto les haya servido para entender las APIs y los Webhooks ya en la práctica. ¡Déjenme sus comentarios y nos vemos en los próximos videos! ¡A ser felices!