Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 19 Next »

Convenzioni

Di seguito le convenzioni utilizzate nella descrizione delle funzioni.

  • nome_parametro: descrizione breve del parametro obbligatorio

  • <nome_parametro>: descrizione breve del parametro opzionale

  • ContactID: ID del contatto (telefonico/chat/multimediale). Identifica in modo univoco ciascun contatto in gestione sulla postazione operatore.

Gestione Contatto

Funzione

Descrizione

AGENTDESKTOP.CONTACT.MakeCall

String DestinationNumber, String <ResourceType>, String <ServiceID>, String <CallProfileID>, String <CallData>

Effettua una chiamata telefonica. E' possibile specificare i seguenti parametri aggiuntivi:

  • ServiceID: identificativo del servizio di chiamata da utilizzare.

  • CallProfileID: identificativo del profilo di chiamata da utilizzare.

  • CallData: eventuali variabili di CallData separate da “;”. Esempio “A=1;B=2”

AGENTDESKTOP.CONTACT.Hangup

String <ContactID>

Conclude la fase online di un contatto telefonico o chat terminando la conversazione in corso.

AGENTDESKTOP.CONTACT.HangupByContactID

String ContactID

Conclude la fase online del contatto avente come identificativo il valore del parametro "ContactID"

AGENTDESKTOP.CONTACT.Hold

String ContactID

Mette o riprende dallo stato di attesa una chiamata telefonica.

AGENTDESKTOP.CONTACT.Answer

String ContactID

Risponde ad un contatto in ingresso/fase di accettazione sulla postazione operatore.

AGENTDESKTOP.CONTACT.OfflineEnd

String ContactID

Esce dallo stato offline (After Call Work) di un contatto e termina la fase di gestione del contatto stesso.

AGENTDESKTOP.CONTACT.SetCallData

String ContactID, String CallData

Imposta una variabile di CallData associata al contatto. Le variabili di CallData consentono di memorizzare sul singolo contatto dei dati personalizzati nel formato chiave=valore.

AGENTDESKTOP.CONTACT.SetCallData("2d-5e5fbc28@B2BUAEP.enghouse.com", "CUSTOMERID=12345");

AGENTDESKTOP.CONTACT.StartRecording

String ContactID, String <CallRecorders>, String <CallData>, String <Message>

Richiede la registrazione della  chiamata telefonica. E' possibile specificare l'identificativo di un Registratore configurato sul sistema CTI o un eventuale identificativo di un messaggio da riprodurre in concomitanza della registrazione. Il messaggio deve essere preventivamente configurato sul sistema ContaCT.

AGENTDESKTOP.CONTACT.StopRecording

String ContactID, String <CallRecorders>

Interrompe la registrazione in corso della chiamata telefonica.

AGENTDESKTOP.CONTACT.PlayDTMF

String DTMF

Riproduce uno o più toni DTMF sulla chiamata in corso.

AGENTDESKTOP.CONTACT.PlayDTMF("1#");

AGENTDESKTOP.CONTACT.Transfer_Direct

String ContactID, String Destination, String ResourceType, String CallData

Richiede il trasferimento diretto di una telefonata. Come destinazione del trasferimento è possibile specificare una delle seguenti tipologie di risorsa:

Destination:

  • Numerazione uscente

  • Identificativo di un operatore loggato. Il parametro ResourceType dovrà essere necessariamente specificato.

  • Identificativo di un altro interno presente sul sistema CTI. Il parametro ResourceType dovrà essere necessariamente specificato.

  • Identificativo di un Servizio configurato ed attivo sul sistema CTI. Il parametro ResourceType dovrà essere necessariamente specificato.

ResourceType:

  • "" (stringa vuota oppure parametro omesso): il parametro Destination conterrà un numero di telefono:
    AGENTDESKTOP.CONTACT.Transfer_Direct("2d-5e5fbc28@B2BUAEP.enghouse.com", "0227070001");

  • 1.3.6 (Agent) : il parametro Destination conterrà un identificativo di un operatore:
    AGENTDESKTOP.CONTACT.Transfer_Direct("2d-5e5fbc28@B2BUAEP.enghouse.com", "agent1@acd.enghouse.com", "1.3.6")

  • 1.3.1 (Interni) : il parametro Destination conterrà l'identificativo di un interno in uso da parte di un operatore:
    AGENTDESKTOP.CONTACT.Transfer_Direct("2d-5e5fbc28@B2BUAEP.enghouse.com", "80102@B2BUAEP.enghouse.com", "1.3.1")

  • 1.3.10 (Servizi): il parametro Destination conterrà l'identificativo di un servizo configurato sul sistema Contact:
    AGENTDESKTOP.CONTACT.Transfer_Direct("2d-5e5fbc28@B2BUAEP.enghouse.com", "SURVEY@sm.enghouse.com", "1.3.10")

