La documentación a continuación presenta un paso a paso sobre cómo crear un bot simple en el Builder. El bot del ejemplo, ClimaBot, entrega información climática basada en la ubicación del usuario.
Para recolectar la información del clima, se utilizó la API de OpenWeather. Mira:
Para crear un chatbot en Builder, es necesario seleccionar la opción “Crear chatbot” en la página de inicio del contrato:
En este ejemplo, construiremos un chatbot desde cero, por lo tanto, podemos seleccionar esa opción, elegir un nombre y continuar:
Una vez creado el chatbot, podemos acceder al Builder y ya notaremos que el flujo se presenta de la siguiente forma:
Para añadir un nuevo bloque, podemos seleccionar el ícono de agregar bloque en la esquina izquierda del Builder. Como se trata de un flujo simple, crearemos solo cuatro bloques adicionales. En este ejemplo, nombré los bloques como: “1 - Ubicación”, “2 - Pronóstico”, “3 - Región” y “Fin”:
El bloque de bienvenida se utilizará solo para la presentación, por lo tanto, podemos añadir un texto utilizando la variable {{contact.name}} para obtener el nombre del usuario, junto con una opción de respuesta rápida para dirigir al usuario al siguiente bloque, que será “1 - Ubicación”. En este bloque, mantendremos solo la condición de salida: si existe una respuesta del usuario, redirige a “1 - Ubicación”:
En el bloque “1 - Ubicación” es donde recibiremos la ubicación del usuario. Podemos seleccionar la opción solicitar ubicación y, en la entrada del usuario, definiremos la variable “location”, que recibirá la ubicación del usuario. Además, la única condición de salida será dirigir al siguiente estado del flujo, que en este caso es el bloque “2 - Región”:
En el bloque Región es donde ejecutaremos acciones de petición HTTP y ejecución de script de forma secuencial, y usaremos sus resultados para validar la región del usuario. En este caso, también configuré un contenido con respuesta rápida, más la respuesta de la petición en su contenido, con dos opciones: si el usuario responde “sí”, se lo redirige al siguiente estado del flujo (bloque “3 - Pronóstico”); si responde “no”, se lo redirige nuevamente al inicio del flujo:
La configuración de la petición HTTP quedó de la siguiente forma:
Y el script fue configurado para formatear la respuesta de esa petición. Utilizaremos el script en el siguiente formato:
javascript
CopiarEditar
function run(responseclima) {
// Convierte la cadena JSON en un objeto JavaScript (si aún no es un objeto)
var data = JSON.parse(responseclima);
// Accede a los valores
var mainWeather = data.weather[0].main;
var description = data.weather[0].description;
var temperature = data.main.temp;
var humidity = data.main.humidity;
var windSpeed = data.wind.speed;
// Devuelve los valores en un objeto
return {
mainWeather: mainWeather,
description: description,
temperature: temperature,
humidity: humidity,
windSpeed: windSpeed
};
}
Luego, tenemos el bloque “Pronóstico”, que es el penúltimo estado del flujo y donde presentaremos los resultados de la petición con la información climática obtenida. Este bloque no tendrá ninguna acción, y las condiciones de salida redirigirán al usuario nuevamente al bloque “1 - Ubicación” si desea realizar una nueva consulta, o al bloque “Fin” si no desea continuar. Para mostrar la información del clima, utilizaremos el resultado del script configurado en el bloque anterior. Quedará de la siguiente forma:
Y, finalmente, tenemos el bloque “Fin”, cuyo único objetivo es mostrar un mensaje de despedida al usuario y redirigirlo nuevamente al inicio del flujo. Por lo tanto, este bloque tampoco tendrá acciones ni condiciones de salida. Solo utilizaremos la salida predeterminada para redirigir automáticamente al usuario al comienzo del flujo:
Flujo de ClimaBot – Archivo con el flujo del bot creado en el ejemplo. Para utilizarlo, basta con descargar el archivo e importarlo en Blip:
https://blipmediastore.blob.core.windows.net/public-medias/Media_744410e6-e083-42bf-aeba-538e788e1a5a
Sigue el enlace abajo en caso de que quieras probar el ClimaBot:
https://takeblip-acessogeneral.chat.blip.ai/?appKey=Y2xpbWFib3QxOTA6NDcyMWUxODctZWRhMi00YTkwLWI0N2QtMjc0Njk4MzJmMzE4
Para obtener más información, acceda a la discusión sobre el tema en nuestra comunidad o los videos en nuestro canal. 😃