Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Vea las diferentes posibilidades que le brinda nuestra API para integrar a uContact con sistemas externos.

Info

Para poder usar la API se necesita.

  1. Autenticarse y obtener un token para la sesión.

  2. Usar el token en el Header Authorization.

  3. Finalizar sesión.

Tip

Se recomienda crear un usuario que sea exclusivamente para utilizar con la API de uContact.



En primer lugar, debemos obtener APIkey. Para ello utilizamos el servicio getUserToken con un usuario y contraseña de SuperUser válidos.

Servicio getUserToken

Code Block
https://dominio.ucontactcloud.com/Integra/resources/auth/getUserToken
Método: POST
content-type:application/x-www-form-urlencoded; charset=UTF-8
Parámetros: user
            password
Resultado: JSON

Supervisor sin teléfono

Al final de la lista

Code Block
[ ...
    "QWRtaW46OTgzNWM1MjUtMzU2Ny00YjgyLWEwYWYtY2NkMjNlMDhjNzA3"
]

Si es Error Respuesta 0

Código de ejemplo para jQuery

Code Block
$.ajax({
  type: 'POST', 
  url: 'https://dominio.ucontactcloud.com/Integra/resources/auth/getUserToken',
  contentType: 'application/x-www-form-urlencoded; charset=UTF-8',
  dataType: 'text',
  data: {
    user: 'ExampleUsername',
    password: 'ExamplePassword'
  },
  success: (resp) => {},
  error: (resp) => {}
});

Una vez que tiene su token de inicio de sesión,
pasaremos a ver como utilizarlo en las consultas a la API:

  • Se puede configurar jQuery para que use el token en cada petición.

  • Si no, se puede especificar en los headers en cada petición que se haga.

Ejemplo de configuración de jQuery

Code Block
$.ajaxSetup({
  headers: {
    'Authorization': "Basic " + APIKey
  }
});

Ejemplo de token en headers de peticiones

Code Block
$.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) => {}
});

Luego de utilizar la API es necesario finalizar la sesión.
De esta manera evitaremos problemas de seguridad inhabilitando el token generado en el login del inicio.

Método

Code Block
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

Code Block
$.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

Note
  • 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:

Code Block
languagejs
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:

Code Block
languagejs
let dataDisp = {
	 campaign: 'CampañaTest',
	 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}, '*');

Creación de tokens

Los usuarios con rol "SuperUsuario" en uContact tienen la funcionalidad de crear tokens para ser utilizados fuera de la aplicación. Para crear un token seguir los siguientes pasos:

  1. Acceder al menú de usuario.

  2. Seleccionar la opción de "API tokens" en el menu desplegado y se abrirá un modal para su creación.

    Image RemovedImage Added

  3. Ingresar el nombre con el que quiere identificar el token y haga clic en el botón "Agregar" para crear un nuevo token.

    Image RemovedImage Added

  4. Una vez que se ha creado un token en uContact, los “SuperUsuario” tienen la posibilidad de compartirlo con otros usuarios. Para hacerlo, es necesario hacer clic en el icono dedel clip. De esta manera, el token se copiará automáticamente en el portapapeles y podrá ser enviado a cualquier persona con la que se desee compartir.


Links de interés

Colección de postman para el inicio y cierre de sesión.

View file
nameAPI Security.postman_collection.json