Questo documento fornisce una spiegazione dello schema JSON utilizzato per strutturare i metadati per le sessioni di chiamata. Questo schema è fondamentale per rappresentare ed elaborare con precisione le sessioni di chiamata.
Schema dei metadati della sessione di chiamata
Questo schema descrive la struttura dei dati relativi ai metadati della sessione di chiamata. I componenti chiave sono descritti nelle sezioni seguenti.
Informazioni principali
Queste proprietà acquisiscono le informazioni principali della chiamata:
id(numero intero). L'identificatore di ogni sessione di chiamata. Questa è la chiave primaria che distingue una chiamata dall'altra.lang(stringa). Il codice lingua ISO 689 utilizzato durante la chiamata, ad esempioenper l'inglese oesper lo spagnolo. Questo è fondamentale per l'analisi e la generazione di report specifici per lingua.call_type(stringa). Il tipo di chiamata, utilizzando un insieme legacy di tipi. Gli esempi includono: Voice Inbound (app), Voice Outbound e Voice Internal. In questo modo le chiamate vengono classificate in base all'origine e allo scopo.session_type(stringa): duplicato di call_typesession_type_v2(stringa). Il tipo di chiamata, utilizzando l'insieme corrente di tipi. Questo valore è simile a call_type, ma può includere distinzioni più granulari, ad esempio Voice Inbound (Mobile) o Voice Inbound (IVR using Mobile).status(stringa). Lo stato attuale della chiamata. I valori possibili includonoscheduled,queued,connected,finished,failededeflected. In questo modo viene monitorato l'avanzamento della chiamata durante il suo ciclo di vita.subStatus(string). Fornisce uno stato più dettagliato della chiamata. I valori possibili includonowaiting_for_agent,in_queueeconnected_with_agent.created_at(stringa, data e ora): il timestamp preciso della creazione del record di chiamataqueued_at(stringa, data/ora o null): il timestamp in cui la chiamata è entrata in coda o null se non è mai stata messa in codaassigned_at(stringa, data/ora o null): il timestamp in cui la chiamata è stata assegnata a un agente o null se non è stata assegnataconnected_at(stringa, data/ora o null): il timestamp in cui la chiamata è stata connessa correttamenteends_at(stringa, data/ora o null): il timestamp della fine della chiamatascheduled_at(stringa, data/ora o null): il timestamp di pianificazione della chiamata o null se si trattava di una chiamata immediataupdated_at(stringa, data e ora): il timestamp dell'ultima modifica dei dati delle chiamatewait_duration(integer): il tempo totale trascorso dal cliente in attesa, in secondicall_duration(numero intero): la durata totale della chiamata, in secondihold_duration(numero intero): il tempo totale in cui il cliente è stato messo in attesa, in secondi, o null se non è stato messo in attesarating(numero intero o null): la valutazione della soddisfazione del cliente (CSAT) fornita dal cliente o null se non è stata fornita alcuna valutazionehas_feedback(booleano): un flag che indica se il cliente ha fornito un feedback dopo la chiamatavoip_provider(stringa): il fornitore VoIP utilizzato per la chiamata. Questo campo è deprecato e restituirà sempredeprecated.out_ticket_id(stringa): l'identificatore del ticket creato nel sistema CRM esternoout_ticket_url(stringa, uri): l'URL del ticket CRMis_out_ticket_account(booleano): indica se il ticket CRM rappresenta un cliente (true) o un'interazione di chiamata (false)verified(booleano): indica se l'interazione è stata verificata tramite l'azione smart di verificarecording_url(stringa, URI o null): l'URL della registrazione della chiamata o null se non è disponibile alcuna registrazionerecording_permission(stringa). Lo stato dell'autorizzazione alla registrazione del cliente. I valori possibili includononot_asked,grantedodenied.voicemail_reason(stringa). Il motivo per cui è stato lasciato un messaggio vocale, se applicabile. Le opzioni includononot_voicemail,temporary_redirectioneafter_hour_deflection.
Informazioni sull'agente e sull'agente virtuale
Queste sezioni spiegano chi o cosa ha gestito la chiamata:
agent_info(oggetto). Questo campo può contenere informazioni su un agente umano o un agente virtuale. Utilizza la parola chiave one of per specificare che può essere uno dei due tipi.agent(oggetto): informazioni sull'agente umano:id(integer): l'ID dell'agenteagent_number(stringa o valore null): un identificatore assegnato all'agenteemail(stringa, email): l'indirizzo email dell'agentename(stringa): il nome completo dell'agentelast_name(stringa): il cognome dell'agentefirst_name(stringa): il nome dell'agenteavatar_url(stringa, uri): l'URL dell'immagine dell'avatar dell'agente
virtual_agent(oggetto): informazioni sull'agente virtuale:id(numero intero): l'ID dell'agente virtualename(stringa): il nome dell'agente virtualeavatar_url(stringa, uri): l'URL dell'immagine dell'avatar dell'agente virtuale
Navigazione nei menu
selected_menu(oggetto o null): informazioni sul menu selezionato dal cliente durante la chiamataid(integer): l'ID del menuname(stringa): il nome del menuparent_id(numero intero o valore null): l'ID del menu principale, se presenteposition(integer): la posizione del menu rispetto agli altri menu dello stesso livellodeleted(booleano): indica se il menu è stato eliminatomenu_type(stringa): il tipo di menu. Ad esempio,ivr_menuosms_menu.hidden(booleano): indica se il menu è visibile e disponibile per l'uso
menu_path(oggetto o null): descrive il percorso gerarchico dei menu in cui il cliente ha navigatoitems_count(integer): il numero di menu nel percorsoname(stringa): una stringa di nomi di menu separati da una barra. Ad esempio, assistenza o fatturazione.materialized_path(stringa): una stringa di ID menu separati da una barra
Dettagli utente finale
end_user(oggetto): informazioni sul clienteid(numero intero): l'ID interno del clienteidentifier(stringa o null): un identificatore esterno per il clienteout_contact_id(stringa o valore null): l'ID del cliente nel CRM
Deviazione delle chiamate
deflection(stringa): indica se e come è stata deviata la chiamata. Ad esempio:no_deflection,over_cap_phone,after_hours_voicemail.deflection_details(array): fornisce un log dettagliato dei trasferimenti che si sono verificati durante la chiamata. Ogni voce include:id(integer): l'identificatore del record di log di deviazionecall_id(integer): l'identificatore della chiamatatransfer_id(numero intero o null): l'identificatore del trasferimento associato alla deviazione, se applicabiledeflection(stringa): il tipo di deviazionecreated_at(stringa, data e ora): timestamp in cui si è verificata la deviazionefrom_menu_path(oggetto o null): percorso del menu da cui è stata deviata la chiamatato_menu_path(oggetto o null): percorso del menu a cui è stata deviata la chiamatato_sip_uri(stringa o null): URI SIP a cui è stata deviata la chiamata, se applicabileto_sip_headers(oggetto): intestazioni SIP con cui la chiamata è stata deviata, se applicabile
Durate di gestione delle chiamate
handle_durations(array): un array di oggetti, ognuno dei quali rappresenta un segmento della chiamata gestita da un agente. È utile per analizzare il tempo di gestione dell'agente.id(integer): l'identificatore della durata dell'handleagent_id(integer): ID dell'agenteacw_duration(integer): durata dell'attività successiva alla chiamatabcw_duration(integer): durata del lavoro prima della chiamatacall_duration(integer): durata della chiamata durante questo segmentomenu_path_id(stringa o valore null): ID del percorso del menumenu_path(stringa): nome del percorso del menulang(stringa): lingua utilizzata.barged(booleano): indica se la chiamata è stata interrottatransfer(booleano): indica se è stato effettuato un trasferimentotransfer_id(stringa o null): ID del trasferimentotransfer_cold(booleano o null): indica se il trasferimento è stato freddostarted_at(stringa, data e ora): timestamp di inizioended_at(stringa, data e ora): timestamp di finescheduled_at(stringa, data/ora o null): timestamp pianificatohold_duration(numero intero o null): durata della sospensione durante questo segmentoassigned_connection_duration(numero intero): durata dell'attesa dell'utente finale mentre l'agente era connesso durante questa fasesession_breakthrough(oggetto): dettagli sull'assegnazione della chiamata che interrompe lo stato non disponibile di un agente, se applicabile
Durate delle code
queue_durations(array): un array di oggetti, ognuno dei quali rappresenta un segmento della chiamata in cui il cliente era in coda. Questo è fondamentale per analizzare i tempi di attesa e i livelli di servizio.id(integer): l'identificatore della durata della codaagent_id(integer): ID dell'agenteended_at(stringa, data e ora): timestamp di finelang(stringa): lingua utilizzata.menu_path_id(integer): ID del percorso del menumenu_path(stringa): nome del percorso del menuqueue_duration(integer): durata del segmento della codastarted_at(stringa, data e ora): timestamp di iniziotransfer_cold(booleano): indica se la chiamata è stata trasferita a freddotransfer(booleano): indica se è stato effettuato un trasferimentotransfer_id(integer): ID del trasferimentoservice_level_abandon_time_threshold(integer): soglia di tempo per l'abbandono del livello di servizioservice_level_event(stringa): stato dell'evento a livello di servizio. Ad esempio —excluded,in_sla,not_in_sla.service_level_target_percent(integer): percentuale target per la conformità al livello di servizioservice_level_target_time(integer): tempo target per la conformità al livello di servizio
Riassegnazioni dell'agente virtuale
virtual_agent_deflected_escalations(array): dettagli delle riassegnazioni dagli agenti virtuali che sono state deviateid(integer): l'identificatoredeflection(stringa): tipo di deviazioneescalation_id(integer): identificatore evento di riassegnazioneescalation_reason(stringa): motivo della riassegnazioneescalated_at(stringa, data e ora): timestamp di riassegnazionemenu_path_id(numero intero): ID percorso menumenu_path(stringa): percorso del menulang(stringa): linguavirtual_agent(oggetto): dettagli dell'agente virtuale
Durate di gestione dell'agente virtuale
virtual_agent_handle_durations(array): segmenti di tempo in cui la chiamata è stata gestita da un agente virtualeid(integer): l'identificatorevirtual_agent(oggetto): dettagli dell'agente virtualecall_duration(integer): durata del segmentoescalation_reason(stringa): motivo della riassegnazionefinish_reason(stringa): motivo per cui l'interazione è terminatasentiment(numero intero): il sentiment dell'utente finale.response_count(numero intero): numero di risposte dell'agente virtualefallback_response_count(integer): conteggio delle risposte di riservainitiated_by(stringa): come è stata avviata la sessione dell'agente virtualemenu_path_id(numero intero): ID percorso menumenu_path(stringa): percorso del menulang(stringa): linguatransfer(booleano): indica se la chiamata è stata trasferitatransfer_id(numero intero): identificatore dell'evento di trasferimentostarted_at(stringa, data e ora): timestamp di inizioended_at(stringa, data e ora): timestamp di fine
Durate di gestione dell'utente finale
consumer_handle_durations(array): durate della chiamata dell'utente finaleid(integer): l'identificatorecall_duration(integer): durata del segmento utente finalehold_duration(integer): durata del blocco utente finalestarted_at(stringa, data e ora): timestamp di inizioended_at(stringa, data e ora): timestamp di fine
Durate degli eventi utente finale
consumer_event_durations(array): dettagli degli eventi di chiamata dell'utente finale. Ad esempio, CSAT o pagamento.id(integer): l'identificatoreduration(integer): durata dell'eventotype(stringa): tipo di eventoevent(stringa): risultato dell'eventomenu_path_id(numero intero): ID percorso menumenu_path(stringa): percorso del menulang(stringa): linguastarted_at(stringa, data e ora): timestamp di inizioended_at(stringa, data e ora): timestamp di fine
Durate in-menu per l'utente finale
consumer_in_menu_durations(array): durate delle interazioni dell'utente finale all'interno dei menuid(integer): l'identificatoreduration(integer): durata all'interno del menuevent(stringa): risultato dell'interazione con il menumenu_path_id(numero intero): ID percorso menumenu_path(stringa): percorso del menulang(stringa): linguastarted_at(stringa, data e ora): timestamp di inizioended_at(stringa, data e ora): timestamp di fine
Partecipanti
participants(array): informazioni su ciascun partecipante alla chiamata. Ad esempio, cliente, agente, agente virtuale.id(integer): l'identificatore del partecipantetype(stringa): tipo di partecipante. Ad esempio: end_user, agent, virtual_agent, ecc.entry_type(stringa): modalità di partecipazione alla chiamatauser_id(numero intero o null): ID utente se il partecipante è un agenteend_user_id(numero intero o null): ID utente finale se il partecipante è il clientevirtual_agent_id(numero intero o null): ID dell'agente virtuale se il partecipante è un agente virtualevirtual_agent_params(oggetto): metadati personalizzati utilizzati dall'agente virtualestatus(stringa): stato del partecipante. Ad esempio, waiting, connected, finished ecc.fail_reason(stringa): motivo dell'errore, se presenteconnected_at(stringa, data e ora): timestamp della connessione del partecipantephone_number(stringa): numero di telefono del partecipantecall_id(integer): identificatore della chiamatacall_duration(integer): durata della chiamata per il partecipantehold_duration(numero intero o null): durata della sospensione per il partecipanteended_at(stringa, data e ora): timestamp in cui è terminato il coinvolgimento del partecipanteadapter_fail_code(numero intero o null): codice numerico corrispondente al motivo del mancato pagamentoadapter_fail_message(stringa o valore null): descrizione leggibile difail_reason, se disponibile.
Registrazioni
recordings(array): informazioni sulle registrazioni delle chiamateid(integer): l'identificatore della registrazionecall_id(numero intero): identificatore della chiamataconference_sid(stringa): identificatore della chiamata del fornitore VoIPduration(integer): durata della registrazionerecording_type(stringa): tipo di registrazioneredaction_times(array): segmenti di tempo che sono stati oscuratistarted_at(stringa, data e ora): timestamp di inizio della registrazione
Eventi offerta
offer_type(stringa o valore null): modalità di offerta della chiamata all'agenteoffer_events(array): eventi in cui la chiamata è stata offerta agli agenticasting_time(data e ora): ora in cui è stata offerta la chiamatagroup(stringa): gruppo a cui è stata offerta la chiamata
Altri dettagli
answer_type(stringa o null): come è stata risposta alla chiamata. Ad esempio, manuale o automatica.outbound_number(stringa): numero di telefono in uscita utilizzato.wait_time_sms(array): interazioni SMS con tempi di attesain_call_sms(array): interazioni SMS durante la chiamatadispositions(array): esiti registrati durante la chiamataemail(stringa, email o null): indirizzo email del clientefeedback(stringa o valore null): feedback del clientesmart_action_text(stringa o null): testo di qualsiasi azione intelligente intrapresacustom_data_secured(oggetto o null): dati personalizzati firmati in modo sicurocustom_data_not_secured(oggetto o null): dati personalizzati non firmati in modo sicuro
Definizioni chiave
Lo schema include anche una sezione delle definizioni, che definisce i componenti dello schema riutilizzabili:
menu_path: un percorso di menu gerarchicoagent: un agente umanovirtual_agent: un agente virtualedeflection: definisce i possibili stati di deviazione