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 12 Next »

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 specifiare quali risorse e quali metriche si vuole monitorare nella propria applicazione.

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.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...
};

  • No labels