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 Current »

Per consentire la comunicazione bidirezionale della propria web-application con CTView e ricevere quindi le notifiche dei dati che si è scelto di monitorare, è necessario caricare la libreria di sviluppo CTView SDK:

<script type="text/javascript" src="https://<CTVIEW_DOMAIN>/CTView/sdk/ctview_sdk.js"></script>

Una volta istanziata si avrà a disposizione un oggetto (namespace) CTVIEW.

Con il namespace CTVIEW si potrà accedere ad una serie di oggetti e metodi che consentono di specificare quali risorse e quali metriche si vuole monitorare nella propria applicazione.

jQuery versione 2.2.4 - CTView SDK offre al suo interno una istanza isolata della famosa libreria jQuery. E' sufficiente utilizzare l’oggetto CTVIEW.JQ

Inizializzazione della libreria

Prima di poter specificare le risorse da monitorare occorre attendere che la libreria SDK venga correttamente inizializzata e quindi il canale bidirezionale da e verso CTView sia correttamente funzionante.

Per fare questo è disponibile una API specifica che notifica la corretta inizializzazione della libreria. E' possibile agganciare una propria callback per essere notificati.

Funzione

Descrizione

CTVIEW.WIDGET.bindSDKReadyCallback

javascript function

Effettua la bind di una propria funzione javascript al fine di ricevere la notifica della avvenuta inizializzazione della libreria.

jQuery( document ).ready(
  function() {
    CTVIEW.WIDGET.bindSDKReadyCallback(
      function (event, data) {
        console.log("[CTVIEW WIDGET IFRAME] SDK Ready to use...");
      }
    );
  }
);

Monitoraggio delle risorse

Una volta avvenuta la inizializzazione della libreria si deve indicare quale risorse e quali dati si vuole monitorare. Ogni volta che CTView riceverà un valore aggiornato provvederà a notificarlo immediatamente alla istanza della libreria SDK in esecuzione nel proprio Widget. Non viene eseguito nessun buffering dei dati.

E' possibile selezionare quali categorie di risorse si vuole monitorare (Operatori o Gruppi) e all’interno di questi quali dati si vuole ricevere (Scalar oppure Contatti).

La integrazione ha il compito di eseguire il binding di una propria funzione custom che verrà richiamata per notificare la disponibilità di dati aggiornati.

Funzione

Descrizione

CTVIEW.WIDGET.startMonitorResourceScalar

String ResourceType, String Resources, String Scalars

Richiede il monitoring delle risorse e delle metriche (Scalars) indicati dai seguenti parametri:

  • ResourceType: categoria di risorse. Può assumere i valori “AGENT” oppure “QUEUE”

  • Resources: regular expression per filtrare quali risorse si vuole monitorare. E' possibile indicare asterisco “*” come shortcut per monitorare tutte le risorse appartenenti ad una categoria.
    Esempio: "^QUEUE.*" (tutti i Gruppi il cui identificativo inizia con QUEUE) oppure "*"

  • Elenco separato da “,” di uno o più identificativi di Scalar da monitorare. Esempio: "30210,12002"

CTVIEW.WIDGET.stopMonitorResourceScalar

String ResourceType, String Resources

Interrompe il monitoraggio di tutti gli Scalar sulla risorsa specificata.

CTVIEW.WIDGET.startMonitorDistinctScalar

String ResourceType, String Resources, String Scalars

Richiede il monitoring di un particolare sottoinsieme di Scalar fornendo il valore totale calcolandolo univocamente sulla base delle risorse selezionate. Gli Scalar disponibili per il monitoraggio distinto per risorsa sono i seguenti:

  • 13002 (AgentsLoggedIn) : numero di operatori in stato LOGGEDIN

  • 13003 (AgentsPaused) : numero di operatori in stato PAUSA

  • 2001 (AgentsSchedulable): numero di operatori schedulabili su qualsiasi media (telefonico, chat, multimediale)

  • 36000 (AgentsTot): numero totale di operatori in stato LOGGEDIN e PAUSA

Una volta richiesto il monitoring di un particolare Scalar, CTView provvederà a notificare alla funzione di callback la somma totale dei valori distinti per risorsa. Se per esempio prendiamo lo Scalar 13002 (AgentsLoggedIn) se un operatore risulta loggato su più code nel totale verrà conteggiato in modo univoco.

Questo metodo è differente dall’eseguire una pura e semplice somma del valore dello Scalar 13002 per ciascuna coda in quanto si può facilmente riscontrare il problema di conteggi multipli dello stesso operatore.

