Come TVox Call Bar dialoga con altri componenti in Salesforce

Estimated reading: 3 minutes 736 views

Nel progettare questo plugin, abbiamo tenuto conto della necessità che possa integrarsi con altri componenti di Salesforce, facilitando lo scambio di specifici message channels.

callInfo

La barra può notificare ad altri componenti informazioni relative ad ogni singola chiamata. In particolare, con callInfo è possibile notificare i seguenti casi:

  • newcall: Nuova chiamata
  • ended: Chiamata terminata
  • accepted: Chiamata risposta
  • connecting: Chiamata in connessione
  • hold: Chiamata messa in hold
  • unhold: Chiamata rimossa da hold
  • updated_contact: Contatto aggiornato nelle informazioni di lookup della chiamata
  • ended_trasnferred: Chiamata trasferita

Ecco un esempio:

				
					/**
* Oggetto principale che contiene il valore emesso
*/
interface CallEvent {
	/**
	* Id dell'evento nel formato <call_id>__<counter>
	* Esempio: 1709713005.21__0, 1709713005.21__1, ...
	*/
  id: string;
	eventName: 'newcall' | 'ended' | 'accepted' | 'connecting' | 
		'hold' | 'unhold' | 'updated_contact' | 'ended_transferred';
  callInfo: CallInfo; 
}


interface CallInfo {
	// Identificativo univoco della chiamata
  callId: string;
	// Direzione di chiamata
  direction: 'inbound' | 'outbound';
	// Informazioni di contatto
  lookup: Lookup;
	// Stringa settata dall’IVR dove memorizzare informazioni
  callData: string;
	// Durata in secondi della chiamata, disponibile solo al termine
  duration: number;
	// Servizio TVox dove è stata effettauta la chiamata
  service: Service;
	// Data e ora di inizio
  startTime: Date;
	// Data e ora di fine, disponibile solo al termine
  endTime: Date;
	// Skillset TVox associato all'agente che sta gestendo la chiamata
  skillsetCode: string;
	// ID della chiamata SIP
  sipCallId: string;
	// ID campagna relativo alla chiamata outbound
  campaignId: string;
	// ID lista campagna relativo alla chiamata outbound
  listId: string;
	// informazioni recuperate da IVR
  popupInfo: Map<string sting>;
	// Settata dall’ IVR per aggiungere un’informazione al nome del servizio
  ivrLabel: string;
	// URL per la registrazione della chiamata (in roadmap)
  callRecUrl: string;
  // Durata dell'attesa in coda
  queueDuration: number;
  // Tempo passato all'interno dell'ivr prima della chiamata
  ivrDuration: number;
}

/**
* Interfaccia relativa al servizio nel quale è stata effettuata la chiamata
*/
interface Service {
	// Codice del servizio
	code: string; 
	// Nome del servizio 
	description: string
}

/**
* Interfaccia relativa al contatto presente nella rubrica di TVox
*/
interface Lookup {
	// Nome e/o cognome del contatto
  name: string;
	// Numero telefonico del contatto
  number: string;
	// Tipologia del contatto
  type: AddressBookContactType;
}

enum AddressBookContactType {
    // Utente interno
    USER = "USER",
    // Servizio
    SERVICE = "SERVICE",
    // Codice di servizio
    SERVICE_CODE = "SERVICE_CODE",
    // Contatto esterno
    EXTERNAL = "EXTERNAL",
    // Contatto di rubrica personale
    PERSONAL_ITEM = "PERSONAL_ITEM",
    // Contatto senza lookup
    UNKNOWN = "UNKNOWN",
    // Errore nella lookup
    ERROR = "ERROR",
    // Contatto anonimo
    ANONYMOUS = "ANONYMOUS",
}</string></counter></call_id>
				
			

callInfoResponse

Questo è un messaggio di risposta monitorato dalla call bar, utilizzato per eseguire operazioni specifiche sulle chiamate, come ad esempio un setCallData.

Questo avviene quando viene ricevuto un evento con eventName pari a CaseCreato, che include il campo caseId contenente l’ID del case creato su Salesforce da associare alla chiamata.

				
					/**
* Oggetto principale che contiene il valore emesso
*/
interface CallInfoResponseEvent {
	// Valore corrispondente ad un call id
	id: string;
	// Dettagli dell'evento
	details: CallInfoResponseDetails;
}

interface CallInfoResponseDetails {
	// Identificativo dell'operazione eseguita
	eventName: 'CaseCreato' | string;
	// Campi aggiuntivi
	[key: string]: string;
}
				
			

agentStatus

Questo messaggio può essere inviato in caso di modifica dello stato di un profilo agente o di assegnazione di un codice attività. Include anche il campo lastCallId, che riporta l’ID dell’ultima chiamata effettuata o ricevuta (valido fino al refresh della pagina).

				
					/**
* Oggetto principale che contiene il valore emesso
*/
interface AgentStatusEvent {
	// Stato dell'agente
  status: UserStatus;
  // Valore opzionale contenente il codice dell'activity code
  activityCode: string,
  // Valore opzionale contenente il codice dell'activity code di secondo livello
  activityCodeLevel2: string,
  // Valore opzionale contenente il codice di servizio o la nota dell'activity code
  activityCodeNote: string;
  // Valore contenente l'id dell'ultima chiamata ricevuta o effettuata
  lastCallId: String;
}

enum UserStatus {	
	// Prenotato
  BOOKED = "BOOKED",
  // Occupato
  BUSY = "BUSY",
  // Non loggato
  NOTLOGGED = "NOTLOGGED",
  // Non pronto
  NR = "NR",
  // Occupato e non pronto
  NR_BUSY = "NR_BUSY",
  // Pronto
  READY = "READY",
  // In attesa
  WNR = "WNR",
}
				
			
Condividi documento

Come TVox Call Bar dialoga con altri componenti in Salesforce

Oppure copia il link

Contenuti

Prenota la tua demo!

Compila il form

Prenota la tua demo!

Compila il form

Prenota la tua demo!​

Compila il form

Subscribe

×
Cancel