Como recibir información desde un robot en formularios Xperience

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.

En el formulario

  1. Crear un formulario o ir a un formulario existente
  2. Habilitar la opción Send API
  3. En el menú Javascript, agregar la siguiente librería → xperience.js
    Captura del input CDN de Xperience
  4. 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'
          });
     }
    
    });