Il metodo richiede i seguenti parametri:

  • ResourceType: categoria di risorse. Può assumere il valori “QUEUE”

  • Resources: regular expression per filtrare quali risorse si vuole monitorare. E' possibile indicare asterisco “*” come shortcut per monitorare tutte le risorse appartenenti ad una categoria.
    Esempio: "^QUEUE.*" (tutti i Gruppi il cui identificativo inizia con QUEUE) oppure "*"

  • L’identificativo di un singolo Scalar scelto tra i seguenti: "13002,13003,2001,36000"

CTVIEW.WIDGET.startMonitorDistinctScalar("QUEUE", "*", "13002");

CTVIEW.WIDGET.stopMonitorDistinctScalar

Interrompe il monitoraggio di tutti gli Scalar aggregati per risorsa

CTVIEW.WIDGET.bindScalarChangeCallback

Javascript function

Effettua la bind di una propria funzione javascript al fine di ricevere una notifica contenente nuovi dati aggiornati.

Il dato aggiornato viene notificato alla funzione di callback mediante un oggetto con le seguenti proprietà:

  • resource_device: identificativo della risorsa coinvoltsa (solo device name)

  • resource_domain: dominio applicativo della risorsa coinvolta

  • resource_id: identificativo completa della risorsa coinvolta

  • resource_type: “AGENT” oppure “QUEUE”

  • scalar_id: identificativo numerico dello Scalar aggiornato

  • scalar_type: tipologia dello Scalar. Può assumere i seguenti valori:

    • INTEGER: il valore è un numero intero

    • FLOAT: il valore è un numero in virgola mobile

    • PERCENTAGE: il valore rappresenta una percentuale

    • TIME: il valore rappresenta una durata temporale in msec

    • DATETIME: il valore è un timestamp

  • scalar_value: valore aggiornato

CTVIEW.WIDGET.bindScalarChangeCallback(ScalarChanged);
function ScalarChanged(event, data) {
  var DataObj = null;
  if (typeof data === "string") {
    DataObj = JSON.parse(data);
  }
  if (typeof dats === "object") {
    DataObj = data;
  }
  console.log("[CTVIEW WIDGET IFRAME] Scalar Changed", DataObj);
  // Do Some Stuff...
};

CTVIEW.WIDGET.bindDistinctScalarChangeCallback

Javascript function

Effettua la bind di una propria funzione javascript al fine di ricevere una notifica contenente nuovi dati aggregati aggiornati.

Il dato aggiornato viene notificato alla funzione di callback mediante un oggetto con le seguenti proprietà.

  • resource_device: il campo non è utilizzato ed è valorizzato a stringa vuota ““

  • resource_domain: il campo non è utilizzato ed è valorizzato a stringa vuota ““

  • resource_id: lista degli identificativi delle risorse coinvolte nell’aggregato

  • resource_type: “QUEUE”

  • scalar_id: identificativo numerico dello Scalar

  • scalar_type: tipologia dello Scalar. Può assumere i seguenti valori:

    • INTEGER: il valore è un numero intero

    • FLOAT: il valore è un numero in virgola mobile

  • scalar_value: totale aggiornato

CTVIEW.WIDGET.bindDistinctScalarChangeCallback(DistinctScalarChanged);
CTVIEW.WIDGET.startMonitorDistinctScalar("QUEUE", "*", "13002");
function DistinctScalarChanged(jQuery_eventType, data) {
  var DataObj = null;
  var ScalarValue = "";
  if (typeof data === "string") {
    DataObj = JSON.parse(data);
  }
  if (typeof dats === "object") {
    DataObj = data;
  }
  console.log("[QUEUES SDK WIDGET] Distinct Scalar Changed", DataObj);
};

Informazioni sulla utenza loggata

E' possibile richiedere alcune informazioni relativa alla utenza loggata e ai CallCenter/Partner/MacroAttività visibili da CTView.

Funzione

Descrizione

CTVIEW.WIDGET.getCTViewUserData

Richiede alcune informazioni relative alla utenza loggata in CTView. Viene restituita una promise Javascript che verrà risolta restituendo un oggetto composto dalle seguenti proprietà:

  • user: identificativo della utenza loggata in CTView

  • sso_token: token Single Sign On restituito dalla login verso l’Identity Provider EasyCIM

  • x2l_session: Identificativo di Sessione verso il processo Hub X2L di Contact 7.

  • call_center: Oggetto complesso che contiene la lista di tutti i CallCenter visibili in CTView dalla utenza “user”. Per ogni CallCenter vengono elencate anche MacroAttività, Partner e Tipologia.

CTVIEW.WIDGET.getCTViewUserData().then(
  function(data) {
    console.log("[CTVIEW WIDGET IFRAME] User Data", data);
  }
);

  • No labels