Herramientas de desarrollo
Pavel Gorrión
Cofundador, Experto en No-código
19 de noviembre de 2023
Una plataforma de código bajo que combina la simplicidad del código cero con la potencia del código completo 🚀.
Empieza gratis
19 de noviembre de 2023
-
8m
min leer

Escenario para enviar un correo electrónico a un cliente de una agencia de viajes que acaba de reservar un viaje

Pavel Gorrión
Cofundador, Experto en No-código
Índice

En este artículo, configuraremos un script en Latenode para enviar un correo electrónico a un cliente de una agencia de viajes que acaba de reservar un viaje.

El esquema de un escenario así es sencillo: sabemos del cliente su sexo, edad, desde qué ciudad y a qué ciudad está planeando un viaje. A partir de estos datos, prepararemos un texto de correo electrónico para decirle adónde ir y qué ver cuando llegue a la ciudad. Aquí tienes un ejemplo del texto que preparará ChatGPT:

¡Bienvenido a la encantadora ciudad de Limassol, Chipre! Como turista de invierno, tienes muchas cosas que ver y hacer durante tu estancia. En cuanto a lugares que ver, las tres principales atracciones que no te puedes perder son: El Castillo de Limassol, un castillo medieval situado en el corazón de la ciudad. El castillo es un lugar estupendo para conocer la rica historia de la ciudad y también ofrece magníficas vistas de la ciudad y el mar. El puerto deportivo de Limassol, un precioso puerto deportivo que ofrece una gran variedad de tiendas, restaurantes y bares. Es un lugar perfecto para pasear, comer o beber algo y admirar los barcos. El casco antiguo de Limassol, un encantador barrio lleno de arquitectura tradicional, pintorescas tiendas y acogedores cafés. Es un lugar perfecto para pasear y conocer la cultura local. En cuanto a actividades que hacer, las tres principales recomendaciones son: Visita el Museo Arqueológico de Limasol, que alberga una vasta colección de artefactos que arrojan luz sobre la rica historia y cultura de la isla. Haz una ruta del vino por la región de Limasol, donde podrás probar los vinos locales y conocer la tradición vinícola de la isla. Visita el lago salado de Limasol, que es un lugar estupendo para la observación de aves y también ofrece hermosas vistas de la ciudad. Limasol es una ciudad con mucho que ofrecer, y éstas son sólo algunas de las muchas cosas que puedes ver y hacer durante tu visita. Disfruta de tu estancia en Limasol, y no dudes en pedir recomendaciones a los lugareños, pues estarán encantados de ayudarte a descubrir las joyas ocultas de su ciudad.

Preparando

En primer lugar, vamos a comprobar la lista de lo que necesitamos para crear una cadena: una cuenta ChatGPT y su clave Personal, así como la cuenta Mailgun y su Clave API Privada;

La clave personal en ChatGPT se puede ver o crear aquí, en la configuración del perfil:

La clave API de Mailgun también está en la configuración del perfil:

Crear una cadena en Latenode

Lo primero que hacemos, como siempre, es crear un nodo: "+ Añadir Nodo" => "Http" => "Webhook";

Copiemos su dirección de una vez;

Guarda los cambios;

Preparemos también una solicitud para un cliente de descanso (Cartero, Insomnio):

REQ para cliente de descanso:


    curl --request POST
    --url https://webhook.latenode.com/69/dev/8a3d287b-6580-45d0-8d69-c37b9a41e890
    --header 'Tipo de contenido: application/x-www-form-urlencoded'
    --data 'personalTokenChatGPT=Tu token'
    --data 'apiKeyMailgun=Tu token'
    --data 'email=Tu email de prueba'
    --data 'personAge=26'
    --datos 'personaGénero=masculino'
    --data 'temporada deseada=invierno'
    --data 'ciudadDestino=Praga'

Cambia el enlace Webhook por el tuyo;

A continuación, sustituye en personalTokenChatGPT tu clave de ChatGPT;

A continuación, introduce en apiKeyMailgun tu clave de Mailgun;

Cambia también el correo electrónico por tu correo de prueba, así si tienes un plan gratuito de Mailgun podrás enviar sólo al correo electrónico que especificaste al registrarte;

El resto puedes cambiarlo a voluntad;

Crea un nuevo nodo: "+ Añadir Nodo" => "Código" => "JavaScript";

