La soluzione CRM personalizzata consente alle aziende di sfruttare il portale di Contact Center AI Platform (piattaforma CCAI) quando utilizzano un CRM che non è un'integrazione standard attuale con la piattaforma CCAI. La configurazione del CRM personalizzato funziona quando utilizzi un CRM proprietario o qualsiasi CRM non standard.
Gli agenti gestiscono le chiamate e le chat, mentre i supervisori possono monitorare e generare report utilizzando il portale della piattaforma CCAI. Tutti i dettagli sulla sessione di chiamata o chat vengono archiviati in un file di metadati della sessione. Questo file può contenere più di 20 punti dati, tra cui informazioni sulla sessione, trasferimenti, durata della gestione, partecipanti, informazioni diagnostiche e molto altro. Il file dei metadati della sessione può essere analizzato e utilizzato per l'analisi e il monitoraggio post-sessione.
I metadati della sessione e i file multimediali caricati dal consumatore vengono inviati a un servizio di archiviazione esterno e gli agenti possono visualizzare i file multimediali caricati dal consumatore direttamente nell'adattatore dell'agente durante la sessione.
Una soluzione CRM personalizzata viene implementata con una combinazione dei seguenti componenti. Alcuni componenti potrebbero essere applicabili o meno alla tua configurazione:
Generazione del file dei metadati della sessione per ogni sessione di chiamata e chat
Push di file multimediali e metadati a un servizio di archiviazione esterno
Integrazione API generica
URL di ricerca personalizzato
Aggiornamento del record CRM via email
Ricerca di account o richieste dall'adattatore dell'agente
Prerequisiti
Per utilizzare la funzionalità CRM personalizzato, devi prima configurare lo spazio di archiviazione esterno. Per saperne di più, consulta Spazio di archiviazione esterno per soluzioni CRM personalizzate.
Metadati della sessione
Il file dei metadati della sessione contiene informazioni dettagliate sulla sessione. Questo messaggio viene inviato 15 minuti dopo il completamento della sessione. Per saperne di più, consulta File dei metadati della sessione.
Metodi di interazione e integrazione CRM personalizzati
| API generica | URL personalizzato | |
|---|---|---|
| Ricerca dell'account | Sì | Sì |
| Ricerca delle richieste | Sì | |
| Aggiornamento della richiesta | Sì | No |
API generica
Il metodo di integrazione dell'API generica offre la possibilità di utilizzare l'API del tuo CRM personalizzato per stabilire una connessione bidirezionale con CCAI Platform. Questo metodo fluido è identico all'esperienza di integrazione del CRM predefinita. L'agente non deve intraprendere alcuna azione per creare un record CRM per le sessioni di chiamata o chat e a seconda della configurazione univoca dell'API. Può consentire una ricerca e un aggiornamento dei record senza interruzioni.
URL personalizzato
L'opzione Link personalizzato consente agli agenti di interagire con il CRM utilizzando un link personalizzato creato per ogni sessione. A differenza dell'integrazione CRM standard e dell'esperienza API generica, l'agente deve intervenire per creare un record CRM. In alcuni casi, potrebbe essere sufficiente aprire una scheda con il link personalizzato della sessione, mentre in altri l'agente potrebbe dover creare manualmente il record.
Dettagli e configurazione dell'URL di ricerca personalizzato
La funzionalità di base dell'URL è eseguire una ricerca nel CRM, ma a seconda del CRM, è possibile attivare processi più complessi in base ai contenuti dell'URL personalizzato. L'URL del CRM personalizzato può essere configurato con variabili contenenti informazioni sulla sessione ed è accessibile nell'adattatore dell'agente durante la sessione. Una volta eseguito l'accesso all'URL, il CRM personalizzato verrà attivato per eseguire una ricerca. Questa ricerca nel CRM consente agli agenti di utilizzare un "ticket pop" per la sessione di chiamata o chat attiva. La procedura di link personalizzato si basa esclusivamente sulla capacità del CRM personalizzato di elaborare questo link e modificarlo o riscriverlo, se necessario.
I metadati della sessione, le registrazioni delle chiamate e altri file archiviati esternamente non verranno ricollegati al record del CRM, a meno che non venga utilizzato anche il metodo di aggiornamento via email elencato.
In questa configurazione, l'agente accederà al portale della piattaforma CCAI e al proprio CRM in schede separate. Le chiamate e le chat verranno gestite nella scheda CCAI Platform, mentre i dettagli dei ticket saranno accessibili in una scheda CRM.
Affinché questa configurazione funzioni:
L'agente deve aver eseguito l'accesso al proprio CRM nel browser
L'agente deve aver eseguito l'accesso al portale della piattaforma CCAI nel proprio browser.
L'URL di ricerca personalizzato deve essere preconfigurato
Il tuo CRM deve gestire l'URL personalizzato per visualizzare il record CRM pertinente
Comportamento dell'URL di ricerca personalizzato
La piattaforma CCAI includerà nell'URL solo i parametri che non sono vuoti.
CCAI Platform non memorizza l'URL generato contenente ANI/UID/email nel database di CCAI Platform una volta terminata la sessione.
Configurazione dell'URL di ricerca personalizzato
A causa dei diversi identificatori univoci e delle funzionalità e dei comportamenti del CRM, dovrai creare due URL diversi: uno per le sessioni IVR/PSTN/SMS e uno per le sessioni SDK web e mobile. Le sessioni IVR/PSTN/SMS utilizzeranno l'ANI come identificatore univoco, mentre l'SDK web e mobile utilizzerà probabilmente il CUID e l'indirizzo email.
Le seguenti variabili possono essere utilizzate per configurare un URL di ricerca:
| Variabile | Valori |
|---|---|
{CUSTOMER_PHONE_NUMBER} |
Il numero di telefono dell'utente finale. |
{ANI} |
Il numero di telefono dell'utente finale. Conservato per la compatibilità con le versioni precedenti. |
{CUID} |
ID utente personalizzato |
{EMAIL} |
Email dell'utente finale |
{MENU_PATH} |
Il percorso completo del menu della coda. Ad esempio, "Ordini/Conferma ordine/Informazioni sull'ordine". |
{MENU_ID} |
ID menu |
{CHANNEL} |
Il canale della sessione. Valori possibili:
|
{TYPE} |
Il tipo di sessione. Valori possibili per le chiamate:
Valori possibili per le chat:
|
{SUPPORT_PHONE_NUMBER} |
Il numero di telefono del centro di assistenza chiamato dall'utente finale. |
{OUTBOUND_NUMBER} |
Il numero di telefono utilizzato da un agente per una chiamata in uscita. |
{SESSION_ID} |
L'ID sessione. Valori possibili:
|
{CUSTOM_AGENT_ID} |
Il campo facoltativo dell'ID agente nell'oggetto user. L'ID agente non può essere ottenuto finché non viene stabilita la sessione e non viene assegnato un agente. Per questo motivo, configura l'istanza in modo da ritardare la creazione dei record di chiamata o chat per consentire la definizione di questa variabile. Puoi ritardare la creazione dei record di chiamate o chat in Impostazioni > Gestione delle operazioni > Dettagli sulla creazione dei record CRM. Per
maggiori informazioni, consulta Dettagli
sulla creazione dei record CRM. |
Configurazione del portale CCAI Platform
Accedi al portale della piattaforma CCAI utilizzando un account con il ruolo Amministratore assegnato.
Vai a Impostazioni > Impostazioni sviluppatore.
Nella sezione CRM, seleziona CRM personalizzato.
In Ricerca CRM, inserisci gli URL personalizzati.
Seleziona il formato del numero di telefono da utilizzare nelle richieste CRM.
Fai clic su Salva modifiche.
Se non l'hai ancora fatto, configura il servizio di archiviazione esterno. Per saperne di più, consulta Archiviazione esterna.
Aggiornamento del record CRM via email
In configurazioni come l'URL di ricerca personalizzato, una volta completata una sessione, i metadati della sessione devono essere aggiornati nel CRM. Con questa funzionalità, CCAI Platform può inviare automaticamente i dati della sessione via email. Circa 15 minuti dopo la fine di una sessione, viene inviata un'email a una posizione configurata e i contenuti dell'email vengono utilizzati per aggiornare un record nel CRM. Questa funzionalità può essere configurata a livello globale e per coda. Una volta ricevuta l'email, il tuo CRM potrebbe essere configurato per aggiornare o creare un nuovo record CRM per la sessione.
Dettagli email
Inviato da no-reply@ccaiplatform.com
Contiene:
Subject line
Corpo con i metadati della sessione nella sintassi JSON
Allegato in formato TXT con la trascrizione della chat, se applicabile
La piattaforma CCAI attenderà 15 minuti dopo la fine della sessione, quindi invierà l'email.
Le email vengono inviate solo per le sessioni completate correttamente. Non viene inviato per le sessioni non riuscite o abbandonate.
Configurazione globale
Accedi al portale della piattaforma CCAI utilizzando un account con il ruolo Amministratore assegnato.
Vai a Impostazioni > Impostazioni sviluppatore.
Nella sezione CRM, assicurati che sia selezionato CRM personalizzato.
Attiva Invia il risultato della sessione via email.
Inserisci un indirizzo email a cui vuoi che venga inviata l'email.
Fai clic su Salva modifiche.
Configurazione per coda
Accedi al portale della piattaforma CCAI utilizzando un account con il ruolo Amministratore assegnato.
Vai a Impostazioni > Coda e seleziona una sottocoda.
Attiva Invia il risultato della sessione via email.
Inserisci un indirizzo email a cui vuoi che venga inviata l'email.

Fai clic su Salva impostazione CRM personalizzata.
Ereditarietà e override delle impostazioni
| Impostazioni | Comportamento |
|---|---|
| Global = NOT enabled Queue = NOT enabled |
Non inviare per tutte le code. |
| Globale = NON abilitato Coda = Abilitato |
L'impostazione della coda (ovvero lo stato on/off) esegue l'override dell'impostazione globale. L'email viene inviata da una determinata coda a un indirizzo email definito nell'impostazione della coda. |
| Globale = Attivato Coda = NON attivato |
L'impostazione della coda (indirizzo email, stato on/off) eredita l'impostazione globale. L'email viene inviata da una determinata coda a un indirizzo email definito nell'impostazione globale. |
| Globale = Attivata Coda = Attivata |
L'impostazione della coda (indirizzo email) sostituisce l'impostazione globale. L'email viene inviata da una determinata coda a un indirizzo email definito nell'impostazione della coda. Se l'indirizzo email è vuoto, l'email non viene inviata. |
Esperienza con l'agente
Ricerca di record CRM
Accedi al portale della piattaforma CCAI utilizzando un account con il ruolo Agente assegnato.
Apri l'adattatore di chiamata o chat.
Utilizza il pulsante Apri in una nuova finestra del browser per attivare la ricerca.
Utilizza il pulsante Copia link per copiare l'URL di ricerca negli appunti.

