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

In questa sezione vengono elencate tutte le API Javascript disponibili all’interno della libreria CTTolbar7 SDK.

Gestione Operatore (namespace TOOLBAR.AGENT )

Metodo Javascript

Descrizione

TOOLBAR.AGENT.Login

Richiede lo stato logico DISPONIBILE per l’operatore (pronto per ricevere/gestire nuovi contatti)

TOOLBAR.AGENT.Pause

Richiede lo stato di pausa per l’operatore

TOOLBAR.AGENT.PauseSubState(String SubStateCode)

Richiede il sottostato di pausa indicato dal codice SubStateCode

TOOLBAR.AGENT.Logout

Esegue la Logout dell’operatore e la conseguente rimozione del suo interno telefonico VOIP

TOOLBAR.AGENT.getAgentLoggedInGroups

Restituisce identificativi e descrizioni di tutti i Gruppi di lavoro configurati sul sistema e visibili all’operatore

TOOLBAR.AGENT.getAgentGroups

Restituisce identificativi e descrizioni di tutti i Gruppi di lavoro dove risulta loggato l’operatore

TOOLBAR.AGENT.setAgentGroups

Consente di impostare i Gruppi di lavoro associati all’operatore

TOOLBAR.AGENT.getAgentState

Restituisce lo stato dell’operatore sotto forma di descrizione testuale (LOGGEDIN, PAUSED, PAUSEDSUBSTATE:<code>, LOGGEDOUT)

TOOLBAR.AGENT.getAgentID

Restituisce l’identificativo completo dell’operatore.

Gestione della telefonata (namespace TOOLBAR.CONTACT)

Metodo Javascript

Descrizione

TOOLBAR.CONTACT.MakeCall

String DestinationNumber, String <ResourceType>, String <ServiceID>, String <CallProfileID>, String <CallData>

Effettua una chiamata telefonica. E' possibile specificare i seguenti parametri aggiuntivi:

  • ResourceType: solitamente compilato a stringa vuota o undefined per le chiamate outbound

  • ServiceID: identificativo del servizio di chiamata da utilizzare.

  • CallProfileID: identificativo del profilo di chiamata da utilizzare.

  • CallData: eventuali variabili di CallData separate da “;”. Esempio “A=1;B=2”

TOOLBAR.CONTACT.Hangup

String <ContactID>

Conclude la fase online di un contatto telefonico o chat terminando la conversazione in corso.

TOOLBAR.CONTACT.Answer

String ContactID

Risponde ad un contatto in ingresso/fase di accettazione sulla postazione operatore.

TOOLBAR.CONTACT.Hold

String ContactID

Mette o riprende dallo stato di attesa una chiamata telefonica.

TOOLBAR.CONTACT.OfflineEnd

String ContactID

Esce dallo stato offline (After Call Work) di un contatto e termina la fase di gestione del contatto stesso.

TOOLBAR.CONTACT.SetCallData

String ContactID, String CallData

Imposta una variabile di CallData associata al contatto. Le variabili di CallData consentono di memorizzare sul singolo contatto dei dati personalizzati nel formato chiave=valore.

TOOLBAR.CONTACT.SetCallData("2d-5e5fbc28@B2BUAEP.enghouse.com", "CUSTOMERID=12345");

TOOLBAR.CONTACT.PlayDTMF

String DTMF

Riproduce uno o più toni DTMF sulla chiamata in corso.

TOOLBAR.CONTACT.PlayDTMF("1#");

TOOLBAR.CONTACT.StartRecording

String ContactID, String <CallRecorders>

Richiede la registrazione della  chiamata telefonica. E' possibile specificare l'identificativo di un Registratore configurato sul sistema CTI.

TOOLBAR.CONTACT.StopRecording

String ContactID, String <CallRecorders>

Interrompe la registrazione in corso della chiamata telefonica.

TOOLBAR.CONTACT.GetCallDataValueByName

Object ContactObj, String CallDataName

Restituisce il valore di una variabile di CallData specificandone il nome.

Se la variabile non esiste viene restituita stringa vuota.

Il primo parametro della funzione rappresenta l’oggetto “Contatto” restituito dall’SDK.

Gestione dei dati aggiuntivi del contatto da easyCIM (namespace TOOLBAR.EASYCIM)

Metodo Javascript

Descrizione

TOOLBAR.EAYCIM.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.

TOOLBAR.EAYCIM.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:

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

TOOLBAR.EAYCIM.getContactInfo

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

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

TOOLBAR.EASYCIM.saveScript

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

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:

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

Gestione di un contatto Inbound

