Configuración de scripts

La funcionalidad de scripts se usa para realizar validaciones o llamar a servicios web simples de tipo GET que ejecutan algún tipo de tarea en un sistema externo a Be Aware 360.

Estos scripts son utilizados como tipo de tareas en las listas de chequeo.

Nota: Los scripts que se usan para las listas de chequeo corresponden a métodos de solo lectura (no ejecutan acción “save”), por lo que si en el script se ejecuta alguna función que modifique el objeto Caso (update), este no se aplicará.

Los scripts se realizan en lenguaje JavaScript.

Dentro de los scripts se pueden consultar campos de otros objetos de negocio, como son:

  • Caso: Todas las variables de Caso.
  • Contacto: Todas las variables de Contacto. Corresponde al Contacto relacionado al Caso.
  • Cuenta: Todas las variables de Cuenta. Corresponde a la Cuenta relacionada al Caso.
  • Usuario: Todas las variables de Usuario. Corresponde al Usuario asignado al Caso.

Nota: Al realizar llamados a la URL de tipo GET es importante usar dos funciones para reemplazar los espacios y los caracteres especiales, dado que Be Aware no los soporta:

  • La función encodeURI(var) permite utilizar espacios y otros caracteres como {} () en un mensaje sin necesidad de modificarlos por su código ASCII correspondiente. Por ejemplo, colocar %20 en lugar de espacio.
  • La función variable.replace reemplaza los caracteres especiales que no son soportados en una URL por los que sí son soportados. Por ejemplo, utilizarlo para reemplazar ñ por n, á por a, etc.

Ejemplo de código:

El siguiente código hace un llamado a un servicio web que envía un mensaje de SMS:

function execute(caso,stage,contacto,usuario,cuenta,service){
	var jsonResult = {};
	var telefono = contacto.fono[0];
	if(telefono == null){
		jsonResult.CODE = 200;
	}else{
		if(telefono.substring(0,1) == "+"){
			telefono = telefono.substring(1,telefono.length);
		}
		var sms = "Estimado(a) "+contacto.NOMBRE+", hemos registrado tu caso con el número "+caso.REFNUM;
		var sms = sms.replace(/á/gi,"a");
		var sms = sms.replace(/é/gi,"e");
		var sms = sms.replace(/í/gi,"i");
		var sms = sms.replace(/ó/gi,"o");
		var sms = sms.replace(/ú/gi,"u");
		var sms = sms.replace(/ñ/gi,"n");
		var uri = "https://urlget.com/envio-sms?subscriber="+telefono+"&mensaje="+sms;
		var urlService = encodeURI(uri);
		var salidaStr = service.executeService(urlService,null);
		var salidaJSON = salidaStr;
		if(salidaJSON == "OK_REQUEST"){
			jsonResult.MESSAGE = 'MENSAJE SMS ENVIADO CON ÉXITO'+salidaJSON;
			jsonResult.CODE = 200;
		}else{
			jsonResult.MESSAGE = 'ERROR DE ENVÍO SMS. REVISE EL NÚMERO DE CELULAR '+telefono+' '+salidaJSON;
			jsonResult.CODE = 500;
		}
	}
	return jsonResult;
}

Crear un script

Para crear un script, realice los siguientes pasos:

  1. Navegue a Proceso > Script.
  2. El sistema lista todos los scripts que se han creado en la herramienta.
  3. Clic en el botón Crear ubicado en la parte superior derecha de la pantalla.
  4. Ingrese el nombre con el que se identificará el script en el campo Nombre.
  5. Ingrese el código del script en lenguaje JavaScript en el campo Script.
    1. Para utilizar algún campo de un objeto, por ejemplo Caso, se debe utilizar de la siguiente forma: caso.nombreCampo. Ejemplo: caso.REFNUM.
    2. Para utilizar los custom fields de un objeto, por ejemplo Caso, se debe utilizar de la siguiente forma: caso.CF.nombreCustomField. Ejemplo: caso.CF.nombre.
    3. La función debe respectar el orden de los objetos:
      1. function execute(caso, stage, contacto, usuario, cuenta, service){}
  6. Clic en el botón Guardar ubicado en la parte superior derecha de la pantalla.

Modificar un script

Para modificar un script, realice los siguientes pasos:

  1. Navegue a Proceso > Script.
  2. El sistema lista todos los scripts que se han creado en la herramienta.
  3. Clic en el botón Modificar ubicado al final del registro script que desea modificar.
  4. Modifique el nombre con el que se identificará el script en el campo Nombre.
  5. Modifique el código del script en lenguaje javascript en el campo Script.
    1. Para utilizar algún campo de un objeto, por ejemplo Caso, se debe utilizar de la siguiente forma: caso.nombreCampo. Ejemplo: caso.REFNUM.
    2. Para utilizar los custom fields de un objeto, por ejemplo Caso, se debe utilizar de la siguiente forma: caso.CF.nombreCustomField. Ejemplo: caso.CF.nombre.
    3. La función debe respectar el orden de los objetos:
      1. function execute(caso, stage, contacto, usuario, cuenta, service){}
  6. Clic en el botón Guardar ubicado en la parte superior derecha de la pantalla.

Eliminar un script