Archiviazione esterna per soluzioni CRM personalizzate
External Storage for Custom Solutions consente di utilizzare un servizio di archiviazione esterno per archiviare e recuperare i metadati della sessione di CCAI Platform, le registrazioni delle chiamate, le trascrizioni delle chat e i file multimediali caricati dai consumatori. I file vengono archiviati al di fuori di un CRM.
Per configurare l'archiviazione esterna, devi disporre di:
Un account CCAI Platform valido con ruolo di amministratore e agente assegnato per la configurazione e i test
Un servizio di archiviazione esterno
Struttura delle cartelle
La seguente struttura di cartelle verrà organizzata nello spazio di archiviazione esterno in Percorso cartella:
ujet-chat-transcripts
ujet-media
ujet-metadata
ujet-voice-recordings
ujet-voicemails
Formati file e convenzioni di denominazione
I seguenti tipi di file possono essere inviati al servizio di archiviazione esterno. I file vengono criptati durante il transito utilizzando HTTPS:
| File | Nome |
|---|---|
| Registrazioni delle chiamate | - call-{id}.mp3 - call-{id}.wav |
| File multimediali | - call-{id}-photo-{photo-id}.jpg - call-{id}-video-{video-id}.mp4 - chat-{id}-photo-{photo-id}.jpg - chat-{id}-video-{video-id}.mp4 |
| Trascrizioni delle chat | - chat-{id}.txt |
| Metadati della sessione | - call-{id}.json - chat-{id}.json |
Esperienza di agenti e supervisori
Durante la sessione di chiamata o chat, le foto e i video caricati dal consumatore utilizzando le azioni smart vengono visualizzati nell'adattatore dell'agente.
Se utilizzi l'interazione con il CRM tramite URL personalizzato combinata con il metodo di aggiornamento via email del file dei metadati della sessione, gli agenti e i supervisori possono accedere alle informazioni sulla sessione utilizzando il tuo server esterno.
Configurazione del servizio di archiviazione esterno
Completa questi passaggi per configurare lo spazio di archiviazione esterno:
Accedi al portale della piattaforma CCAI utilizzando un account con il ruolo di amministratore assegnato.
Vai a Impostazioni > Impostazioni sviluppatore.
Nella pagina Impostazioni sviluppatore, vai alla sezione Spazio di archiviazione esterno.
Attiva l'archiviazione delle informazioni al di fuori dei server CRM impostando l'opzione su On, quindi seleziona i tipi di file da archiviare.
Nella sezione Configurazione del server, seleziona il tipo di spazio di archiviazione e completa i passaggi di configurazione: Server SFTP, bucketGoogle Cloud .
Server SFTP
Inserisci l'host SFTP (URL o indirizzo IP).
Inserisci il numero della porta.
Inserisci l'ID utente di accesso SFTP.
Se il server SFTP richiede una password per l'autenticazione, inseriscila nel campo Password.
Se il server SFTP richiede una chiave privata per l'autenticazione, seleziona la casella di controllo Chiave privata SSH.
Inserisci (copia e incolla) la chiave privata SSH.
Inserisci la passphrase della chiave privata. Se le informazioni sulla sessione devono essere archiviate in una cartella specifica sul server SFTP, seleziona la casella di controllo Percorso cartella e inserisci il Percorso cartella SFTP.
Fai clic su Salva modifiche.
Cloud Storage
Inserisci il nome del bucket di destinazione Google Cloud .
Inserisci l'ID client Google Cloud .
Inserisci il Google Cloud client secret.
Se le informazioni sulla sessione devono essere archiviate in una cartella specifica nel bucket Google Cloud , seleziona la casella di controllo Percorso cartella e inserisci il percorso cartellaGoogle Cloud .
Fai clic su Collega e salva.
Test della configurazione dello spazio di archiviazione esterno
Per i CRM con integrazione standard esistente:
Accedi al tuo CRM.
Accedi alla piattaforma CCAI all'interno del CRM utilizzando le credenziali della piattaforma CCAI con un ruolo Agente assegnato.
Effettua una chiamata o avvia una chat. Viene visualizzato il record CRM associato alla sessione.
Al termine della sessione, il file della trascrizione dovrebbe essere caricato entro pochi secondi.
Vai direttamente alla cartella di archiviazione del server esterno e verifica che il file sia disponibile.
Invio dei file della sessione al CRM
Quando l'archiviazione esterna è abilitata, le impostazioni per sviluppatori Archiviazione CRM e URL di archiviazione esterna consentono di inviare file di sessione e decidere quale origine utilizzare per visualizzare i file nell'adattatore dell'agente.
Per visualizzare queste impostazioni, l'opzione Spazio di archiviazione esterno deve essere attivata in Impostazioni > Impostazioni sviluppatore > Spazio di archiviazione esterno. Attiva l'opzione Attiva l'archiviazione delle informazioni al di fuori dei server CRM.
Spazio di archiviazione CRM
Vai a Impostazioni > Impostazioni sviluppatore > Spazio di archiviazione esterno > Spazio di archiviazione CRM.
Seleziona la casella accanto a Invia anche i file della sessione al CRM per inviare file della sessione, come registrazioni delle chiamate o trascrizioni delle chat, al tuo CRM e allo spazio di archiviazione esterno configurato.
Fai clic su Salva modifiche.
Se la casella di controllo è selezionata, le registrazioni verranno archiviate sia nel CRM sia nello spazio di archiviazione esterno.
URL di archiviazione esterna
L'URL di archiviazione esterna viene utilizzato in due posizioni:
L'adattatore dell'agente.
Report: visualizza l'URL dei contenuti multimediali nel report e nei menu come Impostazioni, Chiamate, Completate.
Vai a Impostazioni > Impostazioni sviluppatore > Spazio di archiviazione esterno > URL dello spazio di archiviazione esterno.
Seleziona gli URL CRM o gli URL di archiviazione esterna di origine per visualizzare i file nell'adattatore dell'agente.
Fai clic su Salva modifiche.
Spazio di archiviazione CRM
Se la casella di controllo per lo spazio di archiviazione del CRM non è selezionata, le registrazioni verranno archiviate solo nello spazio di archiviazione esterno e verrà utilizzato un link al CRM.
Se la casella di controllo è selezionata, le registrazioni verranno archiviate sia nel CRM sia nello spazio di archiviazione esterno.
URL di archiviazione esterna
L'URL viene utilizzato in due posizioni:
Uno mostra i contenuti multimediali nell'adattatore della piattaforma CCAI. Lo spazio di archiviazione esterno o il CRM.
L'altro è nel report. Mostriamo l'URL dei contenuti multimediali nei report e nei menu come Impostazioni, Chiamate, Completate.
Visualizza il CRM personalizzato nel portale della piattaforma CCAI
Quando utilizzi l'integrazione CRM personalizzata con il tuo CRM personalizzato, puoi caricare il tuo CRM su una pagina dedicata all'interno del portale della piattaforma CCAI. Una volta attivata, la scheda CRM nel portale della piattaforma CCAI carica e visualizza la pagina CRM personalizzata. Puoi configurare questa opzione in Impostazioni sviluppatore > CRM.
Questa funzionalità consente agli agenti di gestire le sessioni di assistenza in tempo reale utilizzando gli adattatori di chiamata e chat della piattaforma CCAI e, al contempo, di lavorare nel tuo CRM personalizzato. Ciò include la revisione dei dettagli dell'account e dei record aperti automaticamente e dei file e dei dati specifici della sessione trasmessi dalla tua app mobile o dai consumatori, il tutto utilizzando il portale della piattaforma CCAI.
Configura una pagina CRM personalizzata
Per configurare una pagina CRM personalizzata, segui questi passaggi:
Nel portale della piattaforma CCAI, fai clic su Impostazioni > Impostazioni sviluppatore. Se non vedi il menu Impostazioni, fai clic su Menu.
Nel riquadro CRM, fai clic su CRM personalizzato.
Attiva l'opzione Mostra CRM nel portale della piattaforma CCAI.
In URL di visualizzazione, inserisci l'URL della pagina CRM personalizzata, quindi fai clic su Salva.
Apri lo screen pop dell'URL personalizzato
Utilizza Apri URL personalizzato per visualizzare un popup dello schermo con un URL personalizzato quando un contatto non viene trovato nel sistema. Crea un record CRM con un ID account temporaneo e attiva un link personalizzato con parametri basati sulla configurazione a livello di coda.
Attiva il pop-up dello schermo per ogni coda
Vai a Impostazioni > Coda > IVR, fai clic su una coda per modificarla.
Vai ad Apri URL personalizzato nel riquadro.
Inserisci un URL per visualizzare un pop-up sullo schermo.
Includi i parametri delle variabili {ACCOUNT_ID} e {PHONE_NUMBER} nell'URL.
Viene fornito un esempio.
- Fai clic su Salva.
Integrazione API generica del CRM personalizzato
Il metodo di integrazione API generico offre la possibilità di utilizzare l'API del tuo CRM per stabilire una connessione bidirezionale con la piattaforma CCAI. Questo metodo fluido offre la stessa esperienza dell'integrazione CRM pronta all'uso.
L'agente non deve intraprendere alcuna azione per creare un record CRM per le sessioni di chiamata o chat. A seconda della configurazione univoca dell'API, può consentire una ricerca e un aggiornamento dei record senza interruzioni.
Terminologia
Durata |
Descrizione |
Account |
Viene utilizzato per fare riferimento all'entità Account/Contatto/Cliente/Lead nel CRM. Il tuo CRM potrebbe avere un altro nome per questa entità. Gli account contengono record. |
Registra |
Viene utilizzato per fare riferimento all'entità Richiesta/Ticket/Conversazione/Incidente nel CRM. Il tuo CRM potrebbe avere un altro nome per questa entità. I record appartengono agli account. |
Commento |
Viene utilizzato per fare riferimento all'entità Commento/Nota nel CRM. Il tuo CRM potrebbe avere un altro nome per questa entità. I commenti appartengono ai record. |
Impostazioni API
Questa sezione descrive le impostazioni specifiche per le impostazioni dell'API CRM personalizzata.
Metodo di autenticazione
La piattaforma CCAI supporta tre metodi di autenticazione per il tuo CRM:
Autenticazione di base: configura le credenziali di autenticazione che includono Nome utente e Password.
Intestazione personalizzata: configura le coppie chiave-valore dell'intestazione personalizzata: Chiave campo e Valore campo. Inserisci tutte le coppie di cui hai bisogno.
OAuth: la piattaforma CCAI supporta il protocollo standard di settore per l'autorizzazione OAuth 2.0. Specifica le informazioni OAuth se devi attivare l'opzione "Includi l'URL di reindirizzamento nell'URL di autorizzazione e nell'URL del token".
Configura i seguenti valori:
URL di autorizzazione (obbligatorio)
URL del token (obbligatorio)
ID client (obbligatorio)
Client secret (obbligatorio)
Ambito
Stato
Tipo di accesso
Formato del numero di telefono
Seleziona il formato del numero di telefono da utilizzare nelle richieste CRM:
Automatico: Crea: +1 222 333 4444, Cerca: *222*333*4444
E.164: +12223334444
Numero locale negli Stati Uniti: 2223334444
Standard locale degli Stati Uniti: (111) 222-3333
Internazionale: +1 222 333 4444
Timeout della richiesta API
Configura il timeout della richiesta API da 1 a 10 secondi utilizzando il menu a discesa. Questo timeout verrà applicato a tutti gli endpoint configurati.
URL di ricerca CRM
Specifica gli URL di ricerca che verranno utilizzati per indirizzare un agente all'account e al record correnti.
Inserisci gli URL di ricerca così come vengono visualizzati nel CRM quando hai una pagina di account o record aperta nel browser.
Puoi anche utilizzare gli URL di ricerca CRM con l'SDK web e gli SDK mobile. Puoi configurare gli SDK in modo che cerchino le informazioni sull'account e sul record CRM da visualizzare nell'adattatore dell'agente. Per un elenco completo degli URL di ricerca CRM, consulta Parametri URL di richiesta.
URL per la ricerca dell'account
Utilizza la variabile {ACCOUNT_ID} per inserire l'ID account effettivo.
Esempio:
https://www.example.com/contact/{ACCOUNT_ID}
URL di ricerca dei record
Utilizza la variabile {RECORD_ID} per inserire l'ID record effettivo.
Esempio:
https://www.example.com/record/{RECORD_ID}
Endpoint API
Questa è la configurazione più importante per l'API generica.
Per rendere disponibile la ricerca dell'account per i tuoi agenti, devi configurare gli endpoint Trova un account e Crea un account.
Inoltre, puoi configurare gli endpoint Trova un record e Crea un record per consentire agli agenti di cercare o creare record. Per farlo, è necessario aver configurato l'account nel passaggio precedente.
Infine, se inserisci gli endpoint Aggiorna un record, Carica un file e Commenta, verranno attivati gli aggiornamenti dei record. Per farlo, è necessario aver completato la configurazione dei record nel passaggio precedente.
Configurazione endpoint
Configura le seguenti impostazioni:
URL della richiesta: URL dell'endpoint API.
Scegli il metodo di richiesta tra POST, GET, PUT o PATCH.
Specifica i parametri della richiesta. Puoi utilizzare le variabili definite dalla piattaforma CCAI per trasmettere le informazioni richieste (vedi la tabella di seguito). Inoltre, puoi inserire testo normale o numeri come valori dei parametri. Puoi aggiungere tutti i parametri che vuoi.
Se l'endpoint è POST/PUT/PATCH, CCAI Platform offre controlli di perfezionamento su come viene creata la richiesta. Scegli Richiedi formato dei dati da Proprietà o Contenitore. Specifica il formato del JSON della richiesta.
Proprietà. Ciò indica che l'oggetto della richiesta è una mappa delle proprietà di base quando CCAI Platform crea il corpo della richiesta dai parametri.
Container. Ciò indica che i dati dell'oggetto della richiesta da inviare devono essere nidificati all'interno di una struttura. Scegli Tipo di container da Mappa o Array. Inserisci il Nome contenitore. Viene utilizzato come nome dell'oggetto principale durante la creazione del corpo della richiesta dai parametri.
Esempio: mappa: { container_name : { …parameters } }
Esempio: Array: {container_name : [ { …parameters } ] }
Inserisci la posizione dei dati di risposta. Viene utilizzato per individuare l'oggetto di risposta di destinazione nella risposta JSON.
Parametri URL della richiesta
| Parametro | Variabile | Commento |
|---|---|---|
| ID agente | {AGENT_ID} |
L'ID agente interno. |
| ID personalizzato dell'agente | {AGENT_CUSTOM_ID} |
Campo facoltativo del profilo dell'utente. |
| Email agente | {AGENT_EMAIL} |
L'indirizzo email dell'agente che risponde, se applicabile. |
| Nome dell'utente finale | {NAME} |
|
| Nome dell'utente finale | {FIRST_NAME} |
Tratto da Name |
| Cognome dell'utente finale | {LAST_NAME} |
Tratto da Name, il valore predefinito è -- se mancante. |
| ID esterno | {UJET_ID} |
ID utente finale della piattaforma CCAI |
{EMAIL} |
||
| Tipo di chiamata/Tipo di sessione | {SESSION_TYPE} |
|
| Numero di telefono dell'utente finale | {PHONE_NUMBER} |
Formattato utilizzando la scelta dell'impostazione |
| ID chiamata | {Call_ID} |
ID chiamata della piattaforma CCAI. |
| ID chat | {Chat_ID} |
ID chat di CCAI Platform. |
| Lingua | {LANG} |
|
| UID personalizzato | {CUSTOM_USER_ID} |
Per i dispositivi mobili: si trova sul lato sinistro dell'email. Ad esempio, test.user3 da test.user3@test.co |
| ID account | {ACCOUNT_ID} |
Trovato chiamando l'endpoint Trova/Crea contatto. |
| ID record | {RECORD_ID} |
Trovato chiamando l'endpoint Find/Create record. |
| ID sessione | {SESSION_ID} |
ID sessione CCAI Platform |
| Percorso del menu | {MENU_PATH} |
|
| Numero di telefono in uscita | {OUTBOUND_PHONE_NUMBER} |
Formattato utilizzando la scelta dell'impostazione |
| Nome coda | {QUEUE_NAME} |
|
| ID coda | {QUEUE_ID} |
L'ID coda interno. |
| Nome SDK | {SDK_NAME} |
Nome dell'utente finale indicato nell'SDK web o nell'SDK mobile. |
| Email dell'SDK | {SDK_EMAIL} | Indirizzo email dell'utente finale come indicato nell'SDK web o nell'SDK mobile. |
| SDK Phone | {SDK_PHONE} | Numero di telefono dell'utente finale come indicato nell'SDK web o nell'SDK mobile. |
| Identificatore SDK | {SDK_IDENTIFIER} |
Identifica un utente finale o un account dell'SDK web o mobile. Non includere PII in questa proprietà. Quando crei un account, questo identificatore è obbligatorio nella richiesta. |
| ID sessione SmartAction | {SMART_ACTION_SESSION_ID} |
|
| SmartAction: verifica | Disponibile a breve. | |
| SmartAction: inserimento di testo | Disponibile a breve. | |
| Valutazione | {RATING} |
Disponibile solo se un utente l'ha lasciata |
| Messaggio di feedback | {FEEDBACK} |
Disponibile solo se un utente l'ha lasciata |
| Durata chiamata | {CALL_DURATION} |
In mm:ss |
| Tempo di attesa | {HOLD_TIME} |
In mm:ss |
| Tempo di attesa | {WAIT_TIME} |
In mm:ss |
| Durata del lavoro dopo la chiamata | Disponibile a breve. | |
| Tipo di dispositivo | {DEVICE_TYPE} |
|
| Disconnessione eseguita da | {DISCONNECTED_BY} |
|
| Canale | {CHANNEL} |
|
| Registra oggetto | {TICKET_SUBJECT} |
Utilizzata come titolo del record |
| Descrizione del record | {TICKET_DESCRIPTION} |
|
| HTML descrizione record | {TICKET_DESCRIPTION_HTML} |
Same as description just formatted for html |
| Testo del commento | {COMMENT_BODY} |
Disponibile solo nella situazione di aggiunta di un commento (salvataggio della valutazione, fine della chiamata/chat, inizio della chiamata/chat) |
| Dati del file | {FILE_DATA} |
Disponibile solo nell'endpoint del file di caricamento, ma contiene i dati o il formato base64 per il modulo multiparte. |
Funzioni dei parametri URL di richiesta
Sono fornite funzioni per facilitare l'utilizzo delle variabili dinamiche di CCAI Platform. Queste funzioni sono disponibili solo per l'utilizzo nella sezione Parametro di richiesta delle impostazioni dell'endpoint.
Il valore risultante creato da una funzione sarà una stringa. Se la funzione non restituisce valori, il parametro viene rimosso dall'elenco dei parametri nella richiesta prima dell'esecuzione.
| Funzione | Sintassi della funzione | Descrizione |
|---|---|---|
| Valore predefinito | =DEFAULT_VALUE(val1, val2) |
Il valore utilizzerà val1, a meno che non sia null o vuoto, e tornerà al valore predefinito val2. |
Concatenazione Or | =CONCAT_OR(val1, val2,
val3) | Concatenazione di più valori con or. Esempio: "val1 or val2 or val3" |
Concatenazione And | =CONCAT_AND(val1, val2,
val3) | Concatenazione di più valori con and. Esempio: "val1 and val2 and val3" |
Esempi
Di seguito sono riportati alcuni esempi di utilizzo della funzione del parametro URL della richiesta.
Predefinito
L'esempio seguente utilizza DEFAULT_VALUE in Create a Record Endpoint.
La chiave e il valore per la configurazione dell'agente utilizzano la funzione predefinita per avere un valore di riserva nel caso in cui il valore dell'email di un agente sia vuoto. L'email dell'agente potrebbe essere vuota al momento della creazione del record per alcuni motivi: un cliente potrebbe aver terminato la chiamata IVR prima che un agente assegnato risponda alla chiamata in arrivo o, nel caso delle chat, verrà creato un record prima che un agente risponda. In questo modo, ai parametri obbligatori potrebbero essere assegnati valori predefiniti sicuri fino ai successivi aggiornamenti o impostati in caso di chiamate abbandonate.

