La funcionalidad principal de Xperience es enviar los datos ingresados por el usuario y enviarlos al robot para que utilice esa información, pero algunas veces necesitamos que el robot sea quien envíe información de vuelta al formulario para mostrar información al usuario.
Table of Contents
En el formulario
- Crear un formulario o ir a un formulario existente
- Habilitar la opción Send API
- En el menú Javascript, agregar la siguiente librería → xperience.js
- En la consola de Javascript agregar lo siguiente
rocket.on('start', (xperience, data) => {
console.log('DATA: ', data) // esta línea te permite ver el resultado en la consola del formulario
//Acá el código inicial, lo que envía el robot la primera vez
})
rocket.on('change', (xperience, res) => {
if (res.success) {
console.log('RES: ',res) // esta línea te permite ver el resultado en la consola del formulario
//Acá la información que estará enviando el robot posteriormente
}
});
En el robot
1. Crear una variable llamada xperience . Esta variable la llenará el comando Get Form queue data del módulo Xperience
2. Utilizar el comando Return Message to Xperience para enviar un mensaje de vuelta al formulario
💡 Puedes enviar cualquier tipo de dato permitido por Rocketbot y este se enviará como un string.
Es importante hacer un JSON.parse desde el formulario al recibir los datos.
result = JSON.parse(res.data.replaceAll("'", '"'));
3. Utilizar el comando Send File to Xperience para enviar un archivo y alojarlo en Xperience
💡 Puedes obtener el archivo mediante postman con el siguiente endpoint de lectura:
GET: /api/form/extraFile/{xperience}/{token}
Siendo {xperience} la variable generada en el punto nro 1, y {token} el resultado del comando
Send File to Xperience
Ejemplo
El ejemplo te permite mostrar una ventana de alerta con los datos retornados desde el robot
💡Para que te funcione el código, tienes que agregar esta url a los CDN: //cdn.jsdelivr.net/npm/sweetalert2@11
rocket.on('change', (xperience, res) => {
if (res.success) {
console.log('RES: ',res) // esta línea te permite ver el resultado en la consola del formulario
if(res.data){
swal.fire({
title: 'Estos son los datos enviados desde el robot ' + res.data,
icon: 'info',
});
}
}else{
swal.fire({
title: 'Ocurrió un error al solicitar datos',
icon: 'error'
});
}
});