Para eliminar un script, realice los siguientes pasos:

  1. Navegue a Proceso > Script.
  2. El sistema lista todos los scripts que se han creado en la herramienta.
  3. Clic en el botón Eliminar ubicado al final del registro de script que desea eliminar.
  4. Clic nuevamente en el botón Eliminar para confirmar la eliminación del registro.

Variables para utilizar en un script

Uso de las variables

  • Para usar las variables según los objetos, se utiliza la nomenclatura {objeto}.{variable}.
    • Por ejemplo:
      • Caso: caso.REFNUM
      • Contacto: contacto.NOMBRE
      • Usuario: usuario.USER
      • Cuenta: cuenta.RAZONSOCIAL
  • Para utilizar los campos personalizados, se utiliza la nomenclatura {objeto}.CF.{nombrecampopersonalizado}.
    • Por ejemplo:
      • Caso: caso.CF.nombre
      • Contacto: contacto.CF.fechainicio
  • Las variables de correo corresponde a un arreglo de 3 valores. Para utilizar esta variable, se utiliza de la siguiente manera:
    • Primer email: contacto.email[0]
    • Segundo email: contacto.email[1]
    • Tercer email: contacto.email[2]
  • Las variables de teléfono (fono) corresponde a un arreglo de 3 valores. Para utilizar esta variable, se utiliza de la siguiente manera:
    • Primer teléfono: contacto.fono[0]
    • Segundo teléfono: contacto.fono[1]
    • Tercer teléfono: contacto.fono[2]

Variables aceptadas para objeto Caso

Las variables corresponden a los valores del Caso desde donde se ejecuta el script.

  • ID
  • IDESTADO
  • REFNUM
  • IDESTADODESC
  • IDCONTACTO
  • IDCUENTA
  • IDCUENTADESC
  • IDCONTACTODESC
  • IDPRIORIDAD
  • IDPRIORIDADDESC
  • IDPRIORIDADCOLOR
  • IDUSUARIOASIGNADO
  • IDUSUARIOASIGNADODESC
  • IDTIPO
  • IDTIPODESC
  • IDSUBTIPO
  • IDSUBTIPODESC
  • IDSLA
  • CF
  • ORIGEN
  • IDSLADESC
  • IDPRODUCTO
  • IDPRODUCTODESC
  • IDSTAGEACTUAL
  • IDSTAGEACTUALDESC
  • IDWORKFLOW
  • IDWORKFLOWDESC
  • ASUNTO
  • FECHACREACION
  • IDUSUARIOCREACION
  • IDUSUARIOCREACIONDESC
  • FECHAMODIFICACION
  • IDUSUARIOMODIFICACION
  • IDUSUARIOMODIFICACIONDESC
  • DESTACADO
  • DUEDATE
  • PRIMERPASO
  • FINGRESO
  • SLAVALUE
  • PORCENTAJE
  • FINALIZADO
  • SISTEMAEXTERNO
  • IDINTERACCION
  • FECHAMODIFICACION
  • FECHAREAPERTURA

Variables aceptadas para objeto Contacto

Las variables corresponden a los valores del Contacto asociado al Caso desde donde se ejecuta el script:

  • NOMBRE
  • APELLIDO
  • IDENTIFICADOR
  • CARGO
  • TITULO
  • DIRECCION
  • IDCUENTA
  • IDCUENTADESC
  • IDTIPO
  • IDSLA
  • CF
  • FECHANACIMIENTO
  • PASS
  • FACEBOOK
  • TWITTER
  • INSTAGRAM
  • EMAILCP
  • email
  • fono
  • COMPANY
  • fonocp
  • GRUPOSKILLS
  • GRUPOCUENTAS
  • GRUPOCUENTAS
  • FECHACREACION
  • FECHAMODIFICACION
  • ORIGIN

Variables aceptadas para objeto Usuario

Las variables corresponden a los valores del Usuario asignado al Caso desde donde se ejecuta el script:

  • NOMBRE
  • APELLIDO
  • USER
  • ISOPAIS
  • CF
  • PASS
  • EMAIL
  • IDEMPRESA
  • IDEMPRESADESC
  • IDROL
  • IDROLDESC
  • IDPERMISO
  • IDPERMISODESC
  • IDUSUARIO
  • ACCESO
  • IDGRUPO
  • IDGRUPODESC
  • AVATAR
  • PORTADA
  • CANTIDADCASOS
  • MULTISESSION
  • NOTIFICACIONACTIVA
  • TIMEZONE
  • LANGUAGE
  • FECHACREACION
  • FECHAMODIFICACION
  • GRUPOSKILLS
  • ESTADO
  • LATITUD
  • LONGITUD
  • FECHAPOSICION

Variables aceptadas para objeto Cuenta

Las variables corresponden a los valores de la Cuenta asociada al Caso desde donde se ejecuta el script:

  • IDENTIFICADOR
  • RAZONSOCIAL
  • GIRO
  • DIRECCION
  • TELEFONO
  • CORREO
  • IDSLA
  • IDSLADESC
  • IDREPRESENTANTE
  • IDREPRESENTANTEDESC
  • GRUPOCONTACTOS
  • FACEBOOK
  • INSTAGRAM
  • PAGINAWEB
  • TWITTER
  • XPOS
  • YPOS
  • ISOPAIS
  • FECHACREACION
  • FECHAMODIFICACION
  • CF
  • GRUPOCONTACTOS