Integra Framework

FunciónDescripción

UC_exec

(sqlquery,dsn,callback)

Ejecuta un SQL query en la Base (INSERT, UPDATE, DELETE), puede o no tener un callback.

sqlquery: INSERT UPDATE o DELETE.

dsn: Nombre de origen de datos, vacío para el Default Base CCREPO.

callback: Null o nombre de la función que se ejecuta al retornar resultado.

value: Si el valor es true la función va a devolver el valor de la base, en otro caso devolverá OK o ERROR

UC_exec
UC_exec("INSERT INTO ccrepo.DC_Telefono VALUES ('" + nombreAgente+ "','" + 
$("#telefono").val() + "','" + fecha + "') ON DUPLICATE KEY UPDATE proximo_contacto = '" + 
fecha + "'","",respsaveproxcontacto, true);

UC_exec_async

Structure: (sqlquery,dsn)

Ejecuta un SQL query en la Base (INSERT, UPDATE, DELETE), puede o no tener un callback.

sqlquery: INSERT UPDATE o DELETE.

dsn: Nombre de origen de datos, vacío para el Default Base CCREPO.

value: Si el valor es true la función va a devolver el valor de la base, en otro caso devolverá OK o ERROR

UC_exec_async
let response = await UC_exec("INSERT INTO ccrepo.DC_Telefono VALUES ('" + nombreAgente+ "','" + $("#telefono").val() + "','" + fecha + "') ON DUPLICATE KEY UPDATE proximo_contacto = '" + fecha + "'","", true);
return response;

UC_Save

(object,table,dsn,callback)

Guarda un objeto de una tabla determinada de la Base de datos.

object: Objeto javascript a guardar (igual a la tabla destino).

table: Nombre de la tabla destino.

dsn: Nombre de origen de datos, vacío para el Default Base CCREPO.

callback: Null o nombre de la función que se ejecuta al retornar resultado.


UC_Save
UC_Save(ArrayOfVentas[i], 'DC_Venta', '', callbackGuardarVenta);

UC_Save_async

Structure: (object,table,dsn)

Guarda un objeto de una tabla determinada de la Base de datos.

object: Objeto javascript a guardar (igual a la tabla destino).

table: Nombre de la tabla destino.

dsn: Nombre de origen de datos, vacío para el Default Base CCREPO.

UC_Save
let response = await UC_Save(ArrayOfVentas[i], 'DC_Venta', '');
return response;


UC_fullSelect

(solochosen, idSelect, objetoSelect, chosen, atributo, parse)

Se encarga de llenar comboBox o listBox con datos de la query.

solochosen: Si este parámetro es 0 se encarga de inicializar el chosen con los objetos que le pasamos en el objetoSelect.
Si este parámetro es 1 asume que el html del select ya contiene los datos con los cuales queremos inicializar el chosen y
lo único que hace es un trigger a la función .chosen(), que inicializa el chosen.

idSelect: Id del select en el html que corresponde con nuestro combo box.

objetoSelect: Es una lista de valores o una lista de objetos:

Ej lista valores: ["ACOMP-BLESS->","campanaParaTestBeto<-"]

Ej lista objetos 

[{"departamento":"ARTIGAS"},{"departamento":"CANELONES"}]


chosen: Si este atributo es 1 se aplica la función .chosen() que inicializa el combo box, si es 0 se carga el html del select
con los option del objetoSelect pero no se aplica la función .chosen(), es decir no se inicializa.

atributo: Si se especifica un atributo, significa que el objetoSelect tiene la forma de lista de objetos por lo tanto el valor de
nuestro combo va a tener el valor del atributo del objeto que especificamos.
En nuestro ejemplo de lista de objetos le pasaríamos el atributo 'departamento'.

parse: Si este atributo es 1 se aplica la función JSON.parse al objetoSelect ya que se asume que se lo esta pasando en forma de string,
si este atributo es 0 no se aplica la funcion JSON.parse y se asume que el objetoSelect es un array de valores o un array de objetos.

solochosenchosenresult
10ListBox usando valores del html
00ListBox usando valores de objetoSelect
01ComboBox usando valores de objetoSelect
11ComboBox usando valores de html
UC_fullSelect
UC_fullSelect(0,"campanasCodigos",campañas,1,null,1);

UC_fullTable

(idTabla, datosParaLlenar, stringDatos, onSelected, scroll, dataFormat, bColum, bOrder, bfilter, pagination, multipleSelect, onDeSelected)

Se encarga de llenar una tabla determinada.

idTabla: El id del tag <table> en nuestro html.

datosParaLlenar: Es la lista de objetos en formato string que se usan para cargar la tabla. Importante destacar que tiene que ser en
formato string ya que el método se encarga de parsearlo.