CallData: eventuale CallData da valorizzare prima di eseguire il trasferimento

AGENTDESKTOP.CONTACT.Transfer_Consultation

String ContactID, String DestinationNumber, String ResourceType, String CallProfileID, String CallData

Richiede il trasferimento con consultazione di una telefonata. La telefonata del cliente in linea verrà messa in attesa e l'operatore verrà automaticamente rediretto verso la chiamata di consultazione con la numerazione specificata nel parametro DestinationNumber.

CallProfileID: identificativo di un profilo di chiamata configurato sul sistema CTI

CallData: eventuale CallData aggiuntivo che deve essere creato al momento del trasferimento.

AGENTDESKTOP.CONTACT.Transfer_Complete

String ResourceType, String <CallData>

Viene richiesto il completamento della chiamata di consultazione ed il trasferimento della telefonata verso il destinatario della consultazione.

AGENTDESKTOP.CONTACT.Transfer_Complete_Conference

String ResourceType

Viene richiesto il completamento della chiamata di consultazione mediante la instaurazione di una conference a tre partecipanti: cliente in linea, operatore che ha gestito la telefonata e destinatario della consultazione.

AGENTDESKTOP.CONTACT.PlayMessage

String value, String <bundle>, String <prefetch>

Avvia la riproduzione di un messaggio o di un un bundle oppure effettua il prefetch di un bundle.

Al fine di potere fare la play delle sequenze di messaggi e pause richieste, è stato introdotto il concetto di “bundle” che non è altro che un identificativo univoco che rappresenta la sequenza da riprodurre.

  • value: indica l’identificativo di singolo messaggio (slegato dalla logica di gestione dei bundle) oppure di un bundle da riprodurre

  • bundle: se TRUE l’id indicato è quello di un bundle, in caso contrario FALSE è quello di un singolo messaggio (valore predefinito FALSE)

  • prefetch: permette di effettuare solo un prefetch (cioè il download in locale sul sems) del bundle in modo da averlo già a disposizione nel momento in cui verrà richiesta la playMessage (valore predefinito FALSE)

AGENTDESKTOP.CONTACT.StopMessage

Termina la riproduzione di un messaggio o di un bundle.

AGENTDESKTOP.CONTACT.PauseMessage

String onOff

Interrompe o riprende la riproduzione di un messaggio o di un bundle; nel caso di un bundle la ripresa della riproduzione riprende dal successivo primo messaggio non di pausa della sequenza.

  • onOff: se TRUE o non specificato o non “intellegibile” significa interrompere la riproduzione, se FALSE significa riprendere la riproduzione

Gestione WIDGET

Funzione

Descrizione

AGENTDESKTOP.WIDGET.getToken

Restituisce il token ottenuto dalla login Single Sign On di EasyCIM

AGENTDESKTOP.WIDGET.getTokenOneShot

Restituisce il token OneShot ottenuto dalla login Single Sign On di EasyCIM

AGENTDESKTOP.WIDGET.getContainerID

Restituisce l'identificativo del WIDGET definito in fase di configurazione.

AGENTDESKTOP.WIDGET.bindContactCallback(javascript function)

Effettua la bind di una propria funzione javascript al fine di ricevere le notifiche sui contatti in gestione.

AGENTDESKTOP.WIDGET.unbindContactCallback(javascript function)

Effettua la unbind della vostra funzione

AGENTDESKTOP.WIDGET.bindWidgetDataCallback(function function)

Effettua la bind di una propria funzione javascript al fine di ricevere le notifiche relative alla ricezione di dati custom da parte di un altro Widget.

AGENTDESKTOP.WIDGET.unbindWidgetDataCallback(function callback)

Effettua la unbind della vostra funzione

AGENTDESKTOP.WIDGET.sendDataToWidget

String destinationWidgetID, String data

Invia dei dati custom ad un altro WIDGET identificato nel parametro destinationWidgetID (o paradossalmente anche a se stessi se si specifica il proprio ID)

