Versions Compared

Key

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

See the different possibilities that our API offers you to integrate uContact with external systems.

Info

In order to use the API you need:

  1. Authenticate and get a token for the session.

  2. Use the token in the Authorization Header.

  3. Log out.

Tip

It is recommended to create a user that is exclusively to use with the uContact API.


Image RemovedImage Added

API Omnichannel

Image RemovedImage Added

API Telephony

Image RemovedImage Added

API Other Actions

Image RemovedImage Added

API Gamification

Image RemovedImage Added

DataBases

Image RemovedImage Added

Examples


Foremost, we need to get APIkey. For this, we use the getUserToken service with a valid SuperUser username and password.

getUserToken Service

Code Block
https://dominio.ucontactcloud.com/Integra/resources/auth/getUserToken
Method: POST
content-type:application/x-www-form-urlencoded; charset=UTF-8
Parameters: user
            password
Answer: JSON

Supervisor without phone

At the end of the list

Code Block
[ ...
    "QWRtaW46OTgzNWM1MjUtMzU2Ny00YjgyLWEwYWYtY2NkMjNlMDhjNzA3"
]

If it is Error Answer 0

Example code for jQuery

Code Block
$.ajax({
  type: 'POST', 
  url: 'https://domain.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) => {}
});

Once you have your login token, let's move on to how to use it in API queries:

  • jQuery can be configured to use the token on every request.

  • If not, it can be specified in the headers in each request that is made.

jQuery configuration example

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

Token example in request headers

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) => {}
});

After using the API, it is necessary to end the session. In this way, we will avoid security problems by disabling the token generated at the start login.

Method

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

Example code for jQuery

Code Block
$.ajax({
    type: 'POST',
    url: 'https://domain.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) => {}
});

Relevant information

Note
  • All WebServices are REST type.

  • uContact uses https by default (http2).

CrossDomain Connection

With the Windows proxy, we can handle events of an iframe inserted in a form, to be able to do dispositions, hang up the call, close the form, or whatever you want, for example. To do this, no plugin is needed.

Previous steps

In the form you must put:

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 can be used to identify what type the action is.

And the disposition attribute is used as an object to send more information.

How to invoke it?

The way to invoke it is:

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}, '*');

You may also be interested in:


Upload dialer base

Image RemovedImage Added


Webcallback

Image RemovedImage Added


Recordings


Postman collection for the Login and Logoff.

View file
nameAPI Security.postman_collection.json