Inserta el contenido en él:


    const apiChatGPT = "https://api.openai.com/v1";
    const apiMailgun="https://api.mailgun.net/v3";
    const personalTokenChatGPT = `Bearer ${data["{{1.body.personalTokenChatGPT}}"]}`;
    const apiKeyMailgun = data["{{1.body.apiKeyMailgun}}"];
    const personGender = data["{{1.body.personGender}}"];
    const personAge = data["{{1.body.personAge}}"];
    const desiredSeason = data["{{1.body.desiredSeason}}"];
    const cityDestination = data["{{1.body.cityDestination}}"];
    const message = `Give me an article for a tourist about the top 3 places to see and top 3 activities to do in the city of destination. The tourist is ${personGender}, ${personAge} years old, traveling in  ${desiredSeason}, destination city ${cityDestination}.`;

    const resultRawJSON = JSON.stringify({
      "model":"text-davinci-003",
      "prompt":message,
      "temperature":0,
      "max_tokens":1400
    });

    return {
      apiChatGPT,
      apiMailgun,
      personalTokenChatGPT,
      apiKeyMailgun,
      resultRawJSON
    }

Ahorra;

Une los nodos;

Inicia y llama a la cadena para transferir datos entre los nodos;

Abramos de nuevo la configuración del nodo "JavaScript";

Check all the constructions like "data["{{1.body.personGender}}"]" that the number of the Webhook corresponds to the one from which we receive data, if not replace it with the required one (remember, 1 is the number of the node written under the node name, then if it is a query then you have to choose the object field responsible for the type of sent/received data - body for forms or query for query parameters);

A continuación, crea un nodo "Petición Http" que realizará una petición para generar frases basadas en los parámetros de texto de la variable mensaje del nodo JS;

Crear nodo: "+ Añadir nodo" => "Http" => "Petición HTTP";

Ahorra;

Unamos los nodos;

Inicia y llama a la cadena para transferir datos entre los nodos;

Formemos el campo "Url": al principio sustituiremos la variable"apiChatGPT" del nodo "JavaScript", y después especificaremos /completions;

Lee más sobre ésta y otras llamadas de la API ChatGPT al final de este artículo;

Cambiemos el método a "POST";

En "crudo", sustituyamos la variable del primer nodo "JavaScript";

En las Cabeceras vamos a añadir dos:

- Content-Type con valor: application/json
- Autorización, en el valor selecciona una variable del nodo "JavaScript" con el nombre: personalTokenChatGPT

Vamos a guardar los cambios;

Añade un nodo "Respuesta Webhook" para devolver el texto generado por ChatGPT en la respuesta: "+ Añadir Nodo" => "Http" => "Respuesta Webhook";

Ahorra;

Une los nodos;

Inicia y llama a la cadena para transferir datos entre los nodos;

Vamos a añadir la respuesta recibida del nodo anterior "Petición Http", no olvides especificar el índice entre los corchetes;

Vamos a guardar los cambios;

Por último vamos a añadir un nodo más "Solicitud Http" para enviar las ofertas de marketing preparadas generadas a través de Mailgun: "+ Añadir nodo" => "Http" => "Solicitud HTTP";

Ahorra;

Une los nodos;

Ejecuta y llama a la cadena para transferir datos entre los nodos;

A continuación, vamos al sitio web de Mailgun a la sección: "Envío" => "Visión general";

Copia el código CURL ya preparado:

Pégalo en la "Petición Http" a través de "Crear desde ejemplo (CURL)":

Luego copia la clave y el dominio del sitio de Mailgun en algún sitio, como un bloc de notas;

En la Url ponemos primero la variable apiMailgun del primer nodo "JavaScript", luego /tudominio en Mailgun/, al final /mensaje;

Cambia el método a "POST";

En el cuerpo seleccionaremos la pestaña "datos del formulario";

En el cuerpo haremos todo como en las capturas de pantalla de abajo:

- from: Mailgun Sandbox <postmaster@your domain in Mailgun>;
- To: your test mailbox to test, select the "JavaScript" node variable clientEmail, put it inside <>;
- subject: Time to trip?;
- text: variable from the "Webhook response" node received text after generation;

A continuación, en el bloque "Autorización" junto al campo "Contraseña", inserta la variable apiKeyMailgun del primer nodo "JavaScript";

Guarda los cambios;

Iniciemos una cadena completa y llamémosla

Después deberías recibir una carta con el texto generado en la dirección de correo electrónico que especificaste, comprueba tu carpeta de correo no deseado si no la has encontrado en tu bandeja de entrada;

Gracias por tu atención, nos vemos en nuevos artículos, ¡habrá otro en ChatGPT! 😉 .

Enlaces:


Básico:

Latenode

ChatGPT

Clave API ChatGPT

Mailgun

Clave API Mailgun

Información:

Documentación de la API ChatGPT

Documentación de la API de Mailgun

Blogs relacionados

Caso práctico

Respaldado por