E' possibile inviare anche dati strutturati come array ed oggetti anche se è fortemente raccomandato convertirli in formato stringa mediante l'utilizzo dell'istruzione JSON.stringify.

AGENTDESKTOP.WIDGET.sendDataToAllWidget

String data

Invia dei dati custom a tutti i Widget presenti in AgentDesktop, sia di primo livello sia quelli caricati all'interno di ciascun contatto nel Widget Multi-Contatto.

Alla ricezione del data sul singolo Widget verrà risvegliata la callback custom agganciata mediante il metodo AGENTDESKTOP.WIDGET.bindWidgetDataCallback

AGENTDESKTOP.WIDGET.sendDataToMultiContactWidget

String destinationMultiContactWidgetID, String data

Invia dei dati custom ad un singolo Widget caricato in una scheda o tab del Multi-Contatto.

NOTA: L'invio dei dati tra Widgets avverrà solo all'interno del contesto del singolo contatto in gestione e non potrà essere propagato cross-tab, ovverosia tra contatti differenti in gestione all'operatore.



AGENTDESKTOP.WIDGET.addCustomMenu

JSON String menu


Inserisce un menu contestuale sul TAB di selezione del proprio WIDGET. E' possibile inserire due tipologie di collegamento.

Il primo una volta cliccato andrà ad essere caricato nel frame principale del Widget sostituendo quindi il contenuto visualizzato.

Il secono andrà a visualizzare una finestra di dialogo che si posizionerà al di sopra della intrerfaccia di AgentDesktop.

Il JSON specificato nel parametro menu dovrà avere la seguente struttura:

{
  "TabMenu": [
    {
      "id": "SITO_LA_STAMPA",
      "title": "La Stampa",
      "icon": "",
      "url": "http://www.lastampa.it/"
    }, {
      "id": "SITO_THEATLANTIC",
      "title": "The Atlantic - Photo",
      "icon": "",
      "url": "http://www.theatlantic.com/photo/",
      "dialog": true,
      "dialog_width": 900,
      "dialog_height": 400
    }
  ]
}

AGENTDESKTOP.WIDGET.enableCustomMenuItem

String ItemID, boolean [true/false]

Abilita/Disabilita una singola voce di menu nel TAB di selezione del WIDGET

AGENTDESKTOP.WIDGET.LOG

String testo

Consente ad un Widget di scrivere all'interno dei log applicativi di AgentDesktop situati in %appdata%\Reitek\Contact\BrowserPlugin.

Ogni loggata sarà preceduta dal timestamp generato automaticamente e dall'identificativo del Widget che ha generato la riga di log:

30/04/2020 - 15:09:22.153 [AGENTDESKTOP_WIDGET_AGENDA] <testo>

AGENTDESKTOP.WIDGET.bindWidgetFocusCallback(function callback)

Effettua la bind di una vostra funzione al fine di notificare al Widget la selezione dell'utente e la conseguente ricezione del Focus sul proprio Tab.

AGENTDESKTOP.WIDGET.unbindWidgetFocusCallback (function callback)

Effettua la unbind della vostra funzione

AGENTDESKTOP.WIDGET.Reload(String < JumpToWidget>)

Ricarica il contenuto del Widget

AGENTDESKTOP.WIDGET.GetTimeStamp()

Restituisce stringa contenente data e ora attuale nel formato:  dd/mm/yyyy – hh:mm:ss

AGENTDESKTOP.WIDGET.getLanguage

Restituisce la lingua utilizzata in AgentDesktop. Esempio: "it", "en".

Gestione TAB

Funzione

Descrizione

AGENTDESKTOP.TAB.Badge(String Badge)

Imposta il Badge all'interno del Tab di selezione del Widget. Se il parametro stringa è vuoto il Badge viene cancellato

AGENTDESKTOP.TAB.Focus()

Sposta la selezione sul TAB del proprio Widget

AGENTDESKTOP.TAB.Home()

Sposta la selezione sul TAB di HOME di AgentDesktop

AGENTDESKTOP.TAB.Add(String ID, String Title, String URL, String Icon)

Aggiunge dinamicamente da codice un nuovo Widget di primo livello.

AGENTDESKTOP.TAB.Remove(String ID)

Rimuove il Widget il cui ID è specificato dal parametro stringa.

AGENTDESKTOP.TAB.GoTo(String ID)

Sposta la selezione sul TAB del Widget con l'ID specificato

Finestre Informative

Funzione

Descrizione