La pagina di esempio fornita a corredo con CTToolbar7 può essere utilizzata per gestire un contatto Inbound ACD in quanto mette a disposizione una integrazione completa che include l'apertura ed esitazione di un contatto su easyCIM.

Durante la gestione verrà prodotto il seguente output che mostrerà tutti i cambi stato e le API utilizzate.

12/05/2021 - 16:49:12.174: CTToolbar7 Javascript SDK loaded! [https://localhost:2337/toolbar_sdk.js]
12/05/2021 - 16:49:12.177: Register a Custom Callback for Toolbar Event listening [API: TOOLBAR.CONTACT.bindContactCallback]
12/05/2021 - 16:49:24.725: JOBSCHEDULED [32-60536353@B2BUAGW1.enghouse.com]
12/05/2021 - 16:49:37.185: CONNECTIONSTARTED [32-60536353@B2BUAGW1.enghouse.com]
12/05/2021 - 16:49:37.187: POPUP [32-60536353@B2BUAGW1.enghouse.com]

L’apertura di un nuovo Script e la generazione di un nuovo ECID è automaticamente eseguita da CTToolbar7 sull’evento POPUP

12/05/2021 - 16:49:37.188: DATACHANGED [32-60536353@B2BUAGW1.enghouse.com]
12/05/2021 - 16:49:37.189: JOBCHANGED [32-60536353@B2BUAGW1.enghouse.com]
12/05/2021 - 16:49:37.190: DATACHANGED [32-60536353@B2BUAGW1.enghouse.com]
12/05/2021 - 16:49:37.190: RINGING [32-60536353@B2BUAGW1.enghouse.com]
12/05/2021 - 16:49:37.191: DATACHANGED [32-60536353@B2BUAGW1.enghouse.com]

CTToolbar7 si preoccupa anche di valorizzare le variabili di CallData con l’ECID

12/05/2021 - 16:49:37.192: Found new ECID in CallData variabiles: felixct7|1|171|12
12/05/2021 - 16:49:37.193: DATACHANGED [32-60536353@B2BUAGW1.enghouse.com]
12/05/2021 - 16:49:37.194: Found new ECID in CallData variabiles: felixct7|1|171|12
12/05/2021 - 16:49:37.195: ESTABLISHED [32-60536353@B2BUAGW1.enghouse.com]
12/05/2021 - 16:49:37.197: JOBSTARTED [32-60536353@B2BUAGW1.enghouse.com]
12/05/2021 - 16:49:46.596: Hangup Call [API: TOOLBAR.CONTACT.Hangup]
12/05/2021 - 16:49:46.677: CONNECTIONCLEARED [32-60536353@B2BUAGW1.enghouse.com]

Esempio di chiamata per restituire la ContactInfo di easyCIM

12/05/2021 - 16:49:49.541: Get Contact Info [API: TOOLBAR.EASYCIM.getContactInfo]
12/05/2021 - 16:49:49.542: JOBCHANGED [32-60536353@B2BUAGW1.enghouse.com]
12/05/2021 - 16:49:49.548: TOOLBAR.EASYCIM.getContactInfo object response:
{
"result": true,
"ContactInfo": [
{
"id": "NAME",
"description": "Nome",
"value": null
},
{
"id": "SURNAME",
"description": "Cognome",
"value": null
},
{
"id": "CUSTOMER_INFO",
"description": "Info cliente",
"value": "INB-0000000185"
},
{
"id": "TAX_CODE",
"description": "Codice fiscale",
"value": null
},
{
"id": "VAT_NUMBER",
"description": "Partita IVA",
"value": null
},
{
"id": "STREET",
"description": "Via",
"value": null
},
{
"id": "CITY",
"description": "Comune",
"value": null
},
{
"id": "PROVINCE",
"description": "Provincia",
"value": null
},
{
"id": "POSTAL_CODE",
"description": "CAP",
"value": null
},
{
"id": "CUSTOMER_CODE",
"description": "Codice cliente",
"value": "INB-0000000185"
},
{
"id": "PHONE_NUMBER",
"description": "Numero di telefono",
"value": "02124122674"
},
{
"id": "EMAIL",
"description": "Email",
"value": null
}
]
}

Chiusura dello script con esitazione e fine della fase Offline (After Call Work) del contatto

12/05/2021 - 16:49:51.495: Save Script [API: TOOLBAR.EASYCIM.saveScript]
12/05/2021 - 16:50:02.207: JOBFINISHED [32-60536353@B2BUAGW1.enghouse.com]
12/05/2021 - 16:50:02.209: DELETE [32-60536353@B2BUAGW1.enghouse.com]

  • No labels