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.

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.

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.


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")
    }
}