AGENTDESKTOP.ALERT.Notify(String Title, String  Text, String Icon, Integer Timeout)

Visualizza una finestra informativa specificando anche un tempo di visualizzazione.

  • Title: titolo della finestra

  • Testo: contenuto della finestra (formato HTML)

  • Icon: Icona di Font Awesome nel formato fa fa-XXX fa-2x

  • Timeout: numero di secondi di visualizzazione. 0 per tenerlo fisso sullo schermo, liberamente chiudibile dall'utente.

AGENTDESKTOP.ALERT.CustomDialog(String URL, Integer width, Integer heigth)

Apre una finestra di dialogo custom ridimensionabile e trascinabile a piacere all'interno di AD. La finestra non può essere chiusa tramite interfaccia ma mediante API dedicata.

  • URL: percorso della pagina da visualizzare come contenuto della dialog

  • width: larghezza in pixel della dialog

  • heigth: altezza in pixel della dialog

AGENTDESKTOP.ALERT.CustomDialogClose()

Chiude la finestra di dialogo custom aperta

Gestione dello Stato dell'Operatore

Funzione

Descrizione

AGENTDESKTOP.AGENT.PauseSubStateFilter(String filter)

Permette di aggiungere un filtro alla visualizzazione dei sottostati di pausa riservati all'operatore. Il filtro è rappresentato mediante regular expression.

AGENTDESKTOP.AGENT.PauseSubState(String SubStateCode)

Richiede il sottostato di pausa indicato dal codice SubStateCode

AGENTDESKTOP.AGENT.Login

Richiede la login (disponibile) per l'operatore

AGENTDESKTOP.AGENT.Pause

Richiede stato di pausa per l'operatore

AGENTDESKTOP.AGENT.getAgentID

Restituisce l'identificativo completo dell' operatore (esempio: agent1@acd.engouse.com)

AGENTDESKTOP.AGENT.getMediaID

Restituisce l'identificativo completo del media attestato sull'operatore (esempio: 80400@B2BUAEP.enghouse.com)

AGENTDESKTOP.AGENT.getAgentState

Restituisce lo stato in cui si trova l'operatore. Possono essere restituiti i seguenti valori:

  • LOGGEDIN : operatore in stato disponibile

  • PAUSED: operatore in generico stato di pausa

  • SUBSTATEPAUSED:<codice_sottostato>: operatore in sottostati di pausa. Viene specificato il codice identificativo del sottostato di pausa

  • FORCEDPAUSE: operatore in pausa forzata a seguito di un mancata risposta su di un contatto

AGENTDESKTOP.AGENT.getGroups

Restituisce un array di tutti i Gruppi di lavoro visibili all'operatore. Ciascun elemento dell'array ha le seguenti proprietà:

  • ID: identificativo completo del Gruppo di lavoro (Q2001@acd.enghouse.com)

  • Device: device name del Gruppo di lavoro (Q2001)

  • Description: descrizione del Gruppo di lavoro

AGENTDESKTOP.AGENT.getAgentGroups

Restituisce un array di tutti i Gruppi di lavoro dove risulta loggato l'operatore. Il formato dell'array è identico a quello del metodo AGENTDESKTOP.AGENT.getGroups.

AGENTDESKTOP.AGENT.getAgentName

Restituisce il nome dell'operatore come da configurazione sul sistema ContaCT7

AGENTDESKTOP.AGENT.getAgentSurname

Restituisce il cognome dell'operatore come da configurazione sul sistema ContaCT7

AGENTDESKTOP.AGENT.setAgentGroups(String Groups)

Modifica i Gruppi di lavoro associati all'operatore. Il parametro Groups è una stringa contenente la lista di tutti gli identificativi separati da ";"

Gestione Chat CTLive

Funzione

Descrizione

AGENTDESKTOP.CHAT.SendText

String Text

Invia un messaggio testuale verso la chat in gestione all'interno del Tab/Scheda corrente del Widget MultiContatto

AGENTDESKTOP.CHAT.GetEvents

String ContactID

Restituisce un array contenente lista di eventi intercorsi per l'identificativo della chat specificato dal parametro ContactID

Funzionalità avanzate sulla User Interface

Funzione

Descrizione

AGENTDESKTOP.UI.bindModalCallback(function javascript)

Effettua la bind di una propria funzione al fine di essere notificati sugli eventi relativi all'apertura/chiusura di finestre di dialogo in AgentDesktop.