Ej: [{"id":1,"documento":"","nombres":"Casanova Barreiro Rossana Haydee","departamento":""...

stringDatos: Son los atributos del objeto que queremos mostrar en las columnas de nuestra tabla.
Se escriben los atributos separados por coma.

onSelected: Método que se va a ejecutar cuando ocurra el evento de selección en una fila de la tabla.
Dicho método acepta un parámetro, el cual retorna el objeto que corresponde con la fila seleccionada:

Ej: function metodoOnSelectedSample(resp){

//Resp tiene el objeto en formato string como el que le pasamos en el ejemplo

}

scroll: Es el alto en pixeles que va a tomar la tabla. Ej: '100px'

dataFormat: Si los datos para llenar poseen fechas para ordenar se le pasara el formato de la fecha para que lo ordene,
ejemplo : 'DD/MM/YYYY'

bColum, bOrder: Estos parámetros son para ordenar una columna en particular de manera asc o desc, se le deberá pasar
como integer la columna y el orden como string, por defecto sino se les pasa estos parámetros ordenara
por la primer columna descendente.

Si querés ordenar la Segunda columna de forma descendente: 1,"desc".
 
pagination: boolean. true para que se realice el paginado de la tabla automatico desde frontend. En caso de poner un numero,
Ej: 50 se verán por pagina la cantidad seteada

multipleSelect: null o 1 como entero para multiple seleccion de filas.

onDeSelected: null or function(a) para obtener como retorno el valor de la fila seleccionada.

UC_fullTable
UC_fullTable("tablaCodigo",JSON.stringify(codigosHistorico),'Codigo,Detalle,Callerid,Documento,Resultado',
selectCodigo,"300px","DD/MM/YYYY",0,"asc",false);

UC_addPagination

(idTabla)

Agrega paginación a una tabla.

Este método agrega dos botones, un botón 'anterior' y otro 'siguiente' que sirve de paginación para la tabla.

Es importante destacar que solo se agregan los botones en el html, es el usuario quien luego tiene que definir
los eventos de clic de estos botones. Los ids de los botones son: idTabla_anterior, idTabla_siguiente.

Mediante javascript el usuario debería de agregar el evento on clic de estos dos botones de la siguiente manera:

$('#idTabla_anterior').click(function(){...});


idTabla: Id en el HTML de la tabla.

UC_addPagination
UC_addPagination('tablaBusquedaBaseVentas');

UC_update

(json, tablename, column, dsn, callback)

Actualiza datos del objeto, se pone el valor y columna actualizar.

obj: Objeto con los nuevos datos a actualizar.

tablename: Nombre de la tabla a actualizar.

column: Nombre de la columna por la que se va a realizar el Update, habitualmente el ID de la tabla.

dsn: Nombre de origen de datos, vacío para el Default Base CCREPO.

callback: Null o nombre de la función que se ejecuta al retornar resultado.

UC_update
UC_update(objetoRefActual, "DC_Referido", "idref", "", respUpdateReferido);

UC_update_async

Structure: (json, tablename, column, dsn)

Actualiza datos del objeto, se pone el valor y columna actualizar.

obj: Objeto con los nuevos datos a actualizar.

tablename: Nombre de la tabla a actualizar.

column: Nombre de la columna por la que se va a realizar el Update, habitualmente el ID de la tabla.

dsn: Nombre de origen de datos, vacío para el Default Base CCREPO.

UC_update
let response = await UC_update_async(objetoRefActual, "DC_Referido", "idref", "");
return response;

UC_delete

(tablename, column, value, valuetype, dsn, callback)

Se borra un objeto mediante valor y columna.

tablename: Nombre de la tabla a actualizar.

column: Nombre de la columna por la que se va a realizar el delete, habitualmente el ID de la tabla.

value: Valor de la columna por que se va a hacer el delete.

valuetype: Tipo de dato de la columna que se va a hacer el delete: int, string.

dsn: Nombre de origen de datos, vacío para el Default Base CCREPO.

callback: Null o nombre de la función que se ejecuta al retornar resultado.

UC_delete
UC_delete('DC_Producto', 'id', productoseleccionado.id, 'int', '', callbackEliminar);

UC_delete_async

Structure: (tablename, column, value, valuetype, dsn)

Se borra un objeto mediante valor y columna.

tablename: Nombre de la tabla a actualizar.

column: Nombre de la columna por la que se va a realizar el delete, habitualmente el ID de la tabla.

value: Valor de la columna por que se va a hacer el delete.

valuetype: Tipo de dato de la columna que se va a hacer el delete: int, string.

dsn: Nombre de origen de datos, vacío para el Default Base CCREPO.

UC_delete
let response = await UC_delete('DC_Producto', 'id', productoseleccionado.id, 'int', '');
return response;

UC_get

(sqlquery, dsn, callback)

Obtiene los datos de la base pasando un SQL SELECT query.

sqlquery: SELECT sql

dsn: Nombre de origen de datos, vacío para el Default Base CCREPO.

callback: Null o nombre de la función que se ejecuta al retornar resultado.

UC_get
UC_get("SELECT * FROM DC_Param order by id asc","",callbackInitDocumento);

UC_get_async

Structure: (sqlquery, dsn)

Obtiene los datos de la base pasando un SQL SELECT query.

sqlquery: SELECT sql

dsn: Nombre de origen de datos, vacío para el Default Base CCREPO.

UC_get
let response = await UC_get_async("SELECT * FROM DC_Param order by id asc","");
return response;

UC_makeCall

(campaign, source, destination, callback)

Realiza una llamada.

campaign: Campaña por la que va a realizar la llamada.

source: DID por la que se va a sacar la llamada.

destination: Número destino de la llamada.

callback: Null o nombre de la función que se ejecuta al retornar resultado.

verifyWrapup: Si es true entonces valida si el agente está en wrapup antes de llamar, caso contrario no lo valida.

UC_makeCall
UC_makeCall(campaign, source, destination, callback, verifyWrapup);

UC_makeCall_async

Structure: (campaign, source, destination)

Realiza una llamada.

campaign: Campaña por la que va a realizar la llamada.

source: DID por la que se va a sacar la llamada.

destination: Número destino de la llamada.

verifyWrapup: Si es true valida entonces si el agente está en wrapup antes de llamar, caso contrario no lo valida.

UC_makeCall
let response = await UC_makeCall(campaign, source, destination, verifyWrapup);
return response;

UC_hangUp

(callback)

Corta la llamada actual.

callback: Null o nombre de la función que se ejecuta al retornar resultado.

UC_hangUp
UC_hangUp(callback);

UC_hangUp_async

Structure: ()

Corta la llamada actual.

UC_hangUp
let response = await UC_hangUp();
UC_hangUpMyCall

Finaliza la llamada solo si el callerid pasado por parametro es el mismo de la llamada actual

  • callerid
  • callback
UC_hangUpMyCall_async
  • callerid

UC_pause

(boolean)

Se encarga de pausar o des pausar al Agente.

No des pausa al Agente en caso de que se encuentre en un break.

boolean: true o false

function: función de llamda

UC_Pause
UC_Pause(true, function(resp){});

UC_sendSms

(phone, message)

Envía un sms.

phone: Destino del sms.

message: Texto sms.

UC_sendSms
 UC_sendSms(099234560,"Hola mundo!");


UC_sendMail

(fromname, to, subject, body,callback)

Envía un Email con la cuenta del sistema

fromname: Nombre de quien envía.

to: Correo destinatario.

subject: Asunto del mail.

body: Texto del email puede ser html.

UC_sendMail
UC_sendMail(clienteseleccionado.campana, $('#txtEmailGestion').val(), $('#txtDatoGestion').val(), $('#txtComentarios').val(),callbackSendMail);

UC_sendMail_async

(fromname, to, subject, body)

Envía un Email con la cuenta del sistema

fromname: Nombre de quien envía.

to: Correo destinatario.

subject: Asunto del mail.

body: Texto del email puede ser html.

UC_sendMail_async
UC_sendMail_async("From name", "to@mail.com", "Subject", "e-mail text");

UC_sendMailCampaignv2

UC_sendMailCampaignv2_async

Envía un mail utilizando la cuenta de correo de la campana especificada

{
	"campaign": "Email",
	"to": "adress@ucontactcloud.com",
	"cc":"example@example.com",
	"cco":"example@example.com,example2@example2.com",
	"subject": "Subject",
	"body": "This is an email body can be HTML",
    "attachments": ["020212/738hbjk-h73894algo.jgp", "020212/738hbjk-h73894algo.jgp"],
    "reports":["<generated_report_guid>.pdf"],
	"schedule": {
		"title": "Date title",
		"organizer": "Myself",
		"from": "2018-08-24 00:00:00",
		"to": "2018-08-24 01:00:00"
	},
	"template": "templateName",
	"variables": {
		"var1":"value",
		"var2":"value2"
	}
}

Los campos cc, cco, template y variables son opcionales.

Las variables serán reemplazadas antes de enviar el mail. El template solo se enviara si el body es vacio o no especificado.

Attachments son opcionales, va a ser una lista de strings obtenidos con la funcion UC_addAttachment(file, id)

Con la propiedad `reports` se pueden enviar adjuntos en el mail, reportes generados previamente. Será una lista de guid de reportes generados con su extensión.

Hola ${nombre} este es un ejemplo de template para poder reemplazar las variables, saludos de ${saludos} 

Sera reemplazado por:

Hola Santiago este es un ejemplo de template para poder reemplazar las variables, saludos de Cari

await UC_sendMailCampaignv2_async({
	campaign: "Email",
    to: "santiviglione@gmail.com",
    subject: "Subject",
    body: "Hola",
    attachments: [
		"20190513/92c59937-194a-4ef0-a183-9f55d551eb94.Captura%20de%20pantalla%202019-02-23%20a%20la%28s%29%2018.25.28.png", 
		"20190513/24817ad7-efc5-4277-8995-d64ee6e988a5.foton%20de%27cereat.jpg"
	]
})

UC_addAttachment(file, id)

Subir cualquier tipo de archivo al servidor

file: File object javascript

id (optional): usado para identificar al archivo en la respuesta

Respuesta: ["20190513/a6d9f3c6-9574-44ca-8b6f-ec02e2c977d1.filename.txt", "1234"]

El primer string es la ruta del archivo en el servidor

El segundo es el id enviado

Ejemplo:

await UC_addAttachment(new File(["test1234filecontent"], "filename.txt", {type: "text/plain", lastModified: new Date()}))



Este metodo envia un mensaje utilizando la api de hey now. Se necesita el nombre de un proveedor de hey previamente configurado

{
	"clientId": "598112321323",
	"message": "Hola",
	"providerName": "HeyNowProviderName"
}
let obj = {
	"clientId": "598112321323",
	"message": "Hola",
	"providerName": "HeyNowProviderName"
}

await UC_sendHeyNowMessage_async(obj)

UC_getAgents

(callback)

Obtiene los agentes en el callback en formato json.

UC_getAgents_async

Structure: ()

Obtiene los agentes en el callback en formato json.

UC_getAgents
let response = await UC_getAgents();
return response;

UC_getSystemCampaigns

(callback)

Obtiene las campañas del sistema en el callback en formato json.

UC_getSystemCampaigns
UC_getSystemCampaigns(setComboCampaigns);

UC_getSystemCampaigns_async

Structure: ()

Obtiene las campañas del sistema en el callback en formato json.

UC_getSystemCampaigns
let response = await UC_getSystemCampaigns();
return response;

UC_getMyAgentCampaigns

(callback)

Obtiene las campañas del agente en el callback en formato json.

UC_getMyAgentCampaigns
UC_getMyAgentCampaigns(respGetAgentCampaigns);

UC_getMyAgentCampaigns_async

Structure: ()

Obtiene las campañas del agente en el callback en formato json.

UC_getMyAgentCampaigns
let response = await UC_getMyAgentCampaigns();
return response;

UC_getMySuperCampaigns

(callback)

Obtiene las campañas que puedo ver si soy supervisor en el callback en formato json.

UC_getMySuperCampaigns
 UC_getMySuperCampaigns(callback);

UC_getMySuperCampaigns_async

Structure: ()

Obtiene las campañas que puedo ver si soy supervisor en el callback en formato json.

UC_getMySuperCampaigns
let response = await UC_getMySuperCampaigns();
return response;

UC_getAgentForCampaign

(campaign, callback)

Obtiene los agentes por una campaña determinada en el callback en formato json.

UC_getAgentForCampaign
 UC_getAgentForCampaign(campaign,callback);

UC_getAgentForCampaign_async

Structure: (campaign)

Obtiene los agentes por una campaña determinada en el callback en formato json.

UC_getAgentForCampaign
let response = await UC_getAgentForCampaign(campaign);
return response;

UC_subirArchivoCSV

(archivo, tabla, sentence, callback)

Se encarga de subir un archivo CSV a una tabla determinada de la Base.

archivo: Obtenido desde un upload.

tabla: Nombre de la tabla destino.

sentence: Cambios que se requieran (ver syntaxys MYSQL LOAD IN FILE).

callback: Retorno de la subida.

UC_subirArchivoCSV
UC_subirArchivoCSV(archivo, "DC_Telefono","IGNORE 1 LINES (agente,telefono)\n",respUploadCodigoCSV);

UC_generateReport

(jsonReport, html, excel, pdf, doc)

Se encarga de generar y descargar un Reporte en formato excel, pdf, doc,txt, cvs.

jsonReport: Es el objeto reporte en el siguiente formato:

Object Report
{"name":"Breaks Totales", //nombre del reporte
 "file":"TiemposPausaBreakePorAgente.jrxml", // nombre del archivo jrxml
"description":"Breaks Totales", //descripcion del reporte
"dsn":"Repo", // data source name
"parameters":"INITIAL_DATE=Timestamp=2015-11-03 00:00:00;FINAL_DATE=Timestamp=2015-11-03 3:59:59;REPORT_LOCALE=Locale=es;AGENT=Agent='Admin',,'Agente1','Agente10','Agente11',",
//Son los parametros con los cuales se ejecuta el reporte, estos varian segun el reporte.
"grouped":"Agentes", //grupo bajo el cual se encuentra el reporte
"language":"es", //idioma en el cual nos va a devolver el reporte
"license":"CCS"}

html, excel, pdf, doc: Estos parámetros son booleanos que aceptan 1 o 0, en el caso de que sea 1 el parámetro,
se va a descargar en dicho formato, en el caso que sea 0 no se tiene en cuenta ese tipo de archivo para la descarga.
(excel en 2 es csv) (doc en 2 es txt).

UC_generateReport
UC_generateReport(objetoReporte,0,2,0,0);

UC_closeForm

Cierra el Form Actual.

UC_closeForm
UC_closeForm();

UC_getIframeQuantity

Devuelve cantidad de Formularios abiertos por el Agente

UC_closeForm
UC_getIframeQuantity();

UC_ShowXForm

Muestra Botón de Cerrar en el Tab,

UC_ShowXForm
UC_ShowXForm(); 

UC_setChannelVariable

(variable, value, callback)

Setea una variable en la Llamada,

variable: Nombre de la variable.

value: Valor.

callback: Retorno

UC_setChannelVariable
UC_setChannelVariable('nombre','pepe',null);

UC_setChannelVariable_async

Structure: (variable, value)

Setea una variable en la Llamada,

variable: Nombre de la variable.

value: Valor.

UC_setChannelVariable
let response = await UC_setChannelVariable('nombre','pepe');
return response;

UC_TagRecord

(guid, data) 

Tag en una grabación para buscar luego en Datos en Grabaciones.

guid: Id de la llamada obtenida del objeto CTI.

data: Texto con que se va a marcar.

UC_TagRecord
 UC_TagRecord(guid,"data");

UC_respool

(objetoRespool, callback)

El respool ocurre cuando una llamada no pudo ser concretada, por ejemplo cuando un discador enlaza a un agente con un cliente pero
este no era la persona que se deseaba contactar entonces es posible volver a ponerlo en el discador.

objetoRespool: Objeto obtenido de UC_DialerObject, este puede ser cambiado según corresponda hacer el respool, ejemplo
cambio de num principal por el primer alternativo, etc.

callback: Es una función de callback definida por el usuario que tiene la respuesta del método.

UC_respool
 UC_respool(objetoRespool, callback);


UC_respool_async

Structure: (objetoRespool)

El respool ocurre cuando una llamada no pudo ser concretada, por ejemplo cuando un discador enlaza a un agente con un cliente pero
este no era la persona que se deseaba contactar entonces es posible volver a ponerlo en el discador.

objetoRespool: Objeto obtenido de UC_DialerObject, este puede ser cambiado según corresponda hacer el respool, ejemplo cambio de
num principal por el primer alternativo, etc.

UC_respool
let response = await UC_respool(objetoRespool);
return response;


UC_DoRespool

(cti, alternative)

Realiza el respool de una llamada especificando si se desea alternar entre los números alternativos o no.

cti; CTI parseado

alternative: Se puede pasar vacio, eso indica que no contempla los alternativos. O se le pasa los alternativos a tener en cuenta.

UC_DoRespool
 UC_DoRespool(cti, alternative);

UC_DialerObject

(dialer)

Retorna un objeto de tipo calls_spool para poder hacer respool o armar un DialerSchedule.

dialer: Es el string que llega en Dialer en CTI.

UC_DialerObject
UC_DialerObject(CTI.Dialer);

UC_replaceAll

(str, find, replace)

Remplaza todas las ocurrencias de un carácter en un String.

str: String original.

find: Que carácter buscar.

replace: Por que carácter remplazar.

Retorna el String cambiado.

UC_replaceAll
 UC_replaceAll("Hola mundo","mundo","como estas?");

UC_generateNamedReport

(jsonReport, html, excel, pdf, doc, name)

Se encarga de generar y descargar un Reporte en formato excel, pdf, doc o cvs, además se le pasara un nombre determinado.

jsonReport: Es el objeto reporte en el siguiente formato:

Object Report
{"name":"Breaks Totales", //nombre del reporte
 "file":"TiemposPausaBreakePorAgente.jrxml", // nombre del archivo jrxml
"description":"Breaks Totales", //descripcion del reporte
"dsn":"Repo", // data source name
"parameters":"INITIAL_DATE=Timestamp=2015-11-03 00:00:00;FINAL_DATE=Timestamp=2015-11-03 23:59:59;REPORT_LOCALE=Locale=es;AGENT=Agent='Admin',,'Agente1','Agente10','Agente11',",
//Son los parametros con los cuales se ejecuta el reporte, estos varian segun el reporte.
"grouped":"Agentes", //grupo bajo el cual se encuentra el reporte
"language":"es", //idioma en el cual nos va a devolver el reporte
"license":"CCS"}

html, excel, pdf, doc: Estos parámetros son booleanos que aceptan 1 o 0, en el caso de que sea 1 el parámetro, se va a descargar en
dicho formato, en el caso que sea 0 no se tiene en cuenta ese tipo de archivo para la descarga. (excel en 2 es csv) (doc en 2 es txt).

name: Nombre del archivo a descargar.

UC_generateNamedReport
UC_generateNamedReport(objetoReporte,0,2,0,0,"nombreReport");

UC_DialerSchedule

(callDate, objectDialer, callback)

Se encarga de agendar una llamada para que ocurra en una fecha determinada bajo una campana establecida
y a un destino especificado.

callDate: Fecha en la cual se agenda para realizar la llamada.

objetDialer: Objeto retornado de llamar a UC_DialerObject con el String Dialer de CTI,
este objeto se cambia según se requiera schedular.

callback: Es una función de callback definida por el usuario que tiene la respuesta del método.

UC_DialerSchedule
UC_DialerSchedule(objetoScheudle, callbackDialerSchedule);


UC_DialerSchedule_async

Structure: (callDate, objectDialer)

Se encarga de agendar una llamada para que ocurra en una fecha determinada bajo una campana establecida y a un destino especificado.

callDate: Fecha en la cual se agenda para realizar la llamada.

objetDialer: Objeto retornado de llamar a UC_DialerObject con el String Dialer de CTI, este objeto se cambia según se requiera schedular.

UC_DialerSchedule
let response = await UC_DialerSchedule(date, objetoScheudle);
return response;

notification

(title, message, icon, type)

Mostrar mensajes al usuario.

title: Recibe un string que usara como titulo de la notificación.

message: Recibe un string que usara como mensaje de la notificación.

icon: Recibe un string con la clase de fontawesome para la notificación.

Iconos posibles:"fa fa-times"(error),"fa fa-check"(accion realizada con exito),"fa fa-warning"(alerta).

type: Recibe un string que define el tipo de notificación lo cual afecta el color de la misma.

-types posibles:"danger"(error al realizar la operacion),"success"(accion realizada con exito),"warning"(alerta).

notification
notification("Error","Debe ingresar nombre","fa fa-times","danger");

UC_audit

(audit)

Auditar las acciones realizadas por el usuario.

Recibe un string (audit) que se graba en la columna action de la tabla ccrepo.auditory
junto con el usuario que esta usando el sistema y su respectiva ip.

UC_audit
UC_audit('El usuario se logueo con exito');

UC_goToTab

(idTabPane)

Cambia al tab que se pase por parámetro.

idTabPane: Recibe un string que debe ser el id del tab-pane que queremos mostrar.

UC_goToTab
UC_goToTab("Ventas");

UC_generateGraphic

(idContenedor, datos, tipo, titulo, colores, tamaño)

Genera gráficas.

idContenedor: Recibe un string que debe ser el id del contenedor en donde queremos mostrar la gráfica.

datos: Recibe un array con los datos a mostrar en la gráfica.

tipo: Recibe un string que define el tipo de gráfica a mostrar, si la gráfica es solo lineal recibe
este parámetro como "null" (pie, donut, bars, null).

titulo: Recibe un string como título solo para gráficas de tipo donut, en lo contrario usar null.

colores: Recibe un array de strings con los colores en hexadecimal (['#2334','#45454']).

tamaño: Recibe un string con el valor en pixeles para el tamaña de la gráfica ('240px') null toma tamaño del contenedor.

UC_generateGraphic
var arrayDatos= [['data1', 30],['data2', 120]];
UC_generateGraphic("idContenedor",arrayDatos,"pie",null,null);
 
var arrayDatosLineas=[
	 ['data1', 30, 200, 100, 400, 150, 250],
	 ['data2', 50, 20, 10, 40, 15, 25]
];
UC_generateGraphic("idContenedor",arrayDatosLineas,null,null,null);
UC_Http_proxy

Solo los campos url y method son obligatorios.

Method puede ser: GET, POST, PUT, DELETE

El body tiene que ser un string, y así tal cual va a ser enviado en la petición 

UC_generateGraphic
await UC_Http_proxy({
	url: 'https://api-mirror.herokuapp.com/', 
	method: 'POST', 
	headers:{'authorization': 'header1'}, 
	body: '{}', 
	type: 'application/json',
	timeout: 10000
})

El timeout por defecto es de 10000 milisegundos

Respuesta de ejemplo

UC_generateGraphic
{
	body: "the body response",
	code: "200", //401, 504 etc
	headers: {
		content-type: ['application/json'],
		server: ['gunicorn/19.7.1']
	}
}

En el caso de que el type sea `application/x-www-form-urlencoded` se peude hacer lo siguiente para no andar concatenando strings y poder enviarlo en el body en lugar del JSON.stringify

UC_generateGraphic
var form = new FormData();
form.append('name', 'Augusto');
form.append('ci', '1234123-1');
var urlEncoded = new URLSearchParams(form).toString();

//urlEncoded va a tener el siguiente valor
//cliente=Augusto&ci=1234123-1
UC_ExecGet_async

UC_Exec

UC_generateGraphic
await UC_ExecGet_async({url: 'https://google.com.uy', headers: {'Authorization': '1234'}})
et_async

UC_ExecPost

(url, data, callback)

Ejecuta un webService POST, desde nuestro dominio.

url: Pasar la url del web service.

data: Si el web service espera parámetros se lo deberás pasar en el data.

callback: Retorno.

headers: Array de headers (no es obligatorio)

UC_ExecPost
 UC_ExecPost(url, data, callback, [{header: 'Name', value: 'value'}]);

UC_ExecPost_async

Structure: (url, data)

Ejecuta un webService POST, desde nuestro dominio.

url: Pasar la url del web service.

data: Si el web service espera parámetros se lo deberás pasar en el data.

headers: Array de headers (no es obligatorio)

UC_ExecPost_async
let response = await await UC_ExecPost_async('https://5dc2cc541666f6001477f514.mockapi.io/post/test', '{"data": "data to be sended"}', [{header: 'Name', value: 'value'}]);
return response;

UC_ExecPostSOAP

(url, body, callback, headers)


Ejecuta una accion de SOAP desde un webservice

url: URL de la accion de SOAP, con el nombre incluido

body: XML de la petición SOAP

calback : Retorno

headers : Array de headers para la consulta

UC_ExecPostSOAP
var xml = '<?xml version="1.0" encoding="utf-8"?> <soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">   <soap12:Body>     <ObtengoDatos_HomeBanking_DOC xmlns="http://www.italcred.com">       <DOC>2905977</DOC>     </ObtengoDatos_HomeBanking_DOC>   </soap12:Body> </soap12:Envelope>';

UC_ExecPostSOAP(http://serverip/ws_integra_beta/servicio.asmx?op=ObtengoDatos_Disponible, xml, function(xmlResponse){
	// xmlResponse	
},[{header: "Autorization", value: "Basic 748o748974837489237489"}, {header: "Custom-header", value: "Value header"}]);

UC_ExecPostSOAP_async

Structure: (url, body, headers)


Ejecuta una acción de SOAP desde un webservice

url: URL de la acción de SOAP, con el nombre incluido

body: XML de la petición SOAP

headers : Array de headers para la consulta

UC_ExecPostSOAP_async
var xml = '<?xml version="1.0" encoding="utf-8"?> <soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">   <soap12:Body>     <ObtengoDatos_HomeBanking_DOC xmlns="http://www.italcred.com">       <DOC>2905977</DOC>     </ObtengoDatos_HomeBanking_DOC>   </soap12:Body> </soap12:Envelope>';

let response = await UC_ExecPostSOAP_async("http://serverip/ws_integra_beta/servicio.asmx?op=ObtengoDatos_Disponible", xml, [{header: "Autorization", value: "Basic 748o748974837489237489"}, {header: "Custom-header", value: "Value header"}]);
return response;

UC_GM_LoadActions

(measure, actions, callback)

Ejecuta WebService de gamification que acredita puntos al agente.

measure: Nombre de la medida de desempeño.

actions: Cantidad de acciones a acreditar (se multiplica con la medida).

callback: Retorno.

UC_GM_LoadActions
UC_GM_LoadActions("nombreMedida", 100, callback);

UC_GM_LoadActions_async

Structure: (measure, actions)

Ejecuta WebService de gamification que acredita puntos al agente.

measure: Nombre de la medida de desempeño.

actions: Cantidad de acciones a acreditar (se multiplica con la medida).

UC_GM_LoadActions
let response = await UC_GM_LoadActions("nombreMedida", 100);
return response;

UC_openForm

(name, ctiObj)

Abre nuevo formulario

name: Nombre del formulario

ctiObj: Null o Objeto CTI

UC_openForm("nombreForm",null)

UC_Encrypt

text: Texto para encryptar

Encripta el texto que recibe por parámetro y devuelve un objeto. El objeto se puede guardar para decriptar mas tarde u obtener el valor para
guardar en una base por ejemplo

let test = UC_Encrypt('text to encrypt or whatever')
console.log(test.toString()) // result is: "+VZ5lGWZ0DAONrcnP3MkEFGfpgP/LSPqhUDU4aXfY6U="
 
//Decrypt
UC_Decrypt('+VZ5lGWZ0DAONrcnP3MkEFGfpgP/LSPqhUDU4aXfY6U=')
UC_Decrypt(test)
//this expressions will give you the same result: "text to encrypt or whatever"

UD_Decrypt

text: Texto para decriptar

Decripta el texto o el objeto recibo por parámetro y devuelve un string con el resultado

UC_Add_Blacklist

Agrega un contacto a la blacklist

Recibe: Objeto Json con los datos del contacto a agregar a la blacklist, callback.

let my_object = {"name":'name', "campaign":"hello", "username": "username", "phone": "phonenumber", "company": "Integra", "job_title": "Developer", "name": "name", "expire_date": "2023-12-05"}
UC_Add_Blacklist(my_object, callback)

UC_Add_Blacklist_async

Agrega un contacto a la blacklist

Recibe: Objeto Json con los datos del contacto a agregar a la blacklist.

let my_object = {"name":'name', "campaign":"hello", "username": "username", "phone": "phonenumber", "company": "Integra", "job_title": "Developer", "name": "name", "expire_date": "2023-12-05"}
UC_Add_Blacklist_async(my_object)

UC_Remove_Blacklist

Elimina un contacto de la blacklist.

Recibe: Objeto Json con los datos del contacto a agregar a la blacklist, callback.

let my_object = {"name":'name', "campaign":"hello", "username": "username", "phone": "phonenumber", "company": "Integra", "job_title": "Developer", "name": "name"}
UC_Remove_Blacklist(my_object, callback)

UC_Remove_Blacklist_async

Elimina un contacto de la blacklist.

Recibe: Objeto Json con los datos del contacto a agregar a la blacklist.

let my_object = {"name":'name', "campaign":"hello", "username": "username", "phone": "phonenumber", "company": "Integra", "job_title": "Developer", "name": "name"}
UC_Remove_Blacklist_async(my_object)

UC_RemoveContactDialer

UC_RemoveContactDialer_async

Elimina un contacto para un discador de una campana

Recibe: Campaña y numero 

Si * es el valor de la campaña, el sistema eliminará el contacto para todas las campañas

Ejemplo de uso: 

UC_RemoveContactDialer('campana', '36472974932')

UC_RemoveContactDialer('*', '36472974932')

UC_RemoveContactScheduler

UC_RemoveContactScheduler_async

Elimina un contacto para el scheduler de una campana

Recibe: Campaña y numero 

Si * es el valor de la campaña, el sistema eliminará el contacto para todas las campañas

Ejemplo: 

UC_RemoveContactScheduler('campana', '36472974932')

UC_RemoveContactScheduler('*', '36472974932')

UC_UploadBase

Sube base a call spool

campaign: Nombre de campaña

name: Nombre de lista

list: Array[] de objetos{}

callback (opcional): funcion que recibe como respuesta el resultado de la operacion 

Ejemplo de array List:

var lista=[{campaign:"Pruebas<-",destination:"099111111",data:"variable1=val1:variable2=val2",alternatives:"099222222:099333333",priority:"9999",agent:"Agente1"},{campaign:"Pruebas<-",destination:"213123",data:"variable1=val1",alternatives:"213213:123123",priority:"1233"}]Ejemplo de uso:

UC_UploadBase("Campaña←","NombreListaASubir",arrayLista,funcionDeCallback)

UC_DispositionCall

Tipifica llamadas de marcador.

Guarda la gestión, taggea la llamada con l1 | l2 | l3, realiza las acciones que correspondan a cada tipificación,
acredita los puntos de gamification al agente. 

Las acciones podrán ser: Respool, RespoolAlternative, Reschedule, Blacklist y NoAction.

Parámetros de la función:

campaign: Campaña a la cual pertenece la llamada

callerid: Número de contacto del cliente

agent: Agente que atendió la llamada

Guid: Identificador único de llamada

l1: Tipificación de nivel 1

l2: Tipificación de nivel 2

l3: Tipificación de nivel 3

d1: Datos adicionales 1

d2: Datos adicionales 2

comment: Comentarios de la tipificacion

schedule: Fecha utilizada para reschedule si corresponde

actionAmount (Opcional, por defecto 1): Valor por el cual se multiplica en caso de existir la medida de la tipificación para Gamification. 

UC_DispositionCall( 'campaign', 'callerid', 'guid', 'l1', 'l2', 'l3', 'd1', 'd2', 'comment', moment().format('YYYY-MM-DD HH:mm:ss'), "2",(r) => console.log(r))

Ejemplo de uso:

UC_DispositionCall( 'CobrosPredictive<-', '099758071', 'ed5c2b3c-8ab5-4abd-b5f6-46621e82ec79', 'reschedule', '', '', 'd1', 'd2',
'comment', moment().format('YYYY-MM-DD HH:mm:ss'), "2",(r) => console.log(r))

UC_GenerateExampleCSV

Función que descarga un archivo csv, se utiliza para los archivos que dan cuenta del formato de la subida de csv de archivos.

textToWrite: Texto que se quiere dar de ejemplo en el archivo csv.

idbtnCSV: Identificador del botón. El mismo se debe escribir entre '', ejemplo 'idBoton'.


El botón al cual estamos llamando en la función tiene que ser del tipo <a>, ya que la etiqueta <a> permite el href que es lo que se utiliza en la función,
no así el <button>. Ejemplo de botón con la etiqueta <a> :

<a id="btnBuscar" class="btn btn-primary" style="width: 100%;height: 100%;color:white;padding:0px;background-color: rgba(0, 0, 0, 0.3);" name="btnBuscar">
       <span data-fa="fa"></span>
       <span class="btnText">Buscar</span>
</a>

Ejemplo de uso:

UC_GenerateExampleCSV('ExampleEmailCamp;email;value1;value2;value3;NOACTION','btnBuscar');

UC_uploadEmailBase async

Función que sube una lista de email en formato .csv

Ejemplo
let uploadResponse= await UC_uploadEmailBase("NombreDeDiscador","Asunto",archivoTipoFile,"NombreDeArchivo");
UC_MuteRecording

Estructura (valor)

Se encarga de mutear o desmutear, dependiendo del valor pasado por parametro, la grabación.

Valor: 0 ó 1, con 1 se mutea y con 0 se desmutea.

UC_StartRecording

Estructura (ruta_completa, callback)


Inicia un nuevo mix monitor en el canal, además del principal.


Callback: contiene el id del mixmonitor que se desea pausar.


Ruta_completa: ubacación y nombre del archivo .gms que va a crear el mix monitor.

UC_StopRecording

Estructura (idMix)


Termina el mix monitor que fue previamente creado con la función UC_StartRecording


idMix: se obtiene de la respuesta de UC_StartRecording

UC_getCurrentCallInfo

Se obtiene el estado de la llamada actual del teléfono del portal. Si no se esta en llamada, la propiedad isInCall será false

Ejemplo
{
	"isInCall":true,
	"startDate":"2019-11-21T19:46:38.833Z",
	"callerIdNum":"12343434",
	"inbound":false,
	"guid":"7dbaab4e-4d10-460f-a5e6-787c49351006",
	"campaign":"Hola->"
}
parent.quitWrapUp()
Función encargada de finalizar el tiempo de wrap up del agent.
UC_ExecScript_async

Ejecuta un comando en el servidor de aplicaciones

Parametros

command: comando tal cual se ejecutaría en la consola

Ejemplo de uso


Ejemplo
let value = await UC_ExecPythonScript_async('python /etc/IntegraServer/scripts/test.py');
UC_addListener

CallEvents:

Son funciones que ejecuta el portal para realizar acciones según ciertos eventos de llamadas. Las funciones que se quieren ejecutar se deben enviar por parámetros junto al nombre del evento, solo el formulario activo recibirá el evento al momento de ejecutarse.

Los eventos disponibles son:

  • finishWrapUp
  • startWrapUp
  • onHangUp
  • onSpeaking

Ejemplo de uso desde un formulario para el evento onHangUp

Ejemplo
UC_addListener("onHangUp",function(){
	console.log('Your actions here!!');
});

Cuando un formulario se cierre automáticamente el sistema eliminara los eventos configurados para la ultima llamada de voz realizada. Se recomienda que los agentes mantengan un solo formulario abierto en caso de que se usen estos eventos.

WebSocketsEvents:

Son funciones que ejecuta el portal para realizar acciones según los eventos de conexión de websockets. Las funciones que se quieren ejecutar se deben enviar por parámetros junto al nombre del evento, todos los formularios abiertos recibirán el evento al momento de ejecutarse.

Los eventos disponibles son:

  • websocketError
  • websocketOpen
  • websocketClose


UC_addListener("websocketError",function(e) {   
	console.log('Error connecting websocket');
	console.log(e);
});


Cuando un formulario se cierre se eliminaran las funciones agregadas para los eventos de WebSocket.


AgentEvents:

Son funciones que ejecuta el portal para realizar acciones según ciertos eventos en torno al agente. Las funciones que se quieren ejecutar se deben enviar por parámetros junto al nombre del evento, todos los formularios abiertos recibirán el evento al momento de ejecutarse.

Los eventos disponibles son:

  • onRinging
  • onBreakChange


El evento onRinging es ejectuado cuando el teléfono del agente está ringeando, ya sea por una llamada entrante o saliente.

Ejemplo de uso desde un formulario para el evento onRinging

UC_addListener("onRinging",function(data) {
	console.log(data); 
});

Ejemplo de respuesta para onRinging en llamadas entrantes

{
"callerIdNum": "192392133321",
"callerIdName": "testuContact<-",
"direction": "incoming"
}

Ejemplo de respuesta para onRinging en llamadas salientes

{ 
"callerIdNum": "213123213", 
"callerIdName": "", 
"direction": "outgoing", 
"guid": "692f9724-e044-4916-b644-e85066bee8d7", 
"campaign": "testuContact->" 
}


El evento onBreakChange es ejectuado cuando el estado de break del agente cambia, el evento devuelve dos propiedades:
"isInBreak" → True si el agente entró en este estado de break, false si acaba de finalizar el break.
"break" → Nombre del break en el que entró o del que salió el agente.

Ejemplo de uso desde un formulario para el evento onBreakChange

UC_addListener("onBreakChange",function(data) {
	console.log(data); 
});

Integra Framework#UC_ImportFilesModal

Esta funcion permite desplegar el modal de importación de listas, con los siguientes parametros:

  • Nombre de la tabla destino: String
  • Columnas de la tabla: Array de Objetos con las siguientes propiedades:
    • name: Nombre de la columna (Obligatorio)
    • nameShow: Nombre de la columna a mostrar en las opciones del combobox (Obligatorio)
    • replace: Función para remplazar el valor recibido (Opcional)
    • validation: Función para validar el valor recibido (Opcional)
    • required: true en caso de que sea obligatorio (Opcional)
  • Tamaño máximo del archivo (bytes): Integer (Opcional: null)
  • Callback: String - Nombre de la función, parametros de retorno:
    • filename: Nombre del archivo.
    • rows: Cantidad de registros.
    • columns: Objecto con las columnas seleccionadas del archivo y las correspondientes a la tabla.
    • result: Resultado del servidor, "1" cargado correctamente, "2" se produjo un error.

Ejemplo
UC_ImportFilesModal("personas", [
        {
            name: "FirstName",
            nameShow: "Nombre",
            replace: function (e) {
                //Remplazo por la primera letra en mayúscula y las demás en minúscula
                return e.toLowerCase().replace(/\b\w/g, c => c.toUpperCase())
            },
            validation: function (e) {
                return (e && e.trim() !== "") || "El Apellido no puede estar vacío";
            },
			required: true,
        },
        {
            name: "LastName",
            nameShow: "Apellido",
            replace: function (e) {
                //Remplazo por la primera letra en mayúscula y las demás en minúscula
                return e.toLowerCase().replace(/\b\w/g, c => c.toUpperCase())
            },
            validation: function (e) {
                return (e && e.trim() !== "") || "El Apellido no puede estar vacío";
            }
        },
        {
            name: "Age",
            nameShow: "Edad",
            validation: function (e) {
                return (e && e > 20) || "La edad debe ser mayor a 20"
            },
        }
    ], 500000, 'finishUpload');

function finishUpload(filename, rows, columns, result){
    if(result == "1"){
        notification("Exito", "Subido exitosamente", "fa fa-check", "success")
    } else {
        notification("Error", "Hubo un error al subir", "fa fa-times", "danger")
    }
}