Questa sezione ha il compito di illustrare re un esempio di integrazione che fa uso della lilbreria AgentDesktop Widget SDK al fine di poter gestire ed essere notificato sui contatti proposti all'operatore e poterne intercettare le relative notifiche all'interno della propria web-application.
Inclusione della libreria Javascript AgentDesktop Widget SDK all'interno della propria pagina
/C
Analizziamo il codice nel dettaglio.
Nella sezione head del documento html, dopo l'inclusione di utili librerie esterne come Font Awesome, jQuery e Bootstrap, è fondamentale importare il modulo
<script type="text/javascript" src="./../widget/agentdesktop_widget.js"></script>
per poter aver a disposizione il namespace AGENTDESKTOP e poter richiamare le API. Nel successivo tag script è contenuto il cuore della logica di funzionamento del widget. Al caricamento del documento, viene immediatamente chiamata
AGENTDESKTOP.WIDGET.bindContactCallback(WidgetContactCallback)
che effettua la bind della funzione WidgetContactCallback al fine di ricevere le notifiche sui contatti in gestione. Questa funzione, definita prima della chiusura del tag script, visualizza semplicemente nel riquadro "Ricezione evento da AgentDesktop" l'oggetto evento così come ricevuto da AgentDesktop. Ad ogni notifica di evento ricevuta, il testo nel riquadro varia dinamicamente di conseguenza. Si noti che nella funzione viene chiamata l'API
AGENTDESKTOP.WIDGET.GetTimeStamp()
per mostrare data e ora correnti. Al click dell'operatore sul pulsante "Chiama", viene verificata la numerazione inserita nel campo input "Composizione" e se contiene un numero telefonico valido, viene fatta partire una nuova chiamata tramite l'API
AGENTDESKTOP.CONTACT.MakeCall(Destination,"","","","").
Nel caso in cui il campo input sia vuoto o non contenga un numero di telefono valido, viene visualizzata una finestra informativa per un tempo di 2 secondi contenente il messaggio "Il numero telefonico selezionato contiene caratteri non validi.":
AGENTDESKTOP.ALERT.Notify("Numerazione non valida", "Il numero telefonico selezionato contiene caratteri non validi.", "fa fa-tty fa-2x", 2).
Infine, al click dell'operatore sul pulsante "Aggancia", viene abbattuta la chiamata in corso (nel caso sia attiva) tramite l'API:
AGENTDESKTOP.CONTACT.Hangup().
Il risultato finale del widget integrato in AgentDesktop è mostrato nella figura sottostante.