Concatenazione
L'esempio seguente utilizza CONCAT_OR nell'endpoint Find an Account by Query. Questo esempio è specifico per Zoho CRM, ma mostra come utilizzare CONCAT_OR. CONCAT_AND segue le stesse regole, ma collega i valori con and anziché con or. Consulta i seguenti casi per i valori presenti nell'endpoint al momento dell'esecuzione e il valore risultante passato come parametro di richiesta.

| Chiavi presenti | Valore risultante |
|---|---|
ACCOUNT_ID |
(Id:equals:<uuid>) |
ACCOUNT_ID, EMAIL |
(Id:equals:<uuid>) o (Email:equals:kim@example) |
PHONE_NUMBER, EMAIL |
(Phone:equals:+12223334444) o (Email:equals:kim@example) |
Account API
Gli endpoint dell'account API supportano l'integrazione con gli account nel CRM.
Le chiamate agli endpoint che restituiscono un errore 400 vengono ripetute. Le chiamate che restituiscono altri errori non vengono ripetute. I nuovi tentativi continuano per una settimana, diminuendo con una riduzione esponenziale. Per informazioni sui flussi dell'API, consulta API generica del CRM personalizzato: flussi.
Endpoint per trovare un account tramite query (precedentemente endpoint per trovare un account)
Questo endpoint viene utilizzato per trovare un account tramite numero di telefono, email o ID CRM interno. Questo è l'endpoint predefinito utilizzato per trovare un account.
Esempio di risposta:
{
"id": 123,
"name": "Kim",
"phone": "11234567890",
"email": "Kim@agents.co"
}
Endpoint Find an account by ID (Trova un account per ID)
Questo endpoint viene utilizzato per trovare un account in base all'ID. In genere, questo ID fa parte dell'URL. La convalida dell'URL terrà conto anche del fatto che, se l'URL non è formato con l'ID, questo endpoint non verrà utilizzato. Questo seguirà gli standard REST. Se viene restituito un errore 404 in caso di ricerca non riuscita, la ricerca per query sarà la successiva.
Esempio di risposta:
{
"id": 123,
"name": "Kim",
"phone": "11234567890",
"email": "Kim@agents.co"
}
Crea un endpoint dell'account
Questo endpoint viene utilizzato per creare un account se non ne abbiamo trovato uno. La maggior parte dei CRM richiede che i record siano collegati agli account. Per creare un flusso unificato, applichiamo questo requisito a tutti i CRM.
Record API
Gli endpoint dei record dell'API offrono la possibilità di integrazione con i record o i casi nel tuo CRM.
Trova un record per query (in precedenza endpoint Trova un record)
Questo endpoint viene utilizzato per trovare un record in base a un criterio. In genere, viene utilizzato per trovare i record associati a un account. Se la piattaforma CCAI è configurata per riutilizzare i record esistenti, verrà utilizzato il record trovato. Questo è l'endpoint predefinito utilizzato per trovare un record.
Esempio di risposta:
{
"id": 456,
"subject": "Record title",
"status": "open", // enumerated status open/closed, or 1,2,3
"contactId": 123, // contact attached to ticket
"phone": "11234567890", // contact phone
}
Crea un endpoint di registrazione
Questo endpoint viene utilizzato per creare un record. Se non viene trovato un record dalla richiesta Trova un record o se la piattaforma CCAI è configurata per non riutilizzare i record esistenti, viene creato un nuovo record.
Esempio di richiesta:
{
"id": 123,
"subject": "Record title",
"description": "A longer description of the record, can be formatted in html",
"phone": "11234567890", // can be saved in multiple formats
"contactId": 123,
"sourceType": "PHONE", // PHONE/CHAT
"menu": "queue1",
"direction": "outgoing",
"rating": 5, // 1-5 scale
"feedback": "the agent was great!" // description of rating
}
Aggiorna un endpoint di record
Questo endpoint viene utilizzato per aggiornare un record. Aggiorna il titolo e la descrizione del record. Questo endpoint funziona anche, facoltativamente, per aggiornare il record in base agli eventi della piattaforma CCAI, come il salvataggio della valutazione CSAT, gli eventi di fine chiamata o chat, le code selezionate, la verifica degli utenti e altri.
Endpoint per il caricamento di un file
Questo endpoint viene utilizzato per caricare un allegato.
Scegli il Tipo per l'endpoint di caricamento
Modulo codificato in Base64
Modulo multiparte
Seleziona i file da allegare
Registrazioni delle chiamate
Trascrizioni delle chat
Messaggi vocali
Foto
Video
File dei metadati della sessione
Scegli Tipo di allegato tra ID e URL allegato. Specifica il formato del JSON della risposta.
ID
ID allegato. Inserisci la posizione di un parametro nella risposta JSON per l'ID dell'allegato. Sarà disponibile per l'URL del generatore di allegati come {ATTACHMENT_ID}.
URL di Attachment Builder. Inserisci l'URL per scaricare l'allegato del file. RECORD_ID e ATTACHMENT_ID sono variabili disponibili.
Esempio:
https://www.example.com/Accounts/{RECORD_ID}/Attachments/{ATTACHMENT_ID}URL dell'allegato
Inserisci la posizione di un parametro nella risposta JSON per l'URL di download del file.
Seleziona la casella di controllo Aggiungi commento al record CRM se vuoi che la piattaforma CCAI lasci un commento a un record quando è stato caricato un file. Per questi commenti verrà rispettata l'impostazione Text Format dell'endpoint Comment.
Di seguito è riportato un esempio di modulo multiparte che utilizza POST/PUT/PATCH:
{
"file": <file data>
"id": 123, // optional, this can also just be part of the URL;
// for example https://example-customer.com/upload/record/{RECORD_ID}
}
Esempio di risposta:
Esempio A: esiste un URL di download
{
"id": 123,
"url": "https://some-hosted-url.com"
}
Esempio B
In questo caso, non esiste un URL di download, ma esiste un endpoint di download degli allegati che utilizza questo ID. Ad esempio,
https://www.customer-api.com/record/{RECORD_ID}/Attachments/{ATTACHMENT_ID}.
{
"id": 123
}
Endpoint Comment
Questo endpoint viene utilizzato per aggiungere un commento a un record. Se l'endpoint è configurato, la piattaforma CCAI aggiungerà commenti ai record con gli eventi:
inizio della chiamata o della chat
fine della chiamata o della chat
Valutazione e commento CSAT
pacchetto di dati dei clienti personalizzato
trasferisci i commenti
codice di disposizione e note
domande e risposte del sondaggio
Scegli Formato testo per i commenti. Se la casella di controllo Converti testo in HTML è selezionata, il testo sarà in formato HTML, altrimenti sarà in testo normale.
Richiesta di esempio, POST/PUT/PATCH:
{
"comment": "Some text",
// string can also be formatted on CCAI Platform side as HTML).
"id": 123,
// optional, this can also just be part of the URL;
// for example https://example-customer.com/comment/record/{RECORD_ID}
}
API generica del CRM personalizzato: flussi
L'integrazione del CRM personalizzato (API generica) della piattaforma CCAI funziona come un insieme di flussi. All'inizio di una chiamata, di una chat o di un messaggio vocale, la piattaforma esegue i passaggi di configurazione dell'account e del record, che trovano o creano un account e un record (ad esempio un ticket o un caso) nel tuo CRM. Durante e dopo l'interazione, esegue anche azioni come commenti, aggiornamenti dei record e caricamenti di file. I seguenti diagrammi di flusso mostrano quando viene eseguito ogni passaggio e cosa deve essere configurato per l'esecuzione.
Quando vengono eseguiti i flussi
Questi flussi vengono eseguiti in punti diversi di un'interazione. I passaggi di account e registrazione vengono eseguiti durante l'interazione. Le registrazioni, le trascrizioni e i messaggi vocali vengono caricati al termine dell'interazione, insieme al commento, all'aggiornamento del record e ad altre azioni successive alla sessione. Gli allegati (foto, video, documenti e audio) vengono caricati man mano che vengono condivisi durante l'interazione. Prima dell'esecuzione di uno di questi flussi:
- Si è verificato l'attivatore dell'azione, ad esempio un file è disponibile per il caricamento o la chiamata, la chat o il messaggio vocale sono terminati.
- L'azione pertinente è attivata nelle impostazioni del CRM personalizzato. Ad esempio, il tipo di file è abilitato per il caricamento o l'endpoint API Comment o API Update è configurato.
- Per qualsiasi operazione di scrittura nel CRM (caricamento in un record, pubblicazione di un commento o aggiornamento di un record), gli endpoint richiesti sono configurati ed esiste un record per la sessione. Se il record non è ancora stato creato, la piattaforma sospende l'azione e la esegue automaticamente non appena il record esiste.
Il caricamento di un file su uno spazio di archiviazione esterno non richiede un record. Il requisito di registrazione si applica alle scritture CRM.
In alcune configurazioni, l'account funge da record della sessione: quando la creazione del record viene saltata e i dati della sessione vengono inviati all'account CRM, gli endpoint di commento, caricamento e aggiornamento a livello di account vengono utilizzati al posto degli endpoint a livello di record. Nei diagrammi, "record" include un account che funge da record della sessione quando questa configurazione è abilitata.
Per l'ordinamento di account, record e post-sessione, i tempi di ripetizione e il comportamento in caso di errore, consulta Gestione degli errori, nuovi tentativi e ordinamento delle chiamate nel CRM personalizzato (API generica).
Diagrammi di flusso
In questi diagrammi di flusso, tre risultati vengono visualizzati ripetutamente:
| Risultato | Che cosa significa |
|---|---|
| Ignorato | L'azione è disattivata dalla configurazione, quindi non viene inviato nulla. |
| Bloccato | L'azione è configurata, ma attende che il record esista, quindi viene eseguita automaticamente. |
| Configurazione incompleta | Manca un endpoint obbligatorio, pertanto l'azione non può essere eseguita. |
Flusso di base
Un'interazione esegue il passaggio dell'account, poi il passaggio della registrazione e infine le azioni post-sessione. Ogni passaggio viene eseguito solo quando vengono configurati i relativi endpoint e impostazioni. I caricamenti su spazio di archiviazione esterno vengono eseguiti senza un record; altre azioni post-sessione scrivono nel CRM e attendono che esista un record. Questa panoramica mostra il percorso post-sessione; i file condivisi durante l'interazione seguono il flusso di caricamento dei file non appena diventano disponibili.

Trova o crea un account
La piattaforma cerca l'account in base a un ID, un numero di telefono, un indirizzo email o un metodo di corrispondenza configurato. Se non viene trovato alcun account e la creazione dell'account è abilitata, ne crea uno o un account anonimo se non sono presenti dettagli identificativi. Un account trovato o creato viene quindi collegato alla sessione.

Trova o crea record
Quando la modalità di registrazione è attiva, la piattaforma riutilizza un record esistente per la sessione se è ancora utilizzabile; in caso contrario, crea un nuovo record. L'ID record può essere fornito con la richiesta o provenire da un record già associato all'interazione. Quando con la richiesta viene fornito un ID record, la piattaforma aggiunge anche un commento che indica se ha riutilizzato il record o se ne ha creato uno nuovo.

Aggiorna record
Una volta che un record esiste, la piattaforma invia una richiesta di aggiornamento creata dal modello configurato. Se l'endpoint di aggiornamento è impostato su un valore segnaposto, l'aggiornamento viene ignorato.

Azioni post-sessione
Dopo una sessione, possono essere eseguite diverse azioni indipendenti, ciascuna attivata dal proprio evento: una chiamata, una chat o un'email terminata; una valutazione inviata; un sondaggio con risposta; o la disponibilità di una registrazione, una trascrizione o un messaggio vocale post-sessione. I caricamenti di file seguono il flusso di caricamento dei file; le azioni di commento e aggiornamento scrivono nel CRM e attendono che esista un record.

Commento
Un commento può essere pubblicato tramite un'azione di completamento, valutazione, sondaggio o caricamento di file. Richiede un endpoint Comment dell'API e un record esistente e attende finché il record non esiste. Il commento viene pubblicato in formato HTML o testo normale, a seconda dell'impostazione dei commenti.

Flusso di caricamento dei file
L'unità di archiviazione esterna è abilitata per tipo di file. Se è abilitata per un tipo di file, il file viene archiviato nell'unità di archiviazione esterna; in caso contrario, il file viene archiviato nel CRM. Un'impostazione separata può anche caricare il file nel CRM dopo averlo inviato allo spazio di archiviazione esterno. Le scritture nel CRM (un file allegato o un commento) vengono eseguite solo una volta che esiste un record.

Adattatori degli agenti
Un CRM personalizzato offre un metodo generico per integrare gli adattatori (widget UI) nei sistemi CRM. Il sistema CRM deve essere in grado di gestire il modo in cui gli adattatori vengono attivati e attivati al suo interno.
Per integrare gli adattatori dell'interfaccia utente, in genere è necessario un software o un'applicazione CRM. Forniamo già questa funzionalità per diversi software CRM, come Salesforce, Kustomer, Zendesk e altri.
iFrame
Gli adattatori per agenti possono essere integrati perfettamente in un CRM o in qualsiasi altro strumento tramite l'utilizzo di un tag iframe. Per scoprire di più sul tag iframe HTML, consulta Tag iframe HTML.
Tuttavia, il CRM deve gestire il modo in cui gli adattatori vengono presentati all'utente. Ad esempio, potrebbe includere pulsanti dell'interfaccia utente per mostrare e nascondere gli adattatori. Inoltre, gli adattatori possono essere progettati per essere trascinabili, consentendo all'agente di riposizionarli sullo schermo a suo piacimento. I seguenti esempi mostrano il formato dell'URL.
Adattatore per chiamate:
https://tenant.loc.ccaiplatform.com/agent/?type=call&from=custom
Adattatore chat:
https://tenant.loc.ccaiplatform.com/agent/?type=chat&from=custom
Modello di iframe
Adattatore per chiamate:
html
<iframe src="https://tenant.loc.ccaiplatform.com/agent/?type=call&from=custom" allow="microphone; camera; geolocation" width="290" height="600"></iframe>
Adattatore chat:
html
<iframe src="https://tenant.loc.ccaiplatform.com/agent/?type=chat&from=custom" allow="microphone; camera; geolocation" width="450" height="590"></iframe>
Quando incorpori gli adattatori, tieni presente quanto segue:
L'attributo
allowè obbligatorio. L'adattatore per chiamate utilizza WebRTC e richiedemicrophone;cameraegeolocationsono necessari per la condivisione schermo e le funzionalità di conoscenza della posizione. Se le autorizzazioni non vengono delegate all'iframe, il browser le blocca senza avvisi e l'agente non può rispondere alle chiamate.Incorpora un adattatore per iframe. Ogni adattatore mantiene la propria connessione in tempo reale, quindi gli adattatori di chiamata e chat sono due iframe separati e pubblicano gli eventi in modo indipendente.
L'adattatore rileva che è incorporato dal fatto che la finestra principale si trova su un'origine diversa. Pubblica la pagina host dal tuo dominio anziché dal dominio tenant della piattaforma CCAI.
Parametri URL
I parametri URL possono essere utilizzati per fornire informazioni aggiuntive al software, come il tipo di interazione (chiamata o chat), l'origine dell'interazione (personalizzata) e altri dettagli pertinenti.
Se l'impostazione CRM del tenant non è disponibile negli elenchi, il parametro Da deve essere sempre impostato su Personalizzato.
Tipo
- Chiamata
- Chat
Da
- Personalizzato (deve corrispondere all'impostazione CRM del tenant). Deve essere sempre custom per qualsiasi CRM diverso da quelli negli elenchi. Se non è presente una configurazione CRM, puoi saltare questo parametro.
Eventi negli adattatori degli agenti
Gli adattatori degli agenti pubblicano eventi che possono essere agganciati dal sistema CRM, che poi elabora gli aggiornamenti al CRM. Per farlo, il CRM deve ascoltare i post dalla finestra principale e leggere i dati dei post. In base ai dati, può attivare azioni come l'apertura di una scheda del ticket per un ID sessione specifico.
Sia l'adattatore per chiamate che l'adattatore per chat hanno eventi specifici che possono essere utilizzati per migliorare le funzionalità del CRM.
Adattatore per chiamate
- Nuova chiamata
- Consumer aggiunto
- Oscuramento della chiamata avviato
- Oscuramento della chiamata terminato
- Termina chiamata
Adattatore di Chat
- Nuova chat
- Chat attiva
- Messaggio in entrata della chat
- Messaggio in uscita della chat
- Modulo inviato
- Modulo completato
- Termina la chat
- Chat ignorata
Entrambi gli adattatori
- Accesso agente
- Sessione di condivisione schermo avviata
- Il controllo remoto della sessione di condivisione schermo è cambiato
- Sessione di condivisione schermo con dispositivo intero modificata
- Sessione di condivisione schermo terminata
- Trasferisci
- Festa aggiunta
- L'agente si connette alla sessione
- Disconnessione dell'agente
- Agent Assist aggiunto
- Assistente virtuale per l'assistenza alle attività aggiunto
- Assistente virtuale per l'assistenza alle attività ha abbandonato la riunione
- Variabili di sessione dell'assistenza alle attività virtuale ricevute
- Pop-up dei record CRM
- Apri la pagina di terze parti
Formato del messaggio
Ogni evento viene inviato con l'API
window.postMessage()
del browser dall'iframe dell'adattatore alla finestra principale diretta (window.parent). La
finestra principale lo riceve come
MessageEvent.
Il messaggio ha le seguenti caratteristiche:
event.dataè una stringa JSON, non un oggetto. Chiama sempreJSON.parse(event.data)prima di leggerlo. Poiché anche altri script della pagina potrebbero utilizzarepostMessage()con payload non JSON, racchiudi l'analisi in un bloccotry/catch.L'oggetto analizzato ha esattamente due chiavi di primo livello:
{ "type": "<event type>", "data": { ... } }typeè una delle stringhe elencate in Tipi di eventi.datacontiene i campi degli eventi descritti in Dati per gli eventi. Tutti i campi specifici dell'evento si trovano all'interno didata, mai al livello superiore.I campi vuoti vengono omessi. Prima della pubblicazione, l'adattatore rimuove qualsiasi campo in
datail cui valore ènull,undefinedo una stringa vuota. Considera ogni campo come potenzialmente assente e non fare affidamento sulla presenza di una chiave con un valorenull.L'adattatore pubblica con un'origine target di
*, quindi il messaggio viene inviato a qualsiasi pagina che incorpora l'iframe. L'adattatore non limita chi può ricevere gli eventi. Il listener deve controllareevent.originrispetto all'host del tenant (ad esempiohttps://tenant.loc.ccaiplatform.com) e ignorare i messaggi provenienti da qualsiasi altra origine, in modo che un iframe diverso sulla stessa pagina non possa eseguire lo spoofing degli eventi dell'adattatore.I valori
typesono sensibili alle maiuscole e non sono scritti in modo uniforme. La maggior parte èTitle_Case(New_Call,End_Chat); alcuni sono in minuscolo (call_redaction_started,call_redaction_ended,agent_assist_added) o camelCase (openThirdPartyPage). Confronta con le stringhe esatte in questo documento.Gli eventi vengono pubblicati solo quando l'adattatore è incorporato (la finestra principale è una finestra diversa). Se l'adattatore viene aperto come pagina di primo livello, non viene pubblicato nulla.
L'esempio seguente mostra un listener minimo che applica queste regole:
// Replace with the origin of your tenant.
const ADAPTER_ORIGIN = 'https://tenant.loc.ccaiplatform.com'
window.addEventListener('message', (event) => {
if (event.origin !== ADAPTER_ORIGIN) {
return
}
let message
try {
message = JSON.parse(event.data)
} catch (e) {
// Not an agent adapter event; another script on the page posted it.
return
}
const { type, data = {} } = message
switch (type) {
case 'New_Call':
// data.call_id, data.agent_id, data.queue_id, ...
break
case 'New_Chat':
// data.chat_id, data.agent_id, data.queue_id, ...
break
case 'CRM_Record_Pop':
// data.recordUrl
break
default:
// Ignore event types you don't handle; new types may be added over time.
break
}
}, false)
Messaggi all'adattatore dell'agente
La comunicazione è per lo più unidirezionale (dall'adattatore all'host), ma la pagina host può inviare un piccolo insieme di comandi all'adattatore per chiamate con postMessage(). Questi messaggi sono oggetti semplici (non stringhe JSON) con il seguente schema:
iframe.contentWindow.postMessage({
channel: '<channel name>',
eventType: '<event type>'
}, ADAPTER_ORIGIN)
I seguenti comandi sono supportati sul canale api:redaction. Vengono utilizzate per mettere in pausa e riprendere la registrazione per l'oscuramento delle chiamate dalla pagina dell'host.
eventType |
Descrizione |
|---|---|
start_call_redaction |
Metti in pausa la registrazione della chiamata attiva per avviare l'oscuramento. |
stop_call_redaction |
Riprendi la registrazione della chiamata attiva per interrompere l'oscuramento. |
Tieni presente quanto segue:
I comandi vengono eseguiti solo quando l'oscuramento delle chiamate è abilitato per il tenant e c'è una chiamata attiva. In caso contrario, l'adattatore registra che il messaggio è stato ignorato e non esegue alcuna operazione.
Quando l'adattatore agisce in base al comando, invia l'evento
call_redaction_startedocall_redaction_endedcorrispondente all'host, in modo che tu possa confermare che lo stato della registrazione è effettivamente cambiato.Passa sempre l'origine del tenant come secondo argomento a
postMessage()anziché a*, in modo che il comando non possa essere inviato a una pagina diversa se l'iframe viene esplorato.Il canale
crm:authorityprecedente con i tipi di eventiredact_call:starteredact_call:stopè ancora accettato dall'adattatore CRM personalizzato per la compatibilità con le versioni precedenti, ma le nuove integrazioni devono utilizzareapi:redaction.
Per saperne di più, consulta Oscuramento delle chiamate.
Dati per gli eventi
call_id: questo è un identificatore per una chiamata in entrata vocale con IVR (Risposta Vocale Interattiva).chat_id: questo è un identificatore per una chiamata in entrata di messaggistica (chat web o mobile).cobrowse_session_id: questo è un identificatore per una sessione di condivisione schermo. Una sessione di condivisione schermo può essere avviata durante una chiamata o una sessione di chat.session_type: il tipo di sessione, ad esempio voce, chat o messaggistica.va_data_parameters: tutte le variabili configurate nella coda da inviare all'agente virtuale. Questo è obbligatorio solo per gli eventi che coinvolgono l'agente virtuale. Facoltativo.session_variable: tutte le variabili dell'agente virtuale che vengono inviate alla piattaforma CCAI nel payload. Facoltativo.custom_sip_headers: consente di visualizzare le intestazioni SIP personalizzate delle chiamate SIP in arrivo nel log eventi POST. È obbligatorio solo se vengono utilizzate intestazioni SIP personalizzate. Facoltativo.custom_data_secured: contiene dati personalizzati firmati dal tuo server. Facoltativo.custom_data_not_secured: contiene dati personalizzati non firmati della tua pagina web. Per saperne di più, consulta Dati personalizzati non firmati di Chat. Facoltativo.
ID agente
agent_id: questo è un identificatore per un agente.from_agent_id: utilizzato per l'instradamento di chiamate o chat da un agente a un altro, per indicare l'agente di origine.to_agent_id: utilizzato per l'instradamento di chiamate o chat da un agente a un altro, per indicare l'agente di destinazione.agent_custom_id: l'ID agente del profilo utente, se è stato inserito nel profilo. Facoltativo.from_agent_custom_id: utilizzato per l'instradamento di chiamate o chat da un agente a un altro, per indicare l'agente di origine.to_agent_custom_id: utilizzato per l'instradamento di chiamate o chat da un agente a un altro, per indicare l'agente di destinazione.agent_email: l'indirizzo email dell'agente.from_agent_email: utilizzato per l'instradamento di chiamate o chat da un agente a un altro, per indicare l'agente di origine.to_agent_email: utilizzato per l'instradamento di chiamate o chat da un agente a un altro, per indicare l'agente di destinazione.
ID agente virtuale
virtual_agent_id: questo è il numero ID assegnato a un agente virtuale specifico.
ID coda
queue_id: l'identificatore di una coda della piattaforma CCAI, che esiste solo quando la chiamata proviene da una coda.from_queue_id: utilizzato per l'instradamento di chiamate o chat da una coda all'altra, per indicare la coda di origine.to_queue_id: utilizzato per l'instradamento di chiamate o chat da una coda a un'altra, per indicare la coda di destinazione.queue_path: questo è il percorso di una coda di CCAI Platform ed esiste solo quando la chiamata proviene da una coda.from_queue_path: utilizzato per l'instradamento di chiamate o chat da una coda all'altra, per indicare la coda di origine.to_queue_path: utilizzato per l'instradamento di chiamate o chat da una coda a un'altra, per indicare la coda di destinazione.
Campaign ID
campaign_id: l'ID campagna di CCAI Platform. Sono inclusi solo se il tipo di chiamata è una chiamata della campagna.campaign_name: il nome di una campagna CCAI Platform. Sono inclusi solo se il tipo di chiamata è una chiamata della campagna.
Messaggio
message: evento che indica la ricezione di un nuovo messaggio del consumatore, più il contenuto del messaggio.
Tipi di sessione
session_type: un tipo di sessione CCAI Platform.cobrowse_session_remote_control: indica lo stato di una sessione di condivisione schermo con controllo remoto richiesta. Valori:off,requested,rejected,on.cobrowse_session_full_device: indica lo stato di una sessione di condivisione schermo di un intero dispositivo. Valori:off,requested,rejected,on.
Partecipanti
type: tipo di partecipante -end_user;agent; (da participants.type della risposta /api/v1/calls o /api/v1/chats).cobrowse_session_requested_by: indica chi ha avviato una sessione di condivisione schermo. I valori possibili sonoagentoend_user.cobrowse_session_ended_by: indica chi ha terminato una sessione di condivisione schermo. I valori possibili sonoagent,end_useroapi.end_user_id:participants.end_user_iddi/api/v1/callso risposta/api/v1/chats. Questo campo è presente solo se il tipo èend_user.
Tipi di interazione/sessione
Tipi di chiamata
- Chiamate vocali in entrata: chiamate PSTN standard.
- Chiamate vocali in entrata (IVR tramite dispositivo mobile): chiamate PSTN di riserva effettuate dall'SDK mobile.
- Chiamate vocali in entrata (dispositivi mobili): effettuate dai consumatori utilizzando un SDK per dispositivi mobili installato.
- Richiamata vocale (web): avviata dall'SDK web.
- Chiamata vocale in entrata (API): avviata tramite API.
- Voice Scheduled (Mobile): pianificata utilizzando un SDK mobile installato.
- Voice Scheduled (Web): pianificata utilizzando un SDK web installato.
- Voice in uscita: avviata da un agente che compone un numero.
- Voice Outbound (API): avviata utilizzando l'API.
- Campagna vocale: avviata utilizzando un Outbound Dialer (campagna).
Tipi di chat
- Messaggistica (WhatsApp): avviata utilizzando WhatsApp.
- Messaggistica in entrata (SMS)
- Messaggistica in uscita (SMS)
- Messaggistica in uscita (SMS tramite API)
- Messaggistica (web): avviata utilizzando un SDK web installato.
- Messaggistica (dispositivi mobili): avviata utilizzando un SDK per dispositivi mobili installato.
Tipo di chiamata o chat
- Sessione di condivisione schermo: avviata da un agente o da un utente finale durante una chiamata o una chat.
Tipi di evento
Ecco i tipi di eventi pubblicati dall'adattatore dell'agente. La colonna type è la stringa esatta, sensibile alle maiuscole, che appare nel campo type del messaggio.
| Evento | type |
Adattatore |
|---|---|---|
| Accesso agente | Agent_Login |
Entrambi |
| Nuova chiamata | New_Call |
Chiamata |
| Consumer joined | Consumer_Joined |
Chiamata |
| Termina una chiamata | End_Call |
Chiamata |
| Oscuramento della chiamata avviato | call_redaction_started |
Chiamata |
| Oscuramento della chiamata terminato | call_redaction_ended |
Chiamata |
| Nuova chat | New_Chat |
Chat |
| Termina chat | End_Chat |
Chat |
| Chat attiva | Active_Chat |
Chat |
| Messaggio in entrata della chat | Chat_Inbound_Message |
Chat |
| Messaggio in uscita di Chat | Chat_Outbound_Message |
Chat |
| Modulo inviato | Form_Sent |
Chat |
| Modulo compilato | Form_Completed |
Chat |
| Chat ignorata | Dismissed_Chat |
Chat |
| Sessione di condivisione schermo avviata | Cobrowse_Session_Started |
Entrambi |
| Controllo remoto della sessione di condivisione schermo modificato | Cobrowse_Session_Remote_Control_Changed |
Entrambi |
| Sessione di condivisione schermo modificata per l'intero dispositivo | Cobrowse_Session_Full_Device_Changed |
Entrambi |
| Sessione di condivisione schermo terminata | Cobrowse_Session_Ended |
Entrambi |
| Transfer | Transfer_Call, Transfer_Chat |
Entrambi |
| Gruppo aggiunto | Party_Added |
Entrambi |
| L'agente si connette alla sessione | Agent_Joined_Call, Agent_Joined_Chat |
Entrambi |
| Agent logout | Agent_Logout |
Entrambi |
| Agent Assist aggiunto | agent_assist_added |
Entrambi |
| L'Assistente virtuale per le attività ha partecipato | Task_VA_Joined |
Entrambi |
| Assistenza alle attività virtuale a sinistra | Task_VA_Left |
Entrambi |
| Variabili di sessione dell'Assistente alle attività virtuale ricevute | Task_VA_Variables_Received |
Entrambi |
| Pop-up dei record CRM | CRM_Record_Pop |
Entrambi |
| Apri la pagina di terze parti | openThirdPartyPage |
Chiamata |
Il listener deve ignorare i valori type che non riconosce. Nel tempo possono essere aggiunti nuovi tipi di eventi e l'adattatore pubblica anche messaggi destinati ad altre piattaforme CCAI Platform (ad esempio, quando è ospitato all'interno del desktop dell'agente CCAI Platform) che non fanno parte di questo contratto.
Accesso agente
Un evento di accesso dell'agente si verifica quando l'agente accede all'adattatore.
Ecco un esempio di evento Agent_Login:
{
"type": "Agent_Login",
"data": {
"agent_id": 1,
"agent_custom_id": "007",
"agent_email": "Kim@example.com",
}
}
Di seguito sono riportate le descrizioni dei campi di dati sugli eventi:
agent_id: l'identificatore dell'agente(Facoltativo)
agent_custom_id: l'identificatore personalizzato dell'agente, se è stato inserito nel profilo dell'agente.agent_email: l'indirizzo email associato all'account dell'agente.
Nuova chiamata
Un nuovo evento di chiamata si verifica quando un agente risponde a una chiamata. Questo evento contiene informazioni come l'ora di inizio della chiamata, l'agente che l'ha gestita e l'origine della chiamata.
Ecco un esempio di evento New_Call:
{
"type": "New_Call",
"data": {
"agent_id": 1,
"agent_custom_id": "007",
"agent_email": "Kim@example.com",
"queue_id": 8469,
"queue_path": "Developers / Kim",
"campaign_id": 1432,
"campaign_name": "Survey Movie",
"call_id": 103646,
"session_type": "Voice Campaign (UJET)"
}
}
Di seguito sono riportate le descrizioni dei campi di dati sugli eventi:
agent_id: l'identificatore dell'agenteagent_custom_id: l'identificatore personalizzato dell'agente, se è stato inserito nel profilo dell'agente. Facoltativo.agent_email: l'indirizzo email associato all'account dell'agentequeue_id: l'identificatore della coda da cui ha avuto origine la chiamata. Questo campo viene incluso quando la chiamata ha avuto origine da una coda. Facoltativo.queue_path: il percorso della coda da cui ha avuto origine la chiamata. Questo campo è incluso quando la chiamata ha avuto origine da una coda. Facoltativo.campaign_id: l'identificatore della campagna. Questo campo è incluso per una chiamata della campagna. Facoltativo.campaign_name: il nome della campagna. Questo campo è incluso per una chiamata della campagna. Facoltativo.call_id: l'identificatore della chiamatasession_type: il tipo di sessionevirtual_agent_id: l'identificatore dell'agente virtuale. Questo campo è incluso per gli eventi che coinvolgono l'agente virtuale. Facoltativo.va_data_parameters: le variabili configurate nella coda da inviare all'agente virtuale. Questo campo è incluso per gli eventi che coinvolgono l'agente virtuale. Facoltativo.session_variable: tutte le variabili dell'agente virtuale che vengono inviate a CCAI Platform. Facoltativo.custom_sip_headers: consente di visualizzare le intestazioni SIP (Session Initiation Protocol) personalizzate delle chiamate SIP in arrivo nel log eventi POST. Questo campo è incluso se vengono utilizzate intestazioni SIP personalizzate. Facoltativo.custom_data_secured: contiene dati personalizzati firmati dal tuo server. Facoltativo.custom_data_not_secured: contiene dati personalizzati non firmati della tua pagina web. Per saperne di più, consulta Dati personalizzati non firmati di Chat. Facoltativo.
Consumer aggiunto
Un evento di partecipazione di un consumatore si verifica durante una chiamata di una campagna (outbound dialer) quando il record del consumatore viene risolto e contiene una chiave LCM (List Campaign Manager). Consente alla pagina host di cercare il contatto composto nel proprio sistema prima che arrivino gli altri dati della chiamata. Questo evento viene pubblicato solo per le chiamate della campagna il cui contatto ha una chiave LCM.
Ecco un esempio di evento Consumer_Joined:
{
"type": "Consumer_Joined",
"data": {
"lcmKey": "acqueon:12345",
"custom_sip_headers": {
"X-Account-Id": "A-100"
},
"va_data_parameters": {
"param1": "one"
},
"session_variable": {
"key_one": "value"
}
}
}
Di seguito sono riportate le descrizioni dei campi di dati sugli eventi:
lcmKey: la chiave del gestore della campagna dell'elenco del contatto compostocustom_sip_headers: intestazioni SIP personalizzate della chiamata. Questo campo è incluso se vengono utilizzate intestazioni SIP personalizzate. Facoltativo.va_data_parameters: le variabili configurate nella coda da inviare all'agente virtuale. Facoltativo.session_variable: le variabili dell'agente virtuale che vengono inviate a Contact Center AI Platform. Facoltativo.
Oscuramento della chiamata avviato
Un evento di oscuramento della chiamata avviato si verifica quando l'oscuramento della chiamata è stato avviato e non è in corso la registrazione. I dati sugli eventi sono costituiti dall'ID dell'agente che ha gestito la chiamata e dall'ID della chiamata.
Tieni presente che il type di questo evento è in minuscolo: call_redaction_started.
agent_id: l'ID dell'agente che ha gestito la chiamatacall_id: l'ID della chiamata
Ecco un esempio di evento di avvio dell'oscuramento della chiamata:
{
"type": "call_redaction_started",
"data": {
"agent_id": 2896,
"call_id": 97939
}
}
Oscuramento della chiamata interrotto
L'evento di interruzione dell'oscuramento della chiamata si verifica quando l'oscuramento della chiamata è terminato e la registrazione è ripresa. Questo evento è costituito dall'ID dell'agente che ha gestito la chiamata e dall'call ID.
Tieni presente che il type di questo evento è in minuscolo: call_redaction_ended.
agent_id: ilIDdell'agente che ha gestito la chiamatacall_id: ilIDdella chiamata
Ecco un esempio di dati sugli eventi di interruzione della censura delle chiamate:
{
"type": "call_redaction_ended",
"data": {
"agent_id": 2896,
"call_id": 97939
}
}
Termina chiamata
Un evento di fine chiamata si verifica quando una chiamata viene terminata. Questo evento contiene informazioni come l'ora di fine della chiamata, l'agente che l'ha gestita e il luogo di origine della chiamata.
Ecco un esempio di evento End_Call:
{
"type": "End_Call",
"data": {
"agent_id": 1,
"agent_custom_id": "007",
"agent_email": "Kim@example.com",
"queue_id": 8469,
"queue_path": "Developers / Kim",
"campaign_id": 1432,
"campaign_name": "Survey Movie",
"call_id": 103646,
"session_type": "Voice Campaign (UJET)"
}
}
Di seguito sono riportate le descrizioni dei campi di dati sugli eventi:
agent_id: l'identificatore dell'agenteagent_custom_id: l'identificatore personalizzato dell'agente, se è stato inserito nel profilo dell'agente. Facoltativo.agent_email: l'indirizzo email associato all'account dell'agentequeue_id: l'identificatore della coda da cui ha avuto origine la chiamata. Questo campo viene incluso quando la chiamata ha avuto origine da una coda. Facoltativo.queue_path: il percorso della coda da cui ha avuto origine la chiamata. Questo campo è incluso quando la chiamata ha avuto origine da una coda. Facoltativo.campaign_id: l'identificatore della campagna. Questo campo è incluso per una chiamata della campagna. Facoltativo.campaign_name: il nome della campagna. Questo campo è incluso per una chiamata della campagna. Facoltativo.call_id: l'identificatore della chiamatasession_type: il tipo di sessionevirtual_agent_id: l'identificatore dell'agente virtuale. Questo campo è incluso per gli eventi che coinvolgono l'agente virtuale. Facoltativo.va_data_parameters: le variabili configurate nella coda da inviare all'agente virtuale. Questo campo è incluso per gli eventi che coinvolgono l'agente virtuale. Facoltativo.session_variable: tutte le variabili dell'agente virtuale che vengono inviate a Contact Center AI Platform. Facoltativo.custom_sip_headers: consente di visualizzare le intestazioni SIP (Session Initiation Protocol) personalizzate delle chiamate SIP in arrivo nel log eventi POST. Questo campo è incluso se vengono utilizzate intestazioni SIP personalizzate. Facoltativo.custom_data_secured: contiene dati personalizzati firmati dal tuo server. Facoltativo.custom_data_not_secured: contiene dati personalizzati non firmati della tua pagina web. Per saperne di più, consulta Dati personalizzati non firmati di Chat (facoltativo). Facoltativo.
Nuova chat
Un evento di nuova chat si verifica quando un agente avvia una sessione di chat. Questo evento indica quando è iniziata la chat e contiene informazioni come l'agente che ha gestito la chat e l'origine della chat.
Ecco un esempio di evento New_chat:
{
"type": "New_Chat",
"data": {
"chat_id": 73522,
"session_type": "messaging inbound (web chat)",
"agent_id": 1,
"agent_email": "ariel@example.com",
"queue_id": 7678,
"queue_path": "HB TEAM / Ariel"
}
}
Di seguito sono riportate le descrizioni dei campi di dati sugli eventi:
chat_id: l'identificatore della chatsession_type: il tipo di sessioneagent_id: l'identificatore dell'agenteagent_custom_id: l'identificatore personalizzato dell'agente, se è stato inserito nel profilo dell'agente. Facoltativo.agent_email: l'indirizzo email associato all'account dell'agente.queue_id: l'identificatore della coda da cui ha avuto origine la chiamata. Questo campo viene incluso quando la chiamata ha avuto origine da una coda. Facoltativo.queue_path: il percorso della coda da cui ha avuto origine la chiamata. Questo campo viene incluso quando la chiamata ha avuto origine da una coda. Facoltativo.custom_data_secured: contiene dati personalizzati firmati dal tuo server. Facoltativo.custom_data_not_secured: contiene dati personalizzati non firmati della tua pagina web. Per saperne di più, consulta Dati personalizzati non firmati di Chat (facoltativo). Facoltativo.
Termina chat
Un evento di fine chat si verifica quando una sessione di chat termina. Questo evento indica quando la chat è terminata e contiene informazioni come l'agente che ha gestito la chat e l'origine della chat.
Ecco un esempio di evento End_Chat:
{
"type": "End_Chat",
"data": {
"chat_id": 73522,
"session_type": "Messaging Inbound (Web Chat)",
"agent_id": 1,
"agent_email": "ariel@example.com",
"queue_id": null,
"queue_path": null,
"agent_custom_id": null
}
}
Di seguito sono riportate le descrizioni dei campi di dati sugli eventi:
chat_id: l'identificatore della chat.session_type: il tipo di sessione.agent_id: l'identificatore dell'agente.agent_custom_id: l'identificatore personalizzato dell'agente, se è stato inserito nel profilo dell'agente. Facoltativo.agent_email: l'indirizzo email associato all'account dell'agente.queue_id: l'identificatore della coda da cui ha avuto origine la chiamata. Questo campo viene incluso quando la chiamata ha avuto origine da una coda. Facoltativo.queue_path: il percorso della coda da cui ha avuto origine la chiamata. Questo campo è incluso quando la chiamata ha avuto origine da una coda. Facoltativo.custom_data_secured: contiene dati personalizzati firmati dal tuo server. Facoltativo.custom_data_not_secured: contiene dati personalizzati non firmati della tua pagina web. Per saperne di più, consulta Dati personalizzati non firmati di Chat (facoltativo). Facoltativo.
Chat attiva
Un evento di chat attiva si verifica quando l'agente passa a una scheda di chat nell'adattatore di chat.
Ecco un esempio di evento Active_Chat:
{
"type": "Active_Chat",
"data": {
"chat_id": 73521,
"session_type": "messaging inbound (web chat)",
"agent_id": 1,
"agent_email": "ariel@example.com",
"queue_id": 7678,
"queue_path": "HB TEAM / Ariel"
}
}
Di seguito sono riportate le descrizioni dei campi di dati sugli eventi:
chat_id: l'identificatore della chatsession_type: il tipo di sessioneagent_id: l'identificatore dell'agenteagent_custom_id: l'identificatore personalizzato dell'agente, se è stato inserito nel profilo dell'agente. Facoltativo.agent_email: l'indirizzo email associato all'account dell'agente.queue_id: l'identificatore della coda da cui ha avuto origine la chiamata. Questo campo viene incluso quando la chiamata ha avuto origine da una coda. Facoltativo.queue_path: il percorso della coda da cui ha avuto origine la chiamata. Questo campo è incluso quando la chiamata ha avuto origine da una coda. Facoltativo.custom_data_secured: contiene dati personalizzati firmati dal tuo server. Facoltativo.custom_data_not_secured: contiene dati personalizzati non firmati della tua pagina web. Per saperne di più, consulta Dati personalizzati non firmati di Chat (facoltativo). Facoltativo.
Messaggio in entrata della chat
Un evento di messaggio in entrata della chat indica che è stato ricevuto un nuovo messaggio del cliente. Include i contenuti del messaggio.
Per un evento di messaggio in entrata di Chat vengono riportati i dati dei seguenti campi:
chat_id: identifica la sessione di chatsession_type: indica il tipo di sessione che viene creata, ad esempio messaggistica in entrata tramite chat webagent_id: identifica l'agente che gestisce la sessione di chatagent_custom_id: questo campo esiste solo se il profilo dell'agente include un ID personalizzato. Facoltativo.agent_email: l'indirizzo email dell'agente che gestisce la sessione di chat. Questo campo è incluso solo quando la chat ha origine da una coda. Facoltativo.queue_id: l'ID della coda da cui ha avuto origine la sessione di chat. Questo campo è incluso solo quando la chat ha origine da una coda.queue_path: il percorso della coda da cui ha avuto origine la sessione di chat. Questo campo è incluso solo quando la chat proviene da una coda.message: un evento che indica la ricezione di un nuovo messaggio del consumatore, più il contenuto del messaggiocustom_data_secured: consente la trasmissione di dati personalizzati dell'SDK protetti. Facoltativo.custom_data_not_secured: consente la trasmissione di dati personalizzati dell'SDK non protetti. Facoltativo.
Ecco un esempio di evento Chat_Inbound_Message:
{
"type": "Chat_Inbound_Message",
"data": {
"chat_id": 73522,
"session_type": "messaging inbound (web chat)",
"agent_id": 1,
"agent_email": "ariel@example.com",
"queue_id": 7678,
"queue_path": "HB TEAM / Ariel",
"message" : "Can you help me with my order tracking number?"
}
}
Messaggio in uscita di Chat
Un evento di messaggio in uscita della chat si verifica quando viene ricevuto un nuovo messaggio del consumatore. Include i contenuti del messaggio.
I dati per i seguenti campi vengono riportati per un evento "Messaggio in uscita di Chat":
chat_id: identifica la sessione di chatsession_type: indica il tipo di sessione che viene creata, ad esempio messaggistica in entrata tramite chat webagent_id: identifica l'agente che gestisce la sessione di chatagent_custom_id: questo campo è incluso solo se il profilo dell'agente ha un ID personalizzato. Facoltativo.agent_email: l'indirizzo email dell'agente che gestisce la sessione di chat. Questo campo viene incluso solo quando la chat ha origine da una coda. Facoltativo.queue_id: l'ID della coda da cui ha avuto origine la sessione di chat. Questo campo viene incluso solo quando la chat ha origine da una coda.queue_path: il percorso della coda da cui ha avuto origine la sessione di chat. Questo campo è incluso solo quando la chat proviene da una coda.message: l'evento indica che è stato ricevuto un nuovo messaggio del consumatore, oltre al contenuto del messaggiocustom_data_secured: consente la trasmissione di dati personalizzati dell'SDK protetti. Facoltativo.custom_data_not_secured: consente la trasmissione di dati personalizzati dell'SDK non protetti. Facoltativo.
Ecco un esempio di evento Chat_Outbound_Message:
{
"type": "Chat_Outbound_Message",
"data": {
"chat_id": 73522,
"session_type": "messaging inbound (web chat)",
"agent_id": 1,
"agent_email": "ariel@example.com",
"queue_id": 7678,
"queue_path": "HB TEAM / Ariel",
"message" : "Please give me a moment to look up your account information"
}
}
Modulo inviato
Un evento di invio di un modulo si verifica quando un modulo viene inviato al consumatore durante una sessione di chat. Entrambi gli eventi vengono pubblicati dall'adattatore di chat quando la chat riceve il messaggio di sistema corrispondente.
Ecco un esempio di evento Form_Sent:
{
"type": "Form_Sent",
"data": {
"chat_id": 73522,
"session_type": "Messaging Inbound (Web Chat)",
"agent_id": 1,
"agent_custom_id": "007",
"agent_email": "Kim@example.com",
"end_user_id": 5512,
"form_external_id": "payment-details",
"form_name": "Payment details",
"form_type": "secure",
"queue_id": 7678,
"queue_path": "HB TEAM / Kim",
"queue_language_id": "en",
"timestamp": 1727853575000
}
}
Di seguito sono riportate le descrizioni dei campi di dati sugli eventi:
chat_id: l'identificatore della chatsession_type: il tipo di sessioneagent_id: l'identificatore dell'agenteagent_custom_id: l'identificatore personalizzato dell'agente, se è stato inserito nel profilo dell'agente. Facoltativo.agent_email: l'indirizzo email associato all'account dell'agenteend_user_id: l'identificatore del consumer nella chat. Facoltativo.form_external_id: l'identificatore esterno del modulo inviato. Facoltativo.form_name: il nome del modulo inviato. Facoltativo.form_type: il tipo di modulo inviato. Facoltativo.queue_id: l'identificatore della coda da cui ha avuto origine la chat. Questo campo viene incluso quando la chat ha avuto origine da una coda. Facoltativo.queue_path: il percorso della coda da cui ha avuto origine la chat. Questo campo viene incluso quando la chat ha avuto origine da una coda. Facoltativo.queue_language_id: la lingua della coda. Facoltativo.timestamp: l'ora in cui è stato pubblicato l'evento, in millisecondi dall'epoca di Unixva_data_parameters: le variabili configurate nella coda da inviare all'agente virtuale. Facoltativo.session_variable: tutte le variabili dell'agente virtuale che vengono inviate a Contact Center AI Platform. Facoltativo.custom_data_secured: contiene dati personalizzati firmati dal tuo server. Facoltativo.custom_data_not_secured: contiene dati personalizzati non firmati della tua pagina web. Per saperne di più, consulta Dati personalizzati non firmati di Chat. Facoltativo.
Modulo completato
Un evento di completamento del modulo si verifica quando il consumatore invia un modulo che è stato inviato durante una sessione di chat. I dati sugli eventi hanno gli stessi campi dell'evento Modulo inviato.
Ecco un esempio di evento Form_Completed:
{
"type": "Form_Completed",
"data": {
"chat_id": 73522,
"session_type": "Messaging Inbound (Web Chat)",
"agent_id": 1,
"agent_custom_id": "007",
"agent_email": "Kim@example.com",
"end_user_id": 5512,
"form_external_id": "payment-details",
"form_name": "Payment details",
"form_type": "secure",
"queue_id": 7678,
"queue_path": "HB TEAM / Kim",
"queue_language_id": "en",
"timestamp": 1727853601000
}
}
Chat ignorata
Un evento di chat ignorata si verifica quando l'agente chiude la scheda della chat nell'adattatore di chat.
Ecco un esempio di evento Dismissed_Chat:
{
"type":"Dismissed_Chat",
"data":{"chat_id":73522,
"session_type":"Messaging Inbound (Web Chat)",
"agent_id":1,
"agent_email":"ariel@example.com"
}
}
Di seguito sono riportate le descrizioni dei campi di dati sugli eventi:
chat_id: l'identificatore della chatsession_type: il tipo di sessioneagent_id: l'identificatore dell'agenteagent_custom_id: l'identificatore personalizzato dell'agente, se è stato inserito nel profilo dell'agente. Facoltativo.agent_email: l'indirizzo email associato all'account dell'agentequeue_id: l'identificatore della coda da cui ha avuto origine la chiamata. Questo campo viene incluso quando la chiamata ha avuto origine da una coda. Facoltativo.queue_path: il percorso della coda da cui ha avuto origine la chiamata. Questo campo è incluso quando la chiamata ha avuto origine da una coda. Facoltativo.custom_data_secured: contiene dati personalizzati firmati dal tuo server. Facoltativo.custom_data_not_secured: contiene dati personalizzati non firmati della tua pagina web. Per saperne di più, consulta Dati personalizzati non firmati di Chat (facoltativo). Facoltativo.
Sessione di condivisione schermo avviata
Un evento Sessione di condivisione schermo avviata si verifica quando una sessione di condivisione schermo viene avviata da un agente o da un utente finale. È possibile avviare una sessione di condivisione schermo durante una chiamata o una chat. Per saperne di più, consulta Condivisione schermo.
Ecco un esempio di oggetto JSON per un evento di avvio di una sessione di condivisione schermo:
{
"type": "Cobrowse_Session_Started",
"data": {
"agent_id": 5,
"chat_id": 791,
"cobrowse_session_id": "Y1zYY6XIYX4oapqpEz3qHw",
"cobrowse_session_requested_by": "agent",
"cobrowse_session_remote_control": "off",
"cobrowse_session_full_device": "off"
}
}
Di seguito sono riportate le descrizioni dei campi di dati sugli eventi:
agent_id: l'identificatore dell'agente.call_id: l'identificatore di una chiamata in entrata sul canale IVR (Interactive Voice Response). Questo campo è incluso se la sessione di condivisione schermo è stata avviata durante una chiamata.chat_id: l'identificatore di una chat in entrata sul canale web o mobile. Questo campo è incluso se la sessione di condivisione schermo è stata avviata durante una chat.cobrowse_session_id: l'identificatore di una sessione di condivisione schermo.cobrowse_session_requested_by: indica chi ha avviato una sessione di condivisione schermo. I valori sonoagenteend-user.cobrowse_session_remote_control: indica lo stato di una sessione di condivisione schermo con controllo remoto. I valori sonoon,rejected,requestedeoff.cobrowse_session_full_device: indica lo stato di una sessione di condivisione schermo di un intero dispositivo. I valori sonoon,rejected,requestedeoff.custom_data_secured: contiene dati personalizzati firmati dal tuo server. Facoltativo.custom_data_not_secured: contiene dati personalizzati non firmati della tua pagina web. Per saperne di più, consulta Dati personalizzati non firmati di Chat (facoltativo). Facoltativo.
Il controllo remoto della sessione di condivisione schermo è cambiato
Un evento di modifica del controllo remoto della sessione di condivisione schermo si verifica quando lo stato di una sessione di condivisione schermo con controllo remoto cambia. Questo evento indica lo stato della sessione di condivisione schermo del telecomando. Per saperne di più, consulta Condivisione schermo.
Ecco un esempio di oggetto JSON per un evento Cobrowse_Session_Remote_Control_Changed:
{
"type": "Cobrowse_Session_Remote_Control_Changed",
"data": {
"agent_id": 5,
"chat_id": 791,
"cobrowse_session_id": "Y1zYY6XIYX4oapqpEz3qHw",
"cobrowse_session_remote_control": "requested"
}
}
Di seguito sono riportate le descrizioni dei campi di dati sugli eventi:
agent_id: l'identificatore dell'agente.call_id: l'identificatore di una chiamata in entrata sul canale IVR (Interactive Voice Response). Questo campo è incluso se la sessione di condivisione schermo è stata avviata durante una chiamata.chat_id: l'identificatore di una chat in entrata sul canale web o mobile. Questo campo è incluso se la sessione di condivisione schermo è stata avviata durante una chat.cobrowse_session_id: l'identificatore di una sessione di condivisione schermo.cobrowse_session_remote_control: indica lo stato di una sessione di condivisione schermo con controllo remoto. I valori sonoon,rejected,requestedeoff.custom_data_secured: contiene dati personalizzati firmati dal tuo server. Facoltativo.custom_data_not_secured: contiene dati personalizzati non firmati della tua pagina web. Per saperne di più, consulta Dati personalizzati non firmati di Chat (facoltativo). Facoltativo.
Sessione di condivisione schermo con dispositivo intero modificata
Un evento di modifica del dispositivo completo della sessione di condivisione schermo si verifica quando lo stato di una sessione di condivisione schermo del dispositivo completo cambia. Questo evento indica lo stato della sessione di condivisione schermo dell'intero dispositivo. Per saperne di più, consulta Condivisione schermo.
Ecco un esempio di evento Cobrowse_Session_Full_Device_Changed:
{
"type": "Cobrowse_Session_Full_Device_Changed",
"data": {
"agent_id": 5,
"cobrowse_session_id": "9-Kshrag-gn6ZSuIxoMtWQ",
"cobrowse_session_full_device": "rejected"
}
}
Di seguito sono riportate le descrizioni dei campi di dati sugli eventi:
agent_id: l'identificatore dell'agente.call_id: l'identificatore di una chiamata in entrata sul canale IVR (Interactive Voice Response). Questo campo è incluso se la sessione di condivisione schermo è stata avviata durante una chiamata.chat_id: l'identificatore di una chat in entrata sul canale web o mobile. Questo campo è incluso se la sessione di condivisione schermo è stata avviata durante una chat.Cobrowse_session_id: l'identificatore di una sessione di condivisione schermo.Cobrowse_session_full_device: indica lo stato di una sessione di condivisione schermo dell'intero dispositivo. I valori sonoon,rejected,requestedeoff.custom_data_secured: contiene dati personalizzati firmati dal tuo server. Facoltativo.custom_data_not_secured: contiene dati personalizzati non firmati della tua pagina web. Per saperne di più, consulta Dati personalizzati non firmati di Chat (facoltativo). Facoltativo.
Sessione di condivisione schermo terminata
Un evento di avvio di una sessione di condivisione schermo si verifica quando una sessione di condivisione schermo viene terminata da un agente, da un utente finale o dall'API. Per saperne di più, consulta Configura la condivisione schermo.
Ecco un esempio di evento Cobrowse_Session_Ended:
{
"type": "Cobrowse_Session_Ended",
"data": {
"agent_id": 5,
"cobrowse_session_id": "9-Kshrag-gn6ZSuIxoMtWQ",
"cobrowse_session_requested_by": "end_user",
"cobrowse_session_ended_by": "agent",
"cobrowse_session_remote_control": "on",
"cobrowse_session_full_device": "rejected"
}
}
Di seguito sono riportate le descrizioni dei campi di dati sugli eventi:
agent_id: l'identificatore dell'agente.call_id: l'identificatore di una chiamata in entrata sul canale IVR (Interactive Voice Response). Questo campo è incluso se la sessione di condivisione schermo è stata avviata durante una chiamata.chat_id: l'identificatore di una chat in entrata sul canale web o mobile. Questo campo è incluso se la sessione di condivisione schermo è stata avviata durante una chat.cobrowse_session_id: l'identificatore di una sessione di condivisione schermo.cobrowse_session_ended_by: indica chi ha terminato la sessione di condivisione schermo. I valori sonoagent,end-usereapi.cobrowse_session_remote_control: indica lo stato di una sessione di condivisione schermo con controllo remoto. I valori sonoon,rejected,requestedeoff.cobrowse_session_full_device: indica lo stato di una sessione di condivisione schermo dell'intero dispositivo. I valori sonoon,rejected,requestedeoff.custom_data_secured: contiene dati personalizzati firmati dal tuo server. Facoltativo.custom_data_not_secured: contiene dati personalizzati non firmati della tua pagina web. Per saperne di più, consulta Dati personalizzati non firmati di Chat (facoltativo). Facoltativo.
Trasferisci
Un evento di trasferimento si verifica quando una chiamata o una chat viene trasferita. Può riferirsi a un trasferimento a caldo o a freddo.
I seguenti campi evento fanno parte di un evento di trasferimento.
chat_idocall_id: identifica la sessione di chiamata o chatsession_type: indica il tipo di sessione che viene creata, ad esempio una sessione di messaggistica in entrata tramite chat webcampaign_id: l'ID della campagna. Questo campo è presente solo se il tipo di chiamata è una chiamata della campagna. Facoltativo.campaign_name: il nome della campagna. Questo campo è presente solo se il tipo di chiamata è una chiamata della campagna. Facoltativo.from_agent_id: utilizzato per il routing di chiamate o chat da un agente a un altro, per indicare l'agente di originefrom_agent_custom_id: utilizzato per l'instradamento di chiamate o chat da un agente a un altro, per indicare l'agente di origine. Facoltativo.from_agent_email: utilizzato per l'instradamento di chiamate o chat da un agente a un altro, per indicare l'agente di origineto_agent_id: utilizzato per l'instradamento di chiamate o chat da un agente a un altro, per indicare l'agente di destinazioneto_agent_custom_id: utilizzato per l'instradamento di chiamate o chat da un agente a un altro, per indicare l'agente di destinazione. Facoltativo.to_agent_email: utilizzato per l'instradamento di chiamate o chat da un agente a un altro, per indicare l'agente di destinazionefrom_queue_id: utilizzato per l'instradamento di chiamate o chat da una coda all'altra, per indicare la coda di originefrom_queue_path: utilizzato per l'instradamento di chiamate o chat da una coda all'altra, per indicare la coda di origineto_queue_id: utilizzato per l'instradamento di chiamate o chat da una coda a un'altra per indicare la coda di destinazioneto_queue_path: utilizzato per l'instradamento di chiamate o chat da una coda all'altra per indicare la coda di destinazionevirtual_agent_id: l'ID assegnato a un agente virtuale. Facoltativo.va_data_parameters: tutte le variabili configurate nella coda da inviare all'agente virtuale. Questo è obbligatorio solo per gli eventi che coinvolgono l'agente virtuale. Facoltativo.(
session_variable: tutte le variabili dell'agente virtuale che vengono inviate alla piattaforma CCAI nel payload. Facoltativo.custom_sip_headers: consente di visualizzare le intestazioni SIP personalizzate delle chiamate SIP in arrivo nel log eventi POST. È obbligatorio solo se vengono utilizzate intestazioni SIP personalizzate. Facoltativo.custom_data_secured: consente la trasmissione di dati personalizzati dell'SDK protetti. Facoltativo.custom_data_not_secured: consente la trasmissione di dati personalizzati dell'SDK non protetti. Facoltativo.
Ecco un esempio di evento di trasferimento:
{
"type": "Transfer_Chat",
"data": {
"chat_id": 103646,
"session_type": "Messaging Inbound (SMS)",
"campaign_id": 1432,
"campaign_name": "Survey Movie",
"from_agent_id": 1,
"from_agent_custom_id": "007",
"from_agent_email": "Ira@example.com",
"to_agent_id" : 5
"to_agent_custom_id": "100"
"to_agent_email" : "ariel@example.com"
"from_queue_id": 8469,
"from_queue_path": "Developers / Ariel",
"to_queue_id" : 1234,
"to_queue_path" : "Schemes / Auric"
}
}
Festa aggiunta
Un evento di aggiunta di una parte si riferisce a qualsiasi trasferimento. Può essere un trasferimento di chiamata o di chat.
Un evento di aggiunta di una parte contiene i seguenti dati:
chat_idocall_id: identifica la sessione di chiamata o chatsession_type: indica il tipo di sessione che viene creata, ad esempio una sessione di messaggistica in entrata tramite chat webagent_custom_id: questo campo esiste solo se il profilo dell'agente include un ID personalizzato. Facoltativo.agent_email: l'indirizzo email dell'agente che gestisce la chiamata o la sessione di chat.queue_id: l'ID della coda da cui ha avuto origine la sessione di chat. Questo campo è incluso solo quando la chat ha origine da una coda. Facoltativo.queue_path: il percorso della coda da cui ha avuto origine la sessione di chat. Questo campo è incluso solo quando la chat proviene da una coda. Facoltativo.campaign_id: l'ID della campagna. Questo campo è incluso solo quando il tipo di chiamata è una chiamata della campagna. Facoltativo.campaign_name: il nome della campagna. Questo campo è incluso solo quando il tipo di chiamata è una chiamata della campagna. Facoltativo.type: il tipo di partecipante, ad esempio un utente finale o un agente. Questo campo viene restituito come parte del tipo di partecipanti/api/v1/callso/api/v1/chatsdella rispostaend_user_id: l'ID utente finale. Questo campo viene restituito come parte della risposta/api/v1/callso/api/v1/chats. Questo campo è presente solo per le chiamate o le chat degli utenti finali che vengono indirizzate da un agente a un altro, per indicare l'agente di destinazione. Facoltativo.virtual_agent_id: l'identificatore assegnato a un agente virtuale. Facoltativo.va_data_parameters: tutte le variabili configurate nella coda da inviare all'agente virtuale. Questo è obbligatorio solo per gli eventi che coinvolgono l'agente virtuale. Facoltativo.session_variable: tutte le variabili dell'agente virtuale che vengono inviate alla piattaforma CCAI nel payload. Facoltativo.custom_sip_headers: consente di visualizzare le intestazioni SIP personalizzate delle chiamate SIP in arrivo nel log eventi POST. È obbligatorio solo se vengono utilizzate intestazioni SIP personalizzate. Facoltativo.custom_data_secured: consente la trasmissione di dati personalizzati dell'SDK protetti. Facoltativo.custom_data_not_secured: consente la trasmissione di dati personalizzati dell'SDK non protetti. Facoltativo.
Ecco un esempio di evento Party_Added.
{
"type": "Party_Added",
"data": {
"chat_id": 103646,
"session_type": "Messaging Inbound (SMS)",
"campaign_id": 1432,
"campaign_name": "Survey Movie",
"agent_id": 1,
"agent_custom_id": "007",
"agent_email": "ariel@example.com",
"queue_id": 8469,
"queue_path": "Developers / Ariel",
"type" : "agent"
}
}
L'agente si connette alla sessione
Un evento di connessione di un agente alla sessione si verifica quando un agente si connette a una sessione. Esistono due tipi di eventi. Il tipo è determinato dal fatto che si tratti di una chiamata o di una chat.
I seguenti campi evento fanno parte di un evento di connessione dell'agente alla sessione.
agent_id: identifica l'agente che gestisce la chiamata o la sessione di chat.agent_email: l'indirizzo email dell'agente che gestisce la chiamata o la sessione di chat.agent_custom_id: questo campo esiste solo se il profilo dell'agente include un ID personalizzato. Facoltativo.chat_idocall_id: identifica la sessione di chiamata o chat.virtual_agent_id: l'ID assegnato a un agente virtuale specifico. Facoltativo.campaign_id: l'ID della campagna. Questo campo è incluso solo quando il tipo di chiamata è una chiamata della campagna. Facoltativo.campaign_name: il nome della campagna. Questo campo è incluso solo quando il tipo di chiamata è una chiamata della campagna. Facoltativo.queue_id: l'ID della coda da cui ha avuto origine la sessione di chat. Questo campo è incluso solo quando la chat ha origine da una coda. Facoltativo.queue_path: il percorso della coda da cui ha avuto origine la sessione di chat. Questo campo è incluso solo quando la chat proviene da una coda. Facoltativo.session_type: indica il tipo di sessione che viene creata, ad esempio una sessione di messaggistica in entrata tramite chat web.virtual_agent_id: l'ID assegnato a un agente virtuale. Facoltativo.va_data_parameters: tutte le variabili configurate nella coda da inviare all'agente virtuale. Questo è obbligatorio solo per gli eventi che coinvolgono l'agente virtuale. Facoltativo.session_variable: tutte le variabili dell'agente virtuale che vengono inviate alla piattaforma CCAI nel payload. Facoltativo.custom_sip_headers: consente di visualizzare le intestazioni SIP personalizzate delle chiamate SIP in arrivo nel log eventi POST. È obbligatorio solo se vengono utilizzate intestazioni SIP personalizzate. Facoltativo.custom_data_secured: consente la trasmissione di dati personalizzati dell'SDK protetti. Facoltativo.custom_data_not_secured: consente la trasmissione di dati personalizzati dell'SDK non protetti. Facoltativo.
Ecco un esempio di dati sugli eventi Agent_Joined_Chat:
{
"type": "Agent_Joined_Chat",
"data": {
"chat_id": 103646,
"campaign_id": 1432,
"campaign_name": "Survey Movie",
"agent_id": 1,
"agent_custom_id": "007",
"agent_email": "ariel@example.com",
"queue_id": 8469,
"queue_path": "Developers / Ariel",
"session_type": "Messaging Inbound (SMS)",
}
}
Disconnessione dell'agente
Un evento di disconnessione dell'agente si verifica quando un agente si disconnette dall'adattatore dell'agente.
I seguenti campi evento fanno parte di un evento Agent_Logout.
agent_id: l'identificatore dell'agente che ha eseguito l'accessoagent_email: l'indirizzo email associato all'account agenteagent_custom_id: l'ID personalizzato dell'agente, se è stato inserito nel profilo dell'agente. Facoltativo.
Ecco un esempio di evento Agent_Logout:
{
"type": "Agent_Logout",
"data": {
"agent_id": 1,
"agent_custom_id": "007",
"agent_email": "ariel@example.com",
}
}
Agent Assist aggiunto
Un evento di aggiunta di Agent Assist si verifica quando un agente attiva Agent Assist durante una sessione di chiamata o chat.
Tieni presente quanto segue su questo evento:
Il
typedi questo evento è in minuscolo:agent_assist_added.Il campo del timestamp è denominato
Timestamp(T maiuscola) ed è il numero di millisecondi dall'epoca di Unix.
Ecco un esempio di evento agent_assist_added:
{
"type": "agent_assist_added",
"data": {
"conversation_id": "12345",
"queue_id": 65,
"agent_id": 1,
"session_id": "78534G4RT4284",
"queue_language_id": "en",
"Timestamp": 1727853575000
}
}
Ecco i campi dell'evento:
conversation_id: l'identificatore della conversazione. Questo campo è incluso quando la sessione utilizza un profilo di conversazione. Facoltativo.queue_id: l'identificatore della coda. Facoltativo.agent_id: l'identificatore dell'agentesession_id: l'identificatore della sessione. Facoltativo.queue_language_id: la lingua della coda. Facoltativo.Timestamp: l'ora in cui è stato pubblicato l'evento, in millisecondi dall'epoca di Unix
Assistente virtuale per l'assistenza alle attività aggiunto
Un evento di partecipazione di un assistente virtuale per le attività si verifica quando un assistente virtuale per le attività (VTA) partecipa a una chiamata o a una sessione di chat.
Ecco un esempio di evento Task_VA_Joined:
{
"type": "Task_VA_Joined",
"data": {
"chat_id": 103646,
"campaign_id": 1432,
"campaign_name": "Survey Movie",
"virtual_agent_id": 1,
"virtual_agent_name": "Order status assistant",
"participant_id": 1,
"queue_id": 8469,
"queue_path": "Developers / Kim",
"queue_language_id": "en",
"session_type": "Messaging Inbound (SMS)",
"conversation_id": "12345",
"session_id": "78534G4RT4284",
"timestamp": 1727853575000,
"data_parameters": {
"param1": "one",
"param2": "two"
}
}
}
Ecco i campi dell'evento:
call_idochat_id: l'identificatore della chiamata o della chatcampaign_id: l'identificatore della campagna. Questo campo è incluso per una chiamata della campagna. Facoltativo.campaign_name: il nome della campagna. Questo campo è incluso per una chiamata alla campagna. Facoltativo.virtual_agent_id: l'identificatore del VTAvirtual_agent_name: il nome del VTA configurato nel portale della piattaforma CCAIparticipant_id: l'identificatore partecipante del VTA nella sessionequeue_id: l'identificatore della coda da cui ha avuto origine la sessione. Facoltativo.queue_path: il percorso della coda da cui ha avuto origine la sessione. Facoltativo.queue_language_id: la lingua della coda. Facoltativo.session_type: il tipo di sessioneconversation_id: l'identificatore della conversazione. Questo campo è incluso quando la sessione utilizza un profilo di conversazione. Facoltativo.session_id: l'identificatore della sessione. Facoltativo.timestamp: l'ora in cui è stato pubblicato l'evento, in millisecondi dall'epoca di Unixdata_parameters: le variabili configurate nel portale della piattaforma CCAI e inviate all'agente di test vocale. Facoltativo.
Assistente virtuale per l'assistenza alle attività ha abbandonato la riunione
Un evento di uscita dell'assistente virtuale per le attività si verifica quando l'assistente virtuale per le attività esce dalla sessione. Oltre ai campi dell'evento Virtual Task Assistant joined, include il motivo per cui la sessione VTA è terminata e le variabili di sessione acquisite dal VTA.
Ecco un esempio di evento Task_VA_Left:
{
"type": "Task_VA_Left",
"data": {
"chat_id": 103646,
"virtual_agent_id": 1,
"virtual_agent_name": "Order status assistant",
"participant_id": 1,
"queue_id": 8469,
"queue_path": "Developers / Kim",
"queue_language_id": "en",
"session_type": "Messaging Inbound (SMS)",
"conversation_id": "12345",
"session_id": "78534G4RT4284",
"timestamp": 1727853600000,
"finish_reason": "Task VA completed",
"data_parameters": {
"param1": "one"
},
"captured_variables": [
{
"intent_name": null,
"variables": {
"order_number": "A-100"
},
"captured_at": "2024-11-15 16:46:31 UTC",
"timestamp": 1727853590000
}
]
}
}
I campi di evento aggiuntivi sono:
finish_reason: il motivo per cui la sessione VTA è terminatacaptured_variables: le variabili di sessione acquisite dal VTA, ciascuna con l'intent che le ha acquisite e il momento in cui sono state acquisite. Facoltativo.
Variabili di sessione dell'assistenza alle attività virtuale ricevute
Un evento di ricezione delle variabili di sessione dell'assistente virtuale per le attività si verifica ogni volta che l'assistente virtuale per le attività invia un payload di variabili di sessione personalizzate durante la sessione. L'evento ha gli stessi campi dell'evento Virtual Task Assistant left, ad eccezione di finish_reason, e captured_variables contiene le variabili ricevute finora.
Ecco un esempio di evento Task_VA_Variables_Received:
{
"type": "Task_VA_Variables_Received",
"data": {
"chat_id": 103646,
"virtual_agent_id": 1,
"virtual_agent_name": "Order status assistant",
"participant_id": 1,
"queue_id": 8469,
"queue_path": "Developers / Kim",
"queue_language_id": "en",
"session_type": "Messaging Inbound (SMS)",
"conversation_id": "12345",
"session_id": "78534G4RT4284",
"timestamp": 1727853590000,
"data_parameters": {
"param1": "one"
},
"captured_variables": [
{
"intent_name": null,
"variables": {
"order_number": "A-100"
},
"captured_at": "2024-11-15 16:46:31 UTC",
"timestamp": 1727853590000
}
]
}
}
Sono incluse solo le variabili il cui capture_type include event nel payload della variabile di sessione personalizzata dell'agente virtuale e le chiavi elencate in invisible_to_adapter_events sono escluse.
Screen pop in background
La funzionalità di screen pop consente agli agenti di eseguire uno screen pop del CRM in background, il che significa che i dati del cliente vengono visualizzati sullo schermo dell'agente senza che quest'ultimo debba fare nulla. In questo modo, i consumatori possono usufruire di un'esperienza più fluida e gli agenti possono ridurre i tempi di gestione.
Pop-up dei record CRM
L'evento CRM_Record_Pop è un evento lato server che si attiva quando un ticket deve essere visualizzato. Questo evento include un parametro denominato recordUrl che contiene l'URL del record CRM, consentendoti di eseguire un pop-up dello schermo iscrivendoti agli eventi POST se utilizzi adattatori incorporati.
Ecco un esempio di evento CRM_Record_Pop:
{
"type": "CRM_Record_Pop",
"data": {
"recordUrl": "https://crm.example.com/tickets/4711"
}
}
L'evento ha un solo campo:
recordUrl: l'URL del record CRM da visualizzare
Per farlo, l'esempio seguente mostra come aggiungere un listener di eventi che ascolta i messaggi inviati da un altro frame o un'altra finestra. Questo snippet di codice è progettato per consentire la comunicazione tra diversi frame o finestre e per consentire aggiornamenti dinamici dei contenuti visualizzati nell'iframe in base ai messaggi ricevuti.
// Replace with the origin of your tenant.
const ADAPTER_ORIGIN = 'https://tenant.loc.ccaiplatform.com'
// name is the html property of the iframe that shows the CRM record
const iframeTarget = document.querySelector('iframe[name="target_iframe_adapter"]')
// example usage of add event listener
// https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener
window.addEventListener('message', (e) => {
// Only accept events posted by the agent adapter.
if (e.origin !== ADAPTER_ORIGIN) {
return
}
let message
try {
message = JSON.parse(e.data)
} catch (err) {
// Not an agent adapter event.
return
}
const { type, data = {} } = message
console.log('EventListener: ', type)
switch (type) {
case 'CRM_Record_Pop': {
const recordUrl = data.recordUrl
if (!recordUrl) {
return
}
console.log(`Opening recordUrl in iframe ${iframeTarget.getAttribute('name')}`)
// changing an iframe target to the record URL pop
iframeTarget.src = recordUrl
break
}
case 'New_Chat':
console.log('Chat started...')
// handling here for New_Chat events
break
case 'End_Chat':
console.log('Chat ended...')
// handling here for End_Chat events
break
default:
// code handling for other types
break
}
}, false)
Apri la pagina di terze parti
L'evento openThirdPartyPage viene pubblicato dall'adattatore per chiamate quando una chiamata contiene una chiave di terze parti (ad esempio, una chiave di Campaign Manager per un elenco in una chiamata della campagna) e l'adattatore sta per aprire la pagina di terze parti corrispondente. Se utilizzi adattatori incorporati, puoi iscriverti a questo evento per aprire la pagina nella tua UI.
Ecco un esempio di evento openThirdPartyPage:
{
"type": "openThirdPartyPage",
"data": {
"thirdPartyKey": "acqueon:12345",
"callId": 103646
}
}
Ecco i campi dell'evento:
thirdPartyKey: la chiave di terze parti associata alla chiamatacallId: l'identificatore della chiamata