Vea las diferentes posibilidades que le brinda nuestra API para integrar a uContact con sistemas externos.
Servicio UserLogin
https://dominio.ucontactcloud.com/Integra/resources/auth/UserLogin Método: POST content-type:application/x-www-form-urlencoded; charset=UTF-8 Parámetros: user password Resultado: JSON
Supervisor con teléfono
Md5secret es la APIKey
[ ... { .... "md5secret": "Q2FyaW5hOjI3YzdjNWM5LTkzYzQtNDYyMi1iYzg2LTlkMmNkMGVjNWEzMA==", .... } ]
Supervisor sin teléfono
Al final de la lista
[ ... "QWRtaW46OTgzNWM1MjUtMzU2Ny00YjgyLWEwYWYtY2NkMjNlMDhjNzA3" ] Si es Error Respuesta 0
Código de ejemplo para jQuery
$.ajax({ type: 'POST', url: 'https://dominio.ucontactcloud.com/Integra/resources/auth/UserLogin', contentType: 'application/x-www-form-urlencoded; charset=UTF-8', dataType: 'text', data: { user: 'ExampleUsername', password: 'ExamplePassword' }, success: (resp) => {}, error: (resp) => {} });
Ejemplo de configuración de jQuery
$.ajaxSetup({ headers: { 'Authorization': "Basic " + APIKey } });
Ejemplo de token en headers de peticiones
$.ajax({ type: 'POST', url: 'https://dominio.ucontactcloud.com/Integra/resources/any/request', contentType: 'application/x-www-form-urlencoded; charset=UTF-8', dataType: 'text', headers:{ 'Authorization': 'Basic <APIKey>' }, data: { param1: 'exampleParam1', param2: 'exampleParam2' }, success: (resp) => {}, error: (resp) => {} });
Método
https://dominio.ucontactcloud.com/Integra/resources/auth/EndSession Method: POST content-type:application/x-www-form-urlencoded; charset=UTF-8 Params: user token Result: 1 OK 0 ERROR
Código de ejemplo para jQuery
$.ajax({ type: 'POST', url: 'https://dominio.ucontactcloud.com/Integra/resources/auth/EndSession', contentType: 'application/x-www-form-urlencoded; charset=UTF-8', dataType: 'text', headers:{ 'Authorization': 'Basic <APIKey>' }, data: { user: 'ExampleUser', token: '<token>' }, success: (resp) => {}, error: (resp) => {} });
Información relevante
Todos los WebServices son de tipo REST
uContact usa https por defecto (http2)
Conexión CrossDomain
Con el Windows proxy podemos manejar eventos de un iframe insertado en un formulario, para poder por ejemplo hacer tipificaciones, colgar la llamada, cerrar el formulario o cualquier cosa que se desee.
Para realizar esto no se necesita ningún plugin.
Pasos previos
En el formulario se debe poner:
window.addEventListener('message', event => { if (event.data.action === 'CLOSE_TAB') { parent.closeActiveTab(); } else if (event.data.action === 'DISPOSITION_CALL') { let dataDisp = event.data.disposition; UC_DispositionCall(dataDisp.campaign, dataDisp.callerid, dataDisp.guid, dataDisp.l1, dataDisp.l2, dataDisp.l3, dataDisp.d1, dataDisp.d2, dataDisp.comment, dataDisp.schedule, callbackDiposition, errorDiposition); } });
event.data se puede usar para identificar de qué tipo es la acción.
Y el atributo disposition se usa como un objeto para mandar más información.
¿Cómo invocarlo?
La manera de invocarlo es:
let dataDisp = { campaign: 'CampanaTest', callerid: '123456Test', guid:'3123-3123-3123-312-3123', l1:'nivel1', l2:'nivel2', l3:'nivel3', d1:'data1', d2:'data2', comment:'ComentarioTest', schedule:'2019-05-04 15:55:55' }; window.parent.postMessage({ action: 'DISPOSITION_CALL', disposition:dataDisp}, '*');