Versions Compared

Key

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

Note. User Documentation can be found at https://invade.atlassian.net/l/c/w1uPL6YA

Integration

Transfer widget is created a web component meaning as long as you have the library (app-session-controller.js) in the script section of html i.e.

...

Code Block
initiator={predefined agent name}
target={predefined target agent name}
catiapiurl={url to Invade's cati api (provided by Invade)} 
catiapisocketurl={url to Invade's cati api for socket connections (provided by Invade)} 
catiapisocketpath={socket connection path (provided by Invade)}
diallerapiurl={url to Invade's dialler api (provided by Invade)}

Look and feel

When no “Initiator” & “New target” is not set

...

In order to complete the transfer “Complete” button needs to be clicked.

...

Getting state

<app-session-controller> has real time attributes reflecting transfer states. Those attributes are:

...

Code Block
	<label id="state"></label>
	<label id="primaryState"></label>
	<label id="secondaryState"></label>

	setInterval(function() {
		const sessContrl = document.querySelector('#session-controller');
		document.getElementById('state').innerHTML = sessContrl.getAttribute('xferstate');
		document.getElementById('primaryState').innerHTML = sessContrl.getAttribute('xferprimarystate');
		document.getElementById('secondaryState').innerHTML = sessContrl.getAttribute('xfersecondarystate');
	}, 1000);

Requesting agent list refresh

<app-session-controller> can be controlled using external code by referencing the tag.

...

Code Block
    <button id="getAgentsBtn" onclick="getAgentsFunc()">getAgents</button>

	function getAgentsFunc() {
		const sessContrl = document.querySelector('#session-controller');
		sessContrl.getAgents = "all";
	}

Requesting state change

<app-session-controller> can be controlled using external code by referencing the tag.

...