Versions Compared

Key

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

...

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.bindCustomContactClose(javascript function, String ContactID)

Effettua la bind di una propria funzione javascript al fine di personalizzare e gestire la fase di chiusura del Tab di gestione contatto in AgentDesktop/CTToolbar7.

Nel caso venga definita una propria funzione personalizzata la vita del contatto sulla barra telefonica seguirà un percorso differente al termine della fase di offline (fine After Call Work).

Anzichè chiudere automaticamente il Tab di gestione del contatto e quindi rimuovere dalla interfaccia grafica anche tutti i Widget di terze parti caricati verrà demandata la chiusura al Widget che ha registrato una propria funzione JS custom.

Sarà compito quindi del Widget richiamare successivamente la API AGENTDESKTOP.WIDGET.CloseContactTab al fine di chiudere il tab di gestione contatto sulla interfaccia della barra telefonica.

  • javascript function: riferimento ad una propria funzione Javascript

  • ContactID: determinare se sovrascrivere il comportamento predefinito della barra telefonica Enghouse per tutti i Contatti in gestione oppure solo per un determinato Contatto. Se valorizzato ad “ALL” verrà sovrascritto la azione di chiusura automatica del Tab per tutti i Contatti in gestione. Altresì occorrerà specificare la proprietà ID del Contatto.

Esempio di utilizzo:

Code Block
languagejs
AGENTDESKTOP.WIDGET.unbindCustomContactClose( WidgetCustomContactClose, "ALL" );
AGENTDESKTOP.WIDGET.bindCustomContactClose( WidgetCustomContactClose, "ALL" );

      function WidgetCustomContactClose(jQuery_eventType, data) {
        try {
          console.log("[" + AGENTDESKTOP.WIDGET.getContainerID() + "] Widget Custom Contact Close Callback [" + JSON.stringify(data) + "]");
          // ....
          // Custom Code Here
          // ....
          AGENTDESKTOP.WIDGET.CloseContactTab(data);
        } catch (err) {
          console.error(err);
        }
      };

AGENTDESKTOP.WIDGET.unbindContactCallback(javascript function)

Effettua la unbind della vostra funzione

AGENTDESKTOP.WIDGET.unbindCustomContactClose(javascript function, String ContactID)

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:

Code Block
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".

...

Metodo Javascript

Descrizione

AGENTDESKTOP.EASYCIM.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.EASYCIM.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:

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

AGENTDESKTOP.EASYCIM.getContactInfo

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

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

AGENTDESKTOP.EASYCIM.saveScript

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

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:

Code Block
 {
  "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)

Esempio di chiamata:

Code Block
languagejs
AGENTDESKTOP.EASYCIM.saveScript("2-62960987-0@acd.enghouse.com", "117", true, "rifiuto esplicito", [
 {
  "labeL": "field1",
  "value": "value1",
  "isStatistic": true,
  "isAnagraphic": false,
  "isFromSDK": false
 },
 {
  "labeL": "field2",
  "value": "value2",
  "isStatistic": true,
  "isAnagraphic": false,
  "isFromSDK": false
 }
]).then(console.log, console.error);

Il parametro closeTab consente di specificare se chiudere automaticamente il Tab di gestione contatto aperto sulla barra telefonica.