Versions Compared

Key

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

Questa sezione ha il compito di illustrare un esempio di integrazione che fa uso della lilbreria AgentDesktop Widget SDK al fine di poter gestire ed essere notificato dei contatti proposti all'operatore e poterne intercettare le relative notifiche all'interno della propria web-application.

Ricordiamo inoltre che AgentDesktop dispone di un Widget di esempio che illustra con del codice esemplificativo la maggior parte di situazioni e problematiche che l’integratore dovrà affrontare nel corso della realizzazione di un Widget personalizzato. Il Widget è presente in ogni distribuzione di AgentDesktop al seguente indirizzo: /AD/widget/agentdesktop_widget_sample.html

...

Figura 1 - La interfaccia principale del Widget di esempio che illustra l’utilizzo delle API suddividendole per categoria di appartenenza

Inclusione della libreria Javascript AgentDesktop Widget SDK all'interno della propria pagina:

...

Code Block
languagejs
//Visualizzazione come finestra di dialogo centrale
AGENTDESKTOP.ALERT.Notify("Numerazione non valida", "Il numero telefonico selezionato contiene caratteri non validi.", "fa fa-tty fa-2x", 4);

...

Trasferimento diretto di una telefonata

Per il trasferimento diretto di un contatto telefonico o chat (senza consultazione) viene utilizzata la seguente API:

Code Block
languagejs
AGENTDESKTOP.CONTACT.Transfer_Direct("", "0227070058")

Il primo parametro indica l’identificativo del contatto da trasferire. Se omesso verrà utilizzata la chiamata corrente. Il secondo parametro indica la destinazione, può essere utilizzata una numerazione pubblica o l’identificativo di una risorsa dell Call Center.
Dopo la richiesta di trasferimento l’integrazione verrà notificata con una serie di eventi:

La telefonata principale verrà messa in attesa mediante la ricezione dell’evento HELD. La messa in attesa è eseguita automaticamente dal sistema. Si riporta un estratto della struttura Contatto passata nella callback di ciascuna integrazione:
[EVENT] [HELD] [13b-5d9daab7@B2BUAGW1.enghouse.com]
id.....................[13b-5d9daab7@B2BUAGW1.enghouse.com]
uuid...................[f7875bc8-0db9-429f-bc7b-02013f72298d]
chat_id................[]
type...................[inbound]
media_type.............[telephony]
content_type...........[live]
content_description....[]
job_type...............[inbound]
job_state..............[online]
ani....................[3393669393]
dnis...................[225727273]
queue..................[QUEUE25]
reason.................[]

Indipendentemente dall’esito del trasferimento (positivo nel caso in cui cliente e destinazione vengano messi in comunicazione, o negativo nel caso di rifiuto) alla integrazione verrà notificato l’evento di TRANSFERRED sulla chiamata principale. La trasferta diretta di fatto è un comando lancia e dimentica, l’operatore non verrà a conoscenza dell’esito del trasferimento.
[EVENT] [TRANSFERRED] [13b-5d9daab7@B2BUAGW1.enghouse.com]
id.....................[13b-5d9daab7@B2BUAGW1.enghouse.com]
uuid...................[f7875bc8-0db9-429f-bc7b-02013f72298d]
chat_id................[]
type...................[inbound]
media_type.............[telephony]
content_type...........[live]
content_description....[]
job_type...............[inbound]
job_state..............[online]
ani....................[customer]
dnis...................[225727273]
queue..................[QUEUE25]
reason.................[]

La chiamata principale si concluderà con l’evento CONNECTIONCLEARED
[EVENT] [CONNECTIONCLEARED] [13b-5d9daab7@B2BUAGW1.enghouse.com]
id.....................[13b-5d9daab7@B2BUAGW1.enghouse.com]
uuid...................[f7875bc8-0db9-429f-bc7b-02013f72298d]
chat_id................[]
type...................[inbound]
media_type.............[telephony]
content_type...........[live]
content_description....[]
job_type...............[inbound]
job_state..............[online]
ani....................[customer]
dnis...................[225727273]
queue..................[QUEUE25]
reason.................[transferred]

Il contatto entrerà nella sua fase di gestione Offline (After Call Work) mediante la notifica dell’evento JOBCHANGED.
[EVENT] [JOBCHANGED] [13b-5d9daab7@B2BUAGW1.enghouse.com]
id.....................[13b-5d9daab7@B2BUAGW1.enghouse.com]
uuid...................[f7875bc8-0db9-429f-bc7b-02013f72298d]
chat_id................[]
type...................[inbound]
media_type.............[telephony]
content_type...........[live]
content_description....[]
job_type...............[inbound]
job_state..............[offline]
ani....................[customer]
dnis...................[225727273]
queue..................[QUEUE25]
reason.................[transferred]

Una volta esitato lo Script la fase di lavorazione del Contatto si concluderà
[JOBFINISHED] [13b-5d9daab7@B2BUAGW1.enghouse.com]
id.....................[13b-5d9daab7@B2BUAGW1.enghouse.com]
uuid...................[f7875bc8-0db9-429f-bc7b-02013f72298d]
chat_id................[]
type...................[inbound]
media_type.............[telephony]
content_type...........[live]
content_description....[]
job_type...............[inbound]
job_state..............[finished]
ani....................[customer]
dnis...................[225727273]
queue..................[QUEUE25]
reason.................[transferred]

Trasferimento di una telefonata con consultazione

Per il trasferimento con consultazione di un contatto telefonico viene utilizzata la seguente API:

Code Block
languagejs
AGENTDESKTOP.CONTACT.Transfer_Consultation("", "02270700598");