Questa funzionalità è utile per conoscere e venire informati ogni volta che l'operatore clicca ed apre alcuni pannelli di gestione come per esempio "Gestione Gruppi di lavoro" o la maschera dei "Trasferimenti".

AGENTDESKTOP.UI.unbindModalCallback(function javascript)

Effettua la unbind della vostra funzione


Gestione dei dati aggiuntivi del contatto da easyCIM (namespace AGENTDESKTOP.EASYCIM)

Metodo Javascript

Descrizione

AGENTDESKTOP.EAYCIM.openScriptInbound

String ContactID

Chiede la apertura di un nuovo script per un contatto Inbound generando un nuovo ECID di lavorazione su easyCIM. Per questa API si è scelto di eseguirla in automatico da CTToolbar7 solo nel caso lo Script non sia stato abilitato dalla configurazione del profilo in AgentDesktopManager. In questo modo l’integratore non dovrà preoccuparsi di richiamarla ad ogni contatto Inbound ACD mentre sarà altresì suo compito richiamare la API di esitazione e salvataggio TOOLBAR.EASYCIM.saveScript.

AGENTDESKTOP.EAYCIM.openScript

String ContactID, String ECID

Chiede la apertura dello Script per un contatto esistente avente come identificativo il parametro ECID.

La chiamata a questa API serve per riservare il contatto all’operatore va utilizzata sull’evento di ESTABLISHED della chiamata, quando si è sicuri che il cliente ha risposto.

Verrà restituito mediante una Promise Javascript una struttura JSON contenente i seguenti parametri:

  • result (boolean): indica se la chiamata è andata a buon fine.

In caso di risposta positiva nell’oggetto JSON verranno valorizzati i seguenti campi:

  • ECID, campaignName, idCustomer, idCustomerBOC, idMacroActivity, idMacroActivityBOC, idPartner, idPartnerBOC, macroActivityDescription

{
ECID: "felixct7|1|181|12"
campaignName: null
idCustomer: 181
idCustomerBOC: null
idMacroActivity: 12
idMacroActivityBOC: null
idPartner: 1
idPartnerBOC: null
macroActivityDescription: "DEFAULT_INB"
result: true
}

Esempio di chiamata della API openScript:

TOOLBAR.EASYCIM.openScript("86-60536353@B2BUAGW1.enghouse.com", "felixct7|1|181|12").then(
  function(data) { }, function(err) { }
);

AGENTDESKTOP.EAYCIM.getContactInfo

Restituisce mediante una Promise Javascript tutta la struttura ContactInfo memorizzata su easyCIM per il contatto in corso.

TOOLBAR.EASYCIM.getContactInfo(ContactObj.id).then (
  function (data) {
  }
);

AGENTDESKTOP.EASYCIM.saveScript

String ContactID, String outcomeResult, Boolean offlineEnd, String note, Object Array labels

Salva lo script specificando un esito di chiusura ed eventualmente terminando la lavorazione del contatto sulla postazione operatore (termina lo stato di Offline/ACW del contatto stesso). E’ possibile specificare come esito uno dei seguenti valori preconfigurati:

  • Un valore stringa tra i seguenti: BUSY_BY_AGENT, NO_ANSWER_BY_AGENT,            ANSWERING_MACHINE_BY_AGENT, FAX_BY_AGENT,               APPOINTMENT

  • Un esito di produttività mediante il suo ID (esempio 117)

  • Un esito di produttività mediante la sua descrizione (esempio DEFAULT_NU)

Il parametro offlineEnd indica se terminare o meno anche il contatto CTI facendo di conseguenza terminare lo stato di Offline (After Call Work) del contatto stesso e rendendo nuovamente schedulabile l’operatore.

Il parametro note consente di specificare annotazioni aggiuntive associate alla chiusura del contatto.

Con il parametro labels è possibile aggiungere informazioni strutturate organizzate in un array di uno o più oggetti aventi la seguente struttura:

 {
  "label": "result_code",
  "value": "12345",
  "isStatistic": true,
  "isAnagraphic": false,
  "isFromSDK": false
 }
  • label: nome del campo

  • value: valore del campo

  • isStatistic (true/false): se true indica che il campo può essere esportabile ed utilizzato nelle statistiche

  • isAnagraphic: se true indica che il campo appartiene alla anagrafica cliente

  • isFromSDK: se true non necessita la pre-dichiarazione del campo all’interno del Form Configurator (Script)

  • No labels