Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
configuracionscripts [2020/12/02 19:42] scantorconfiguracionscripts [2024/03/05 15:41] (actual) – editor externo 127.0.0.1
Línea 3: Línea 3:
 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. 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 [[configuracionlistachequeo#Configuración de listas de chequeo|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:
 +
 +<code java>
 +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;
 +}
 +</code>
 ===== Crear un script ===== ===== Crear un script =====
  
Línea 12: Línea 66:
   - Ingrese el nombre con el que se identificará el script en el campo **Nombre**.   - Ingrese el nombre con el que se identificará el script en el campo **Nombre**.
   - Ingrese el código del script en lenguaje //JavaScript// en el campo **Script**.   - Ingrese el código del script en lenguaje //JavaScript// en el campo **Script**.
-    - Actualmente se pueden utilizar los campos del objeto //Caso//. +    - Para utilizar algún campo de un objeto, por ejemplo //Caso//, se debe utilizar de la siguiente forma: ''caso.nombreCampo''. Ejemplo: ''caso.REFNUM''
-    - Para utilizar algún campo del objeto //Caso//, se debe utilizar de la siguiente forma ''caso.nombreCampo''Por ejemplo: ''caso.REFNUM''.+    - 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''. 
 +    - La función debe respectar el orden de los objetos: 
 +      - <code>function execute(caso, stage, contacto, usuario, cuenta, service){}</code>
   - Clic en el botón **Guardar** ubicado en la parte superior derecha de la pantalla.   - Clic en el botón **Guardar** ubicado en la parte superior derecha de la pantalla.
  
Línea 25: Línea 81:
   - Modifique el nombre con el que se identificará el script en el campo **Nombre**.   - Modifique el nombre con el que se identificará el script en el campo **Nombre**.
   - Modifique el código del script en lenguaje javascript en el campo **Script**.   - Modifique el código del script en lenguaje javascript en el campo **Script**.
-    - Actualmente se pueden utilizar los campos del objeto //Caso//. +    - Para utilizar algún campo de un objeto, por ejemplo //Caso//, se debe utilizar de la siguiente forma: ''caso.nombreCampo''. Ejemplo: ''caso.REFNUM''
-    - Para utilizar algún campo del objeto //Caso//, se debe utilizar de la siguiente forma ''caso.nombreCampo''Por ejemplo: ''caso.REFNUM''.+    - 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''. 
 +    - La función debe respectar el orden de los objetos: 
 +      - <code>function execute(caso, stage, contacto, usuario, cuenta, service){}</code>
   - Clic en el botón **Guardar** ubicado en la parte superior derecha de la pantalla.   - Clic en el botón **Guardar** ubicado en la parte superior derecha de la pantalla.
  
 ===== Eliminar un script ===== ===== Eliminar un script =====
  
 +Para eliminar un script, realice los siguientes pasos:
 +
 +  - Navegue a **Proceso** > **Script**.
 +  - El sistema lista todos los scripts que se han creado en la herramienta.
 +  - Clic en el botón **Eliminar** ubicado al final del registro de script que desea eliminar.
 +  - 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