Durante la consultazione la chiamata principale verrà messa automaticamente in attesa:
[EVENT] [HELD] [13f-5d9daab7@B2BUAGW1.enghouse.com]
id.....................[13f-5d9daab7@B2BUAGW1.enghouse.com]
uuid...................[baabb838-ff32-4c15-afa9-78b4a7d01b59]
chat_id................[]
type...................[inbound]
media_type.............[telephony]
content_type...........[live]
content_description....[]
job_type...............[inbound]
job_state..............[online]
ani....................[customer]
dnis...................[225727273]
queue..................[QUEUE25]
reason.................[]

Verrà generata una seconda telefonata manuale uscente di consultazione avente un nuovo identificativo:
[EVENT] [CONNECTIONSTARTED] [3f-5e5fbc28@B2BUAEP.enghouse.com]
id.....................[3f-5e5fbc28@B2BUAEP.enghouse.com]
uuid...................[dd124824-5079-41f6-b5bc-46ae3b8362a6]
chat_id................[]
type...................[outbound]
media_type.............[telephony]
content_type...........[]
content_description....[]
job_type...............[manual]
job_state..............[]
ani....................[80165@B2BUAEP.enghouse.com]
dnis...................[consultation]
queue..................[]
reason.................[]

[EVENT] [DIALING] [3f-5e5fbc28@B2BUAEP.enghouse.com]
id.....................[3f-5e5fbc28@B2BUAEP.enghouse.com]
uuid...................[dd124824-5079-41f6-b5bc-46ae3b8362a6]
chat_id................[]
type...................[outbound]
media_type.............[telephony]
content_type...........[]
content_description....[]
job_type...............[manual]
job_state..............[]
ani....................[80165@B2BUAEP.enghouse.com]
dnis...................[consultation]
queue..................[]
reason.................[]

[EVENT] [ESTABLISHED] [3f-5e5fbc28@B2BUAEP.enghouse.com]
id.....................[3f-5e5fbc28@B2BUAEP.enghouse.com]
uuid...................[dd124824-5079-41f6-b5bc-46ae3b8362a6]
chat_id................[]
type...................[outbound]
media_type.............[telephony]
content_type...........[]
content_description....[]
job_type...............[manual]
job_state..............[]
ani....................[80165@B2BUAEP.enghouse.com]
dnis...................[consultation]
queue..................[]
reason.................[]

A questo punto si può decidere di eseguire una delle seguenti azioni:

  • Annullare la consultazione mediante il metodo AGENTDESKTOP.CONTACT.Hangup specificando l’identificativo della chiamata di consultazione.

  • Finalizzare il trasferimento mediante il metodo AGENTDESKTOP.CONTACT.Transfer_Complete

  • Finalizzare il trasferimento con una conference a tre partecipanti (clilente, operatore e numero consultato) mediante il metodo AGENTDESKTOP.CONTACT.Transfer_Complete_Conference

Nel nostro esempio verrà finalizzato il trasferimento richiamanto la API AGENTDESKTOP.CONTACT.Transfer_Complete.

Si riceverà l’evento di TRANSFERRED sulla chiamata principale:
[EVENT] [TRANSFERRED] [13f-5d9daab7@B2BUAGW1.enghouse.com]
id.....................[13f-5d9daab7@B2BUAGW1.enghouse.com]
uuid...................[baabb838-ff32-4c15-afa9-78b4a7d01b59]
chat_id................[]
type...................[inbound]
media_type.............[telephony]
content_type...........[live]
content_description....[]
job_type...............[inbound]
job_state..............[online]
ani....................[customer]
dnis...................[225727273]
queue..................[QUEUE25]
reason.................[]

La chiamata principale terminerà la sua fase Online venendo agganciata:
[EVENT] [CONNECTIONCLEARED] [13f-5d9daab7@B2BUAGW1.enghouse.com]
id.....................[13f-5d9daab7@B2BUAGW1.enghouse.com]
uuid...................[baabb838-ff32-4c15-afa9-78b4a7d01b59]
chat_id................[]
type...................[inbound]
media_type.............[telephony]
content_type...........[live]
content_description....[]
job_type...............[inbound]
job_state..............[online]
ani....................[customer]
dnis...................[225727273]
queue..................[QUEUE25]
reason.................[transferred]

Verrà terminata anche la chiamata di consultazione:
[EVENT] [CONNECTIONCLEARED] [3f-5e5fbc28@B2BUAEP.enghouse.com]
id.....................[3f-5e5fbc28@B2BUAEP.enghouse.com]
uuid...................[dd124824-5079-41f6-b5bc-46ae3b8362a6]
chat_id................[]
type...................[outbound]
media_type.............[telephony]
content_type...........[]
content_description....[]
job_type...............[manual]
job_state..............[]
ani....................[80165@B2BUAEP.enghouse.com]
dnis...................[consultation]
queue..................[]
reason.................[transferred]

Sulla postazione dell’operatore il contatto entrerà nella sua fase di gestione Offline (After Call Work):
[EVENT] [JOBCHANGED] [13f-5d9daab7@B2BUAGW1.enghouse.com]
id.....................[13f-5d9daab7@B2BUAGW1.enghouse.com]
uuid...................[baabb838-ff32-4c15-afa9-78b4a7d01b59]
chat_id................[]
type...................[inbound]
media_type.............[telephony]
content_type...........[live]
content_description....[]
job_type...............[inbound]
job_state..............[offline]
ani....................[customer]
dnis...................[225727273]
queue..................[QUEUE25]
reason.................[transferred]