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 CRM personalizzata funziona quando si utilizza un CRM interno 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 di metadati della sessione per ogni sessione di chiamata e chat
Invio di metadati e file multimediali 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 l'archiviazione esterna. 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. Viene inviata 15 minuti dopo il completamento della sessione. Per saperne di più, consulta File di metadati della sessione.
Metodi di interazione e integrazione CRM personalizzati
| API generica | URL personalizzato | |
|---|---|---|
| Ricerca account | Sì | Sì |
| Ricerca delle richieste | Sì | |
| Aggiornamento della richiesta | Sì | No |
API generica
Il metodo di integrazione dell'API generica consente 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 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.
URL personalizzato
L'opzione Link personalizzato consente agli agenti di interagire con il tuo 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 è quella di eseguire una ricerca nel CRM, ma a seconda del CRM, è possibile attivare processi più complessi in base al contenuto 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 collegamento 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 della piattaforma CCAI, 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
CCAI Platform includerà nell'URL solo i parametri non vuoti.
Una volta terminata la sessione, la piattaforma CCAI non memorizza l'URL generato contenente ANI/UID/email nel database della piattaforma CCAI.
Configurazione dell'URL di ricerca personalizzato
A causa delle diverse funzionalità e comportamenti di identificatori univoci e 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 CUID ed email.
Per configurare un URL di ricerca, puoi utilizzare le seguenti variabili:
| Variabile | Valori |
|---|---|
{CUSTOMER_PHONE_NUMBER} |
Il numero di telefono dell'utente finale |
{ANI} |
Il numero di telefono dell'utente finale. Mantenuto 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 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 che un agente utilizza per una chiamata in uscita. |
{SESSION_ID} |
L'ID sessione. Valori possibili:
|
{CUSTOM_AGENT_ID} |
Il campo ID agente facoltativo 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 dare il tempo di definire 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 numero di telefono da utilizzare nelle richieste CRM.
Fai clic su Salva modifiche.
Se non l'hai ancora fatto, configura il servizio di archiviazione esterna. 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à, la piattaforma CCAI può inviare automaticamente i dati della sessione tramite email. Circa 15 minuti dopo la fine di una sessione, viene inviata un'email a una posizione configurata e il contenuto dell'email viene utilizzato per aggiornare un record nel tuo 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, poi 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 di amministratore assegnato.
Vai a Impostazioni > Impostazioni sviluppatore.
Nella sezione CRM, assicurati che sia selezionato CRM personalizzato.
Attiva Invia esito 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 = Abilitata |
L'impostazione della coda (ovvero lo stato di attivazione/disattivazione) override l'impostazione globale. L'email viene inviata da una determinata coda a un indirizzo email definito nell'impostazione 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 = Abilitato Coda = Abilitata |
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.

Spazio di archiviazione esterno per soluzioni CRM personalizzate
Lo spazio di archiviazione esterno per soluzioni personalizzate consente l'utilizzo di un servizio di archiviazione esterno per archiviare e recuperare i metadati delle sessioni della piattaforma CCAI, le registrazioni delle chiamate, le trascrizioni delle chat e i file multimediali caricati dai consumatori. I file sono memorizzati al di fuori di un CRM.
Per configurare l'archiviazione esterna, devi disporre di:
Un account CCAI Platform valido con ruolo Amministratore e Agente assegnato per la configurazione e il 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 chiamata o la sessione di chat, le foto e i video caricati dal consumatore utilizzando gli smart action 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 l'archiviazione esterna:
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 Archiviazione esterna.
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 server, seleziona il tipo di spazio di archiviazione e completa i passaggi di configurazione: server SFTP, bucket Google Cloud .
Server SFTP
Inserisci l'host SFTP (URL o indirizzo IP).
Inserisci il numero di 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 Google Cloud ID client.
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 di sessione al CRM per inviare i file di sessione, come le registrazioni delle chiamate o le trascrizioni delle chat, al tuo CRM e all'unità di archiviazione esterna configurata.
Fai clic su Salva modifiche.
Se la casella di controllo è selezionata, le registrazioni verranno archiviate sia nel CRM sia nell'archivio 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 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 nell'archivio esterno.
URL di archiviazione esterna
L'URL viene utilizzato in due posizioni:
Uno mostra i contenuti multimediali nell'adattatore della piattaforma CCAI. L'archivio o il CRM esterni.
L'altro è nel report. L'URL dei contenuti multimediali viene mostrato nei report e nei menu come Impostazioni, Chiamate, Completate.
Visualizzare 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.
Fai clic sul pulsante di attivazione/disattivazione 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 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.
Attivare la visualizzazione dello schermo in base alla 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 popup dello schermo.
Includi i parametri variabili {ACCOUNT_ID} e {PHONE_NUMBER} nell'URL.
Viene fornito un esempio.
- Fai clic su Salva.
Integrazione API generica CRM personalizzata
Il metodo di integrazione API generico consente 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 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 che configuri.
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 aperto una pagina dell'account o del record 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 sui record CRM da visualizzare nell'adattatore dell'agente. Per un elenco completo degli URL di ricerca CRM, consulta Parametri URL 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 completato la configurazione dell'account nel passaggio precedente.
Infine, se inserisci gli endpoint Aggiorna un record, Carica un file e Commenta, verranno attivati gli aggiornamenti dei record. Per questa operazione è necessaria la configurazione del record del 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 ti servono.
Se l'endpoint è POST/PUT/PATCH, CCAI Platform offre controlli di perfezionamento su come viene creata la richiesta. Scegli Richiedi formato 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 contenitore 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 di 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 dell'agente | {AGENT_EMAIL} |
L'indirizzo email dell'agente che risponde, se applicabile. |
| Nome dell'utente finale | {NAME} |
|
| Nome dell'utente finale | {FIRST_NAME} |
Prelevato 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 Trova/Crea record. |
| ID sessione | {SESSION_ID} |
ID sessione della piattaforma CCAI |
| 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. | |
| Smart Action: 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} |
|
| Disconnesso da | {DISCONNECTED_BY} |
|
| Canale | {CHANNEL} |
|
| Record Subject | {TICKET_SUBJECT} |
Utilizzato come titolo del record |
| Descrizione del record | {TICKET_DESCRIPTION} |
|
| HTML della descrizione del record | {TICKET_DESCRIPTION_HTML} |
Come la descrizione, ma formattata per HTML |
| Testo del commento | {COMMENT_BODY} |
Disponibile solo nella situazione di aggiunta di commenti (salvataggio della valutazione, fine chiamata/chat, inizio 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
Le funzioni vengono fornite 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 nullo 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 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 fallback in
caso di un valore vuoto per l'email di un agente. 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, i parametri obbligatori potrebbero essere impostati su valori predefiniti sicuri fino a 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 Find an account by query (precedentemente endpoint Find an 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. Seguirà gli standard REST. Se viene restituito un errore 404 nella ricerca non riuscita, la prossima operazione sarà la ricerca per query.
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 API consentono l'integrazione con record o richieste 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 record
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 registrazione
Questo endpoint viene utilizzato per aggiornare un record. Aggiorna il titolo e la descrizione del record. Questo endpoint funziona anche in modo facoltativo 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.
Carica un endpoint file
Questo endpoint viene utilizzato per caricare un allegato.
Scegli il Tipo per l'endpoint di caricamento
Modulo codificato in Base64
Modulo in più parti
Seleziona i file da allegare
Registrazioni delle chiamate
Trascrizioni delle chat
Messaggi vocali
Foto
Video
File di 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. Sono disponibili le variabili RECORD_ID e ATTACHMENT_ID.
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 per il download degli allegati che utilizza questo ID. Ad esempio,
https://www.customer-api.com/record/{RECORD_ID}/Attachments/{ATTACHMENT_ID}.
{
"id": 123
}
Endpoint commento
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 di una chiamata o di una chat
fine della chiamata o della chat
Valutazione e commento CSAT
pacchetto di dati dei clienti personalizzato
commenti sul trasferimento
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 ujet 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
Questa sezione fornisce i diagrammi di flusso per i flussi dell'API generica del CRM personalizzato.
Diagrammi di flusso di base

Flusso Trova o crea un account

Flusso di ricerca o creazione di record

Flusso di azioni post-chiamata o post-chat

Aggiornamento del flusso di record

Flusso dei commenti

Flusso di caricamento dei file

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 la modalità di presentazione degli adattatori 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 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 automaticamente 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 per chiamate e chat sono due iframe separati e pubblicano 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 sempre essere personalizzato 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 ticket per un ID sessione specifico.
Sia l'adattatore per le chiamate che quello per la 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
- La redazione della chiamata è terminata
- Termina chiamata
Adattatore per la 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
- Controllo remoto della sessione di condivisione schermo modificato
- Sessione di condivisione schermo con dispositivo completo modificata
- Sessione di condivisione schermo terminata
- Trasferisci
- Gruppo aggiunto
- L'agente si connette alla sessione
- Disconnessione dell'agente
- Agent Assist aggiunto
- Virtual Task Assistant ha partecipato
- Virtual Task Assistant ha abbandonato la riunione
- Variabili di sessione dell'assistenza alle attività virtuali 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, inserisci 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 evento 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 falsificare gli eventi dell'adattatore.I valori di
typesono sensibili alle maiuscole e non sono uniformemente in maiuscolo. 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.
Il seguente esempio 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 la redazione delle chiamate è abilitata 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: identificatore di 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 a Virtual Agent. Questo è obbligatorio solo per gli eventi che coinvolgono l'agente virtuale. Facoltativo.session_variable: tutte le variabili dell'agente virtuale che vengono inviate a CCAI Platform 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 dei clienti personalizzati non firmati di Chat. Facoltativo.
ID agente
agent_id: questo è un identificatore per un agente.from_agent_id: utilizzato durante il routing di chiamate o chat da un operatore a un altro, per indicare l'operatore 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 il routing 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 il routing di chiamate o chat da un agente a un altro, per indicare l'agente di origine.to_agent_email: utilizzato per il routing 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: questo è l'identificatore di una coda della piattaforma CCAI ed esiste solo quando la chiamata ha origine da una coda.from_queue_id: utilizzato per l'instradamento di chiamate o chat da una coda a un'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 il routing di chiamate o chat da una coda a un'altra, per indicare la coda di origine.to_queue_path: utilizzato per l'instradamento di chiamate o chat da una coda all'altra, per indicare la coda di destinazione.
Campaign ID
campaign_id: ID campagna 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, oltre al 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 dell'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 type:end_user.
Tipi di interazione / sessione
Tipi di chiamata
- Chiamate vocali in entrata: chiamate PSTN standard.
- Voice Inbound (IVR using 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.
- Voce in entrata (API): avviata utilizzando l'API.
- Voice Scheduled (Mobile): pianificata utilizzando un SDK per dispositivi mobili installato.
- Voice Scheduled (Web): pianificata utilizzando un SDK web installato.
- Chiamata in uscita: avviata da un agente componendo 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 e 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 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 |
| Il controllo remoto della sessione di condivisione schermo è cambiato | Cobrowse_Session_Remote_Control_Changed |
Entrambi |
| Screen Share session full device changed | Cobrowse_Session_Full_Device_Changed |
Entrambi |
| La sessione di condivisione schermo è terminata | Cobrowse_Session_Ended |
Entrambi |
| Transfer | Transfer_Call, Transfer_Chat |
Entrambi |
| Parte aggiunta | Party_Added |
Entrambi |
| L'agente si connette alla sessione | Agent_Joined_Call, Agent_Joined_Chat |
Entrambi |
| Disconnessione dell'agente | Agent_Logout |
Entrambi |
| Agent Assist aggiunto | agent_assist_added |
Entrambi |
| Virtual Task Assistant ha partecipato | Task_VA_Joined |
Entrambi |
| Virtual Task Assistant left | 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
Si verifica un nuovo evento di chiamata quando un agente risponde a una chiamata. Questo evento contiene informazioni come l'ora di inizio della chiamata, l'agente che ha gestito la chiamata e il luogo di 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 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.
Utente che ha partecipato
Un evento di partecipazione del consumatore si verifica durante una chiamata di 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 arrivi il resto dei 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 dei dati sugli eventi:
lcmKey: la chiave di Campaign Manager dell'elenco del contatto chiamatocustom_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 Avvio oscuramento chiamata:
{
"type": "call_redaction_started",
"data": {
"agent_id": 2896,
"call_id": 97939
}
}
Oscuramento della chiamata interrotto
L'evento di interruzione della modifica della chiamata si verifica al termine della modifica della chiamata e
alla ripresa della registrazione. 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
Di seguito è riportato un esempio di dati sugli eventi di interruzione della redazione 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 in cui è terminata la chiamata, l'agente che ha gestito la chiamata e l'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 maggiori informazioni, vedi Dati personalizzati non firmati di Chat (facoltativo). Facoltativo.
Nuova chat
Si verifica un nuovo evento di chat quando un agente prende in carico una sessione di chat. Questo evento indica quando è iniziata la chat e contiene informazioni come l'agente che l'ha gestita e la sua origine.
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 è incluso quando la chiamata ha avuto origine da una coda. Facoltativo.queue_path: il percorso della coda da cui è stata effettuata 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 maggiori informazioni, vedi 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 la sua origine.
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 è incluso quando la chiamata ha avuto origine da una coda. Facoltativo.queue_path: il percorso della coda da cui è stata effettuata 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 maggiori informazioni, vedi 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 è incluso quando la chiamata ha avuto origine da una coda. Facoltativo.queue_path: il percorso della coda da cui è stata effettuata 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 maggiori informazioni, vedi 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. Sono inclusi i contenuti del messaggio.
Per un evento di messaggio in entrata della 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 proviene 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 ha origine da una coda.message: un evento che indica che è stato ricevuto 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 dalla 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 viene 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 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 consumatore 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 maggiori informazioni, vedi 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 della 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. Una sessione di condivisione schermo può essere avviata 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 maggiori informazioni, vedi Dati personalizzati non firmati di Chat (facoltativo). Facoltativo.
Controllo remoto della sessione di condivisione schermo modificato
Un evento di modifica del controllo remoto della sessione di condivisione schermo si verifica quando lo stato di una sessione di condivisione schermo del 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 dei 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 maggiori informazioni, vedi Dati personalizzati non firmati di Chat (facoltativo). Facoltativo.
Sessione di condivisione schermo con cambio di dispositivo
Un evento di modifica della sessione di condivisione schermo dell'intero dispositivo si verifica quando lo stato di una sessione di condivisione schermo dell'intero dispositivo 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 maggiori informazioni, vedi 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, un utente finale o l'API. Per saperne di più, consulta Configurare 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 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.
Trasferisci
Un evento di trasferimento si verifica quando la chiamata o la 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 un messaggio in entrata tramite la 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 l'instradamento 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 durante 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 instradare chiamate o chat da un agente a un altro, per indicare l'agente di destinazione. Facoltativo.to_agent_email: utilizzato per il routing 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 a un'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 quando si instradano 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 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"
}
}
Partito aggiunto
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 sessione di chiamata o 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 ha origine 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 viene incluso solo quando il tipo di chiamata è una chiamata della campagna. Facoltativo.type: il tipo di partecipante, ad esempio end_user o agent. Questo campo viene restituito come parte di participants.type della risposta/api/v1/callso/api/v1/chatsend_user_id: l'end_user_id. Questo campo viene restituito come parte della risposta da/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
L'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 un messaggio 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 a UJET 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 in merito a 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
Virtual Task Assistant ha partecipato
L'evento Un assistente virtuale per l'assistenza alle attività ha partecipato si verifica quando un assistente virtuale per l'assistenza alle attività (VTA) partecipa a una sessione di chiamata o 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 della 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 dell'agente 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 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 CCAI Platform e inviate al VTA. Facoltativo.
Assistente virtuale per l'assistenza alle attività rimanente
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 Assistente virtuale per le attività aggiunto, include il motivo per cui la sessione dell'assistente virtuale per le attività è terminata e le variabili di sessione acquisite dall'assistente virtuale per le attività.
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 si verifica ogni volta che l'assistente virtuale invia un payload di variabili di sessione personalizzate durante la sessione. L'evento ha
gli stessi campi dell'evento Assistenza alle attività virtuale lasciata
tranne 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
}
]
}
}
Vengono incluse solo le variabili il cui capture_type include event nel payload della variabile di sessione personalizzata dell'agente virtuale e vengono escluse le chiavi elencate in invisible_to_adapter_events.
Pop-up dello schermo 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 chiamato recordUrl che
contiene l'URL del record CRM, consentendoti di eseguire un popup dello schermo
sottoscrivendo gli 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 finestra. Questo snippet di codice è progettato per consentire la comunicazione tra diversi frame o finestre e consentire aggiornamenti dinamici ai 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 chiamate quando una chiamata contiene
una chiave di terze parti (ad esempio, una chiave di Campaign Manager di un elenco in una chiamata di 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