Versions Compared

Key

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

API CTI  – Shuttle 2.4.0 onwards

...

Code Block
languagejs
titleData sample
{ 
	event: 'up',
	queue: 'CC-SIPP',
	agentname: 'John Doe',
	agentnum: '1007',
	peer: 'SIP/john.doe',
	direction: 'inbound',
	uniqueid: '1437069264.914',
	context: 'from-sip',
	extension: '9999',
	trunk: 'SIP/demo.trunk-00000392',
	callernum: '998',
	holdtime: '2',
	ringtime: '0',
	up: true 
}


Event Hang Up

...

The hang up event is dispatched following an hangup event on an agent for a queue call

Code Block
languagejs
event.hangup = function(data) {
  console.log('hangup');
  wakeup('http://www.google.it', data.peer, 'new_tab');
};


This is the data sample for hangup event

Code Block
languagejs
titleData sample
{ 
	
}


Event Outbound

...

The outbound event is dispatched following the initiation of an outbound call by the agent

Code Block
languagejs
event.outbound = function(data) {
  console.log('outbound');
  wakeup('http://www.zendesk.it', data.peer, 'new_window');
};


This is the data sample for outbound event

Code Block
languagejs
titleData sample
{ 
	
}


Open CTI to an Agent

...

bgColor#E6E6FA

...

The wakeup method is used to request the agent to open a web page

Code Block
languagejs
var wakeup = function(url, peer, mode) {

  socket.emit('AgentCTI', {
    url: url,
    peer: peer,
    mode: mode
  });
};

...

Push a notification to the Agent

The notification method is used to send a notification to the agent


Panel
bgColor#E6E6FA
var notification = function(peer, type, title, body) {
  socket.emit('AgentCTINotification', {
    peer: peer,
    type: type,
    title: title,
    body: body
  });
};

...

Push the event into the Integration Realtime section of the Administrator

These data will populate the following section of xCALLY Realtime:


Panel
bgColor#E6E6FA
var pushevent = function(appname, data, reference, url) {
  data.time = new Date();
  socket.emit('RealtimeCTI', {
    type: appname,
    channel: data,
    reference: reference,
    url: url
  });
};


where
appname: name of the Integration
data: object containing information about the call
reference:  CTI creation id
url: the address of the CTI


Example

 

For each event you can define which action you want the integration to perform.

 

In this example we associate to the UP event the CTI opening to an Agent, if the call belongs to the Sales Queue.

 

We also pass to the Agent a custom variable called ordernumber that we have created into the Shuttle -> Settings -> Integrations -> Custom variables section.

...