Questo documento descrive lo schema del record dei metadati della sessione di chat. Il record di metadati è il documento JSON che Contact Center AI Platform crea per una sessione di chat di assistenza. CCAI Platform invia il record di metadati all'integrazione CRM
come parte del comando session-end della chat. Quando abiliti l'archiviazione
esterna, CCAI Platform scrive il record anche nella configurazione
dell'archiviazione esterna utilizzando un file metadata.json. Ogni chat produce un record, che
l'id di primo livello identifica in modo univoco. Utilizza questo schema per importare record nei sistemi downstream, convalidare i payload ricevuti o mappare i campi sulle colonne del data warehouse.
Root dello schema
Il record dei metadati della sessione di chat è un singolo oggetto JSON che rappresenta una sessione di chat. Tre concetti di primo livello determinano l'identità e la forma del record.
Chiave primaria: id (numero intero)
Identifica in modo univoco la sessione di chat all'interno del tenant. Esiste un record per
chat. Tutti gli altri campi di primo livello, array e oggetti nidificati descrivono gli attributi
della chat identificata da questo id.
Discriminatore del gestore: agent_info (oggetto, oneOf)
Un singolo oggetto la cui forma varia a seconda dell'ultimo gestore della chat. Le due varianti si escludono a vicenda: è presente solo una delle due:
Variante con agente umano: presente quando l'ultimo gestore della chat era un agente umano. Contiene
email,first_name,last_nameeagent_number, oltre ai campi condivisiid,nameeavatar_url.Variante dell'agente virtuale: presente quando l'ultimo gestore della chat era un agente virtuale. Contiene
va_aliase ometteemail,first_name,last_nameeagent_number.
Per rilevare quale variante contiene un record, controlla la presenza di un campo specifico della variante, in genere agent_info.email per la variante dell'agente umano o agent_info.va_alias per la variante dell'agente virtuale. Le definizioni complete di ogni variante vengono visualizzate in Definizioni: agent e Definizioni:
virtual_agent.
Discriminatori di forma della chat: chat_type, session_type, session_type_v2
(stringa)
Tre visualizzazioni parallele dello stesso tipo di chat sottostante. Non sono mai in disaccordo sul tipo di chat rappresentato da un record, ma differiscono solo nel vocabolario utilizzato per denominarlo.
chat_type: utilizza il vocabolario di enumerazione legacy, ad esempio Messaggistica in entrata (chat app), Messaggistica (SMS) e Messaggistica (WhatsApp).session_type: Restituisce sempre la stessa stringa dichat_type. Esiste per la compatibilità con le versioni precedenti con le integrazioni che utilizzano questo campo; consideralo un alias deprecato dichat_type.session_type_v2: utilizza il vocabolario enum corrente, che potrebbe includere distinzioni più granulari, ad esempio Messaggistica in entrata (chat mobile). Per i tipi di chat che non hanno un valore specifico per la versione 2,session_type_v2restituisce la stessa stringa dichat_type. Le nuove integrazioni devono analizzaresession_type_v2.
Per i valori di ogni campo, vedi Informazioni di base.
Informazioni principali
id(integer): un identificatore univoco per ogni sessione di chat. Questa chiave primaria distingue una chat dall'altra.lang(stringa): il codice lingua ISO 639 utilizzato durante la chat (ad esempio,"en"per l'inglese,"es"per lo spagnolo).chat_type(stringa): il tipo di chat, utilizzando il vocabolario dei tipi legacy. I valori includono"Messaging Inbound (App Chat)","Messaging Inbound (Web Chat)","Messaging (SMS)","Messaging (WhatsApp)"e"Messaging (Apple Messaging for Business)".session_type(stringa): un duplicato dichat_type(stessi valori), mantenuto per la compatibilità con le versioni precedenti. Consulta Controllo delle versioni e ritiri: duplicati legacy.session_type_v2(stringa): il tipo di chat, utilizzando il vocabolario del tipo attuale. Perfeziona i valorichat_typecon distinzioni più granulari. I valori includono"Messaging Inbound (Mobile Chat)","Messaging Inbound (Web Chat)","Messaging (WhatsApp)","Messaging (Apple Messaging for Business)","Messaging (SMS)","Messaging Inbound (SMS)","Messaging Outbound (SMS)","Messaging Outbound (SMS using the API)","Messaging Inbound (SMS Direct)","Messaging Outbound (SMS Direct)"e"Messaging Outbound (SMS Direct using the API)".status(stringa): lo stato attuale della chat. Valori possibili:"queued","selecting","assigned","va_assigned","dismissed","va_dismissed","check_in_timeout","finished","no_response","canceled"e"failed". (CCAI Platform segnala una chat terminata che non ha ricevuto risposta dal consumatore come"no_response".)sub_status(stringa o null): dettagli più specifici sullo stato della chat, se disponibili. Valori possibili:"selecting","queued","ongoing","dismissed","finished","timeout","deflected","abandoned","expired","failed","disconnected_by_agent","disconnected_by_end_user","no_messages","no_messages_disconnected_by_agent","no_messages_disconnected_by_end_user"e"end_user_opt_out".created_at(stringa, data e ora): il timestamp della creazione della sessione di chat da parte di CCAI Platform.assigned_at(stringa, data/ora o null): il timestamp in cui la piattaforma CCAI ha assegnato la chat a un agente o null se non è stata assegnata.ends_at(stringa, data/ora o null): il timestamp di fine della sessione di chat.updated_at(stringa, data e ora): il timestamp dell'ultimo aggiornamento dei dati della chat da parte di CCAI Platform.first_msg_sent_at(stringa, data/ora o null): il timestamp di invio del primo messaggio nella chat da parte di un partecipante.last_msg_sent_at(stringa, data/ora o null): il timestamp dell'invio dell'ultimo messaggio nella chat da parte di un partecipante.wait_duration(integer): il tempo totale trascorso dal consumatore in attesa, in secondi.chat_duration(numero intero): la durata totale della chat, in secondi.verified(booleano): indica se l'azione smart di verifica ha verificato l'interazione.rating(numero intero o null): la valutazione della soddisfazione del cliente (CSAT) fornita dal consumatore o null se il consumatore non ha fornito una valutazione.has_feedback(booleano): indica se il consumatore ha fornito un feedback dopo la chat.out_ticket_id(stringa o null): l'identificatore della richiesta di assistenza creata da CCAI Platform nel sistema CRM esterno.out_ticket_url(stringa, uri o null): l'URL del ticket CRM.is_out_ticket_account(booleano o null): indica se il ticket CRM rappresenta un cliente (true) o un'interazione di chat (false).fail_reason(stringa): il motivo di eventuali errori durante la chat o"nothing"quando la chat non ha avuto esito negativo. Valori possibili:"nothing","unknown","expired","after_hours","escalation_failed","check_in_timed_out","check_in_timed_out_expired","expired_menu_selection","end_user_opt_out","over_cap_email","group_deleted_no_substitute","presession_deflection_unknown","presession_deflection_timeout","presession_deflection_message_delivery_failed","sms_error"e"force_ended".provider_type(stringa): il tipo di fornitore di chat utilizzato. Valori possibili:"unknown","messaging","twilio_conversations","nexmo_conversations"e"ujet_conversations".provider_channel_id(stringa o null): identificatore del canale specifico del fornitore per la chat.message_count(integer): il numero totale di messaggi scambiati nella chat.average_response_time(numero intero): il tempo medio impiegato dagli agenti per rispondere durante la chat, in secondi.longest_response_time(numero intero): il tempo più lungo impiegato da un agente per rispondere durante la chat, in secondi.transcript(booleano): indica se esiste una trascrizione della chat per la sessione.
Informazioni sull'agente e sull'agente virtuale
agent_info(oggetto): informazioni sull'agente umano o sull'agente virtuale che ha gestito per ultimo la chat. Questo campo utilizza la parola chiaveoneOfper specificare che può essere di due tipi.agent(oggetto): informazioni sull'operatore umano:id(integer): l'ID univoco dell'agente.agent_number(stringa o null): un identificatore assegnato all'agente.email(stringa, email): l'indirizzo email dell'agente.name(stringa): il nome completo dell'agente.last_name(stringa): il cognome dell'agente.first_name(stringa): il nome dell'agente.avatar_url(stringa, uri o null): l'URL dell'immagine dell'avatar dell'agente.
virtual_agent(oggetto): informazioni sull'agente virtuale:id(numero intero): l'ID univoco dell'agente virtuale.name(stringa): il nome dell'agente virtuale.avatar_url(stringa, URI o null): l'URL dell'immagine dell'avatar dell'agente virtuale.va_alias(stringa o null): l'alias di visualizzazione dell'agente virtuale, se ne è stato configurato uno. Sempre presente nel payload; null quando non è impostato alcun alias.
Navigazione nei menu
selected_menu(oggetto o null): informazioni sul menu selezionato dal consumatore durante la chat.id(integer): l'ID univoco del menu.name(stringa): il nome del menu.parent_id(integer or null): l'ID del menu principale, se presente.position(numero intero o null): la posizione del menu rispetto ad altri menu dello stesso livello.deleted(booleano): indica se un amministratore ha eliminato il menu.menu_type(stringa): il tipo di menu (ad esempio"sms_menu","web_menu").hidden(booleano): indica se il menu è visibile o disponibile per l'uso.menu_path(oggetto o null): descrive il percorso gerarchico dei menu che il cliente ha esplorato.items_count(integer): il numero di menu nel percorso.name(stringa o null): una stringa di nomi di menu separati da una barra (ad esempio"Support/Billing") o null se il percorso del menu non è disponibile.materialized_path(stringa): una stringa di ID menu separati da una barra.
queue_priority_level(numero intero): la priorità della coda assegnata alla coda selezionata della chat. Presente solo quando la priorità della coda è attivata nel tuo account.
Dettagli utente finale
end_user(oggetto o null): informazioni sul consumatore:id(numero intero o nullo): l'ID interno del consumatore.identifier(stringa o null): un identificatore esterno per il consumatore.out_contact_id(stringa o valore null): l'ID del consumatore nel CRM.
Flag dei clienti e dati forniti dall'SDK
customer_flag(oggetto): flag che contrassegnano attributi notevoli dei consumatori forniti o aggiornati da sistemi esterni durante la sessione. Presente solo quando i sistemi esterni hanno fornito o aggiornato i flag dei clienti correlati all'autenticazione durante la sessione.verified_customer(booleano): indica se un sistema esterno ha contrassegnato il consumatore come verificato.bad_actor(booleano): indica se un sistema esterno ha segnalato il consumatore come malintenzionato.repeat_customer(booleano): indica se un sistema esterno ha contrassegnato il consumatore come cliente abituale.
custom_data_secured(oggetto o null): dati personalizzati firmati in modo sicuro forniti dall'SDK o dall'API Apps.custom_data_not_secured(oggetto o null): dati personalizzati non firmati in modo sicuro forniti dall'SDK o dall'API Apps.sip_headers(oggetto): intestazioni SIP in entrata acquisite per la chat. Le chiavi e i valori riflettono le intestazioni SIP ricevute dal provider upstream. Presente solo quando attivi l'acquisizione dell'intestazione SIP sul tuo account e la configuri in modo che venga visualizzata nei metadati della sessione
Allegati multimediali
photos(array): foto o screenshot associati alla chat.id(integer): identificatore univoco della foto.photo_type(stringa): il tipo di foto. I valori possibili includono"photo"e"screenshot".url(stringa, uri): URL della foto archiviata.smart_action_type(stringa o null): l'azione rapida associata alla foto, se presente.transfer_id(numero intero o null): identificatore dell'evento di trasferimento associato alla foto, se un partecipante l'ha caricata dopo il completamento di un trasferimento.
videos(array): video associati alla chat.id(numero intero): identificatore univoco del video.url(stringa, uri): URL del video archiviato.smart_action_type(stringa o null): l'azione intelligente associata al video, se presente.transfer_id(numero intero o null): identificatore dell'evento di trasferimento associato al video, se un partecipante lo ha caricato dopo il completamento del trasferimento.
Trasferimenti della chat
transfers(array): una voce per ogni evento di trasferimento durante la chat. Registra i trasferimenti tra agenti, agenti virtuali e menu.id(integer): identificatore univoco del trasferimento.status(stringa): stato attuale del trasferimento. I valori possibili includono"transferring","transferred","failed"e"deflected".fail_reason(stringa): motivo per cui il trasferimento non è riuscito o"nothing"se non è fallito. Valori possibili:"nothing","timeout","canceled","ag_connection_timeout","va_failure","agent_detection_missed","unknown"e"unreachable_phone_number".created_at(stringa, data e ora): timestamp dell'inizio del trasferimento.assigned_at(stringa, data/ora o null): timestamp in cui CCAI Platform ha assegnato il trasferimento.connected_at(stringa, data/ora o null): timestamp della connessione del trasferimento.updated_at(stringa, data/ora o null): timestamp dell'ultimo aggiornamento del record di trasferimento da parte di CCAI Platform.call_duration(numero intero o null): durata del segmento di chat trasferito, in secondi.wait_duration(numero intero o null): tempo di attesa del consumatore durante il trasferimento, in secondi.deflection(stringa): il tipo di deviazione associato al trasferimento. Consulta Definizioni:deflectionper i valori consentiti.answer_type_path(stringa o null): percorso che descrive in che modo gli agenti o i menu hanno risposto alle chat originali e di destinazione.from_menu_path/to_menu_path(oggetto o null): percorso del menu prima e dopo il trasferimento; stessa forma dimenu_pathin Definizioni.from_agent/to_agent(oggetto o null): agente umano su ciascun lato del trasferimento; stessa forma dell'oggettoagentin Definizioni.from_virtual_agent/to_virtual_agent(oggetto o null): agente virtuale su ciascun lato del trasferimento; stessa forma dell'oggettovirtual_agentin Definizioni.from_queue_priority_level/to_queue_priority_level(numero intero o null): priorità della coda prima e dopo il trasferimento.
Durate di gestione della chat
handle_durations(array): un array di oggetti, ognuno dei quali rappresenta un segmento della chat gestita da un agente.id(integer): identificatore univoco della durata dell'handle.agent_id(integer or null): identificatore dell'agente.acw_duration(numero intero): durata del lavoro dopo la chat, in secondi.chat_duration(integer): la durata della chat durante questo segmento, in secondi.menu_path_id(integer o null): ID del percorso del menu.menu_path(stringa): il nome del percorso del menu.lang(stringa): lingua utilizzata.transfer(booleano): indica se è stato effettuato un trasferimento.transfer_id(integer or null): ID del trasferimento.started_at(stringa, data/ora o null): timestamp di inizio.ended_at(stringa, data e ora o null): timestamp di fine.response_count(integer): numero di risposte dell'agente.response_time_total(numero intero): tempo totale di risposta dell'agente, in secondi.response_time_max(integer): il tempo di risposta più lungo dell'agente, in secondi.response_time_avg(numero o null): tempo medio di risposta dell'agente, in secondi. Questo valore può includere la precisione decimale.assigned_connection_duration(numero intero): durata dell'attesa del consumatore mentre l'agente assegnato si è connesso durante questo segmento.
Durate delle code
queue_durations(array): un array di oggetti, ognuno dei quali rappresenta un segmento della chat in cui il consumatore era in attesa in una coda.id(integer): identificatore univoco.agent_id(integer or null): identificatore dell'agente.ended_at(stringa, data e ora): timestamp di fine.lang(stringa): lingua.menu_path_id(integer o null): identificatore del percorso del menu.menu_path(stringa): percorso del menu.queue_duration(numero intero o null): durata della coda, in secondi.started_at(stringa, data e ora): timestamp di inizio.transfer_cold(booleano o null): indica se la chat è stata trasferita senza preavviso.transfer(booleano): indica se è stato effettuato un trasferimento.transfer_id(integer o null): identificatore del trasferimento.service_level_abandon_time_threshold(integer): soglia di abbandono del livello di servizio, in secondi.service_level_event(stringa): stato dell'evento a livello di servizio. I valori possibili includono"excluded","in_sla"e"not_in_sla".service_level_target_percent(integer): percentuale target del livello di servizio.service_level_target_time(integer): tempo target del livello di servizio, in secondi.
Riassegnazioni dall'agente virtuale all'agente umano
escalations(array): ogni voce rappresenta una riassegnazione da un agente virtuale a un agente umano.id(integer): identificatore univoco della riassegnazione.status(stringa): stato attuale della riassegnazione. Valori possibili:"escalating","escalated","canceled","deflecting"e"deflected".reason(stringa): motivo per cui la chat è stata riassegnata. Valori possibili:"unknown","by_end_user_ask","by_end_user_message","by_virtual_agent","payload_failure","could_not_resume","by_human_agent","invalid_queue"e"dismissed".created_at(stringa, data e ora): timestamp dell'inizio della riassegnazione.escalated_at(stringa, data/ora o null): timestamp del completamento della riassegnazione.from_virtual_agent(oggetto o null): agente virtuale che ha riassegnato la chat. Stessa forma dell'oggettovirtual_agentin Definizioni.to_agent(oggetto o null): l'agente umano a cui è stata riassegnata la chat. Stessa forma dell'oggettoagentin Definizioni.from_menu_path/to_menu_path(oggetto o null): percorso del menu prima e dopo il riassegnamento.
Riassegnazioni evitate dall'agente virtuale
virtual_agent_deflected_escalations(array): dettagli delle riassegnazioni dagli agenti virtuali che hanno reindirizzato a un'altra destinazione.id(integer): identificatore univoco.deflection(stringa): il tipo di deviazione per la riassegnazione deviata. Valori possibili:"no_deflection","over_cap","over_cap_email","over_cap_virtual_agent","over_cap_human_agent","over_cap_sip","over_cap_extension","after_hours","after_hours_email"e"after_hours_virtual_agent".escalation_id(integer): identificatore dell'evento di riassegnazione.escalation_reason(stringa): motivo della riassegnazione. Stessi valori diescalations[].reason(vedi 10. riassegnazioni dall'agente virtuale all'operatore).escalated_at(stringa, data e ora): timestamp dell'escalation.menu_path_id(integer): ID percorso menu.menu_path(stringa): percorso del menu.lang(stringa): lingua.virtual_agent(oggetto): dettagli dell'agente virtuale. Vedi Definizioni:virtual_agent.
Durate di gestione dell'agente virtuale
virtual_agent_handle_durations(array): segmenti di tempo in cui la chat è stata gestita da un agente virtuale.id(integer): identificatore univoco.virtual_agent(oggetto): dettagli dell'agente virtuale. Vedi Definizioni:virtual_agent.chat_duration(numero intero): durata del segmento, in secondi.escalation_reason(stringa): motivo della riassegnazione.finish_reason(stringa): motivo per cui l'interazione è terminata.response_count(integer): numero di risposte dell'agente virtuale.response_time_total(integer): tempo di risposta totale dell'agente virtuale, in secondi.response_time_max(integer): il tempo di risposta più lungo dell'agente virtuale, in secondi.response_time_avg(numero o null): tempo medio di risposta dell'agente virtuale, in secondi. Questo valore può includere la precisione decimale.fallback_response_count(integer): conteggio delle risposte di riserva.initiated_by(stringa): modalità di avvio della sessione con l'agente virtuale. Valori possibili:"end_user","human_agent"e"post_session".menu_path_id(integer): ID percorso menu.menu_path(stringa): percorso del menu.lang(stringa): lingua.transfer(booleano): indica se la chat è stata trasferita.transfer_id(numero intero o null): identificatore dell'evento di trasferimento.started_at(stringa, data e ora): timestamp di inizio.ended_at(stringa, data e ora): timestamp di fine.
Durate di gestione dei consumatori
consumer_handle_durations(array): le durate della chat del consumatore.id(integer): identificatore univoco.chat_duration(integer): durata del segmento di consumatori, in secondi.started_at(stringa, data/ora o null): timestamp di inizio.ended_at(stringa, data e ora o null): timestamp di fine.message_count(integer): numero di messaggi dei consumatori.response_count(integer): numero di risposte dei consumatori.response_time_total(integer): tempo totale di risposta del consumatore, in secondi.response_time_max(integer): il tempo di risposta più lungo del consumatore, in secondi.response_time_avg(integer): tempo medio di risposta del consumatore, in secondi.
Durate degli eventi dei consumatori
consumer_event_durations(array): dettagli degli eventi di chat con i consumatori (ad esempio, CSAT, pagamento).id(integer): identificatore univoco.duration(numero intero): durata dell'evento, in secondi.type(stringa): tipo di evento. Valori possibili:"csat".event(stringa): risultato dell'evento. Valori possibili:"finished"e"abandoned".menu_path_id(integer): ID percorso menu.menu_path(stringa): percorso del menu.lang(stringa): lingua.started_at(stringa, data e ora): timestamp di inizio.ended_at(stringa, data e ora): timestamp di fine.
Partecipanti
participants(array): informazioni su ciascun partecipante alla chat (ad esempio, utente finale, agente, agente virtuale).id(integer): identificatore univoco del partecipante.type(stringa): tipo di partecipante. Valori possibili:"end_user","agent","manager","virtual_agent","external_agent"e"task_virtual_agent".entry_type(stringa): come il partecipante è entrato nella chat. Valori possibili:"queue_or_transfer","barge"e"post_session".user_id(numero intero o null): ID utente se il partecipante è un agente.end_user_id(numero intero o null): identificatore del consumatore, se il partecipante è il consumatore.virtual_agent_id(numero intero o null): ID agente virtuale se il partecipante è un agente virtuale.virtual_agent_params(oggetto): metadati personalizzati utilizzati dall'agente virtuale. Presente solo quando configuri l'inclusione dei metadati personalizzati dell'agente virtuale.status(stringa): stato del partecipante. Valori possibili:"waiting","connecting","invited","connected","wrapping_up","finished","failed","resuming"e"post_session_in_progress".fail_reason(stringa): motivo dell'errore, se presente. Valori possibili:"nothing","canceled","ag_connection_timeout"e"unknown".connected_at(stringa, data/ora o null): timestamp di connessione del partecipante.phone_number(stringa): numero di telefono del partecipante. Presente solo nei partecipanti consumer.chat_id(integer): identificatore della chat.chat_duration(integer or null): la durata della chat per il partecipante, in secondi.finished_at(stringa, data e ora o null): timestamp in cui è terminato il coinvolgimento del partecipante.agent_assist(oggetto): impostazioni di Agent Assist attive per il partecipante. Sempre presente; un oggetto vuoto predefinito quando Assistente agente non è configurato.virtual_agent(oggetto o null): dettagli dell'agente virtuale che funge da partecipante; distinto daagent_infodi primo livello e davirtual_agent_params.sip_headers(oggetto o null): intestazioni SIP associate a questo partecipante. Sempre presente nel payload; null quando la piattaforma CCAI non acquisisce nulla.location(stringa o null): la posizione configurata dell'agente. Presenta solo ai partecipanti agenti.location_id(integer o null): l'identificatore della posizione. Presenta solo ai partecipanti agenti.email(stringa, email): l'indirizzo email dell'agente. Presentare solo ai partecipanti agenti.first_name(stringa o null): il nome dell'agente. Presentare solo ai partecipanti agenti.last_name(stringa o null): il cognome dell'agente. Presentare solo ai partecipanti agenti.middle_name(stringa o null): il secondo nome dell'agente. Presentare solo ai partecipanti agenti.teams(array): array di oggetti{ id, name }che descrivono i team a cui appartiene l'agente. Presente solo sui partecipanti agenti.
Log dei check-in
check_in_logs(array): eventi di check-in registrati durante la sessione di chat. Ogni elemento raggruppa gli eventi di check-in per un flusso di check-in.check_in_id(integer): identificatore del flusso di check-in.check_in_modal_displayed(stringa, data e ora): timestamp relativo al momento in cui la piattaforma CCAI ha mostrato la finestra modale di check-in al consumatore. Presente solo quando la piattaforma CCAI ha visualizzato la finestra modale di registrazione.check_in_modal_confirmed(stringa, data e ora): timestamp relativo al momento in cui il consumatore ha confermato di essere ancora presente. Presente solo quando il consumatore ha confermato la finestra modale di check-in.check_in_modal_timed_out(stringa, data e ora): timestamp relativo al momento in cui è scaduto il prompt di check-in. Presenta solo quando il modale di check-in è scaduto.timeout_modal_rejoin_success(stringa, data e ora): timestamp relativo al momento in cui l'azione di rientro è stata eseguita correttamente. Presente solo quando il consumatore ha effettuato di nuovo l'accesso dopo il timeout.timeout_modal_rejoin_failed_after_hour(stringa, data e ora): timestamp in cui l'azione di rientro non è riuscita a causa del comportamento al di fuori dell'orario di apertura. Presente solo quando il tentativo di rientro non è riuscito perché la coda era fuori orario.timeout_modal_exit_chat(stringa, data e ora): timestamp relativo al momento in cui il consumatore ha scelto di uscire dalla chat. Presente solo quando il consumatore ha chiuso la chat dalla finestra modale di timeout.timeout_modal_time_out_sdk_closed(stringa, data e ora): timestamp in cui il flusso modale di timeout è terminato perché l'SDK è stato chiuso. Presente solo quando l'SDK si è chiuso dopo il timeout.
Eventi offerta
offer_type(stringa o null): modalità in cui CCAI Platform ha offerto la chat all'agente.offer_events(array): eventi in cui la piattaforma CCAI ha offerto la chat agli agenti.casting_time(stringa, data e ora): ora in cui CCAI Platform ha offerto la chat.group(stringa): gruppo a cui CCAI Platform ha offerto la chat.
Altri dettagli
dismiss_duration(numero intero): durata della chat nello stato Chiusa, in secondi. Presente solo quando la chat è stata chiusa.answer_type(stringa o null): come è stata gestita la chat. Valori possibili:"manual","auto","outbound"e"deflection".inbound_number(stringa): il numero di telefono in entrata associato alla chat. Presente solo quando un numero di telefono in entrata è associato alla chat.outbound_number(stringa): il numero di telefono in uscita associato alla chat. Visualizza solo quando un numero di telefono in uscita è associato alla chat.after_hours(booleano): indica se la chat si è svolta al di fuori dell'orario di lavoro.dispositions(array): codici di chiusura e note registrati dagli agenti. Presente solo quando attivi i codici o le note di riepilogo sul tuo account. Ogni voce può contenere campi visualizzati in modo condizionale in base alla configurazione del tempo di wrap up:user_id(integer): identificatore dell'agente.transfer_id(numero intero o null): identificatore dell'evento di trasferimento, se registrato dopo un trasferimento.participant_id(integer): identificatore partecipante.note(stringa): nota dell'agente in formato libero.original_note(stringa): la versione originale (pre-modifica) della nota.code(stringa): nome in codice della disposizione.ujet_code_id(numero intero o stringa vuota): l'identificatore del codice di disposizione assegnato dalla piattaforma CCAI; una chiave stabile per il codice (il nome visualizzato del codice può cambiare). Stringa vuota se non disponibile.list(stringa): il nome dell'elenco a cui appartiene il codice.list_path(stringa): percorso separato da barre dell'elenco di codici.ujet_list_id(numero intero o stringa vuota): l'identificatore assegnato dalla piattaforma CCAI dell'elenco a cui appartiene il codice di disposizione; una chiave stabile per l'elenco. Stringa vuota quando non disponibile.custom_list_id(stringa o numero intero): identificatore dell'elenco definito dal cliente, se mappato.custom_code_id(stringa o numero intero): identificatore del codice definito dal cliente, se mappato.
auto_session_summaries(array): riepiloghi delle sessioni creati con l'AI salvati nel record CRM. Presente solo quando attivi il riepilogo delle conversazioni sul tuo account e l'AI genera correttamente un riepilogo. Ogni voce contiene:user_id(integer): identificatore del partecipante agente a cui è associato il riepilogo.participant_id(integer): identificatore partecipante.session_summary(stringa): il testo del riepilogo.session_summary_sections(array o oggetto): il riepilogo suddiviso in sezioni strutturate, se disponibili.
transfer_limit(oggetto o null): dati del limite di trasferimento per la chat.enabled(booleano): indica se il monitoraggio del limite di trasferimento è stato attivato per la chat.limit_count(integer): numero di trasferimenti consentiti.limit_reached(booleano): indica se la chat ha raggiunto il limite di trasferimento configurato.
email(stringa, email o null): l'indirizzo email del consumatore.feedback(stringa o valore null): feedback del consumatore.smart_action_text(stringa o null): testo di qualsiasi azione intelligente intrapresa.
Definizioni
I seguenti sottoschema vengono visualizzati in più punti del documento dei metadati della sessione di chat. Ogni schema secondario viene visualizzato una volta. I gruppi di proprietà che fanno riferimento a questi elementi rimandano a questa sezione anziché ridefinire la loro forma in linea.
menu_path (oggetto)
Descrive un percorso di menu gerarchico attraversato dalla chat. Per l'elenco completo dei campi, consulta Navigazione nel menu.
Riferimento da: il campo menu_path di primo livello; ogni
transfers[].from_menu_path e transfers[].to_menu_path; ogni
escalations[].from_menu_path e escalations[].to_menu_path.
agent (oggetto)
Descrive un agente umano. Si tratta di una delle due varianti del discriminatore agent_info di primo livello (vedi Radice dello schema). Consulta la sezione Agente e
informazioni sull'agente virtuale per l'elenco completo dei relativi campi.
Riferimento da: il campo agent_info quando l'ultimo gestore della chat era un
agente umano; ogni transfers[].from_agent e transfers[].to_agent; ogni
escalations[].to_agent.
virtual_agent (oggetto)
Descrive un agente virtuale. Si tratta di una delle due varianti del discriminatore agent_info di primo livello (vedi Radice dello schema). Consulta la sezione Agente e
informazioni sull'agente virtuale per l'elenco completo dei relativi campi.
Riferimento da: il campo agent_info quando l'ultimo gestore della chat era un
agente virtuale; ogni transfers[].from_virtual_agent e
transfers[].to_virtual_agent; ogni escalations[].from_virtual_agent; ogni
virtual_agent_handle_durations[].virtual_agent; ogni
virtual_agent_deflected_escalations[].virtual_agent; ogni
participants[].virtual_agent.
deflection (stringa, enum)
Lo stato di deviazione associato a un trasferimento. I valori seguono un
pattern <trigger>_<destination>, in cui il prefisso identifica la condizione
che ha attivato la deviazione e il suffisso identifica la destinazione o
il trattamento (ad esempio, _phone, _voicemail, _message, _queue, _sip,
_extension, _callback, _wait).
Valori consentiti, raggruppati per famiglia di trigger:
Nessuna deviazione:
no_deflection,deflectingCapacità eccessiva, quando la coda ha superato la soglia di capacità:
over_cap_phone,over_cap_voicemail,over_cap_callback,over_cap_wait,over_cap_message,over_cap_ewt_only,over_cap_queue,over_cap_sip,over_cap_extension,over_cap_phone_with_extensionAl di fuori dell'orario di lavoro, quando la chat è arrivata al di fuori dell'orario di apertura configurato del menu:
after_hours_voicemail,after_hours_phone,after_hours_message_only,after_hours_message,after_hours_queue,after_hours_sip,after_hours_extension,after_hours_phone_with_extensionReindirizzamento temporaneo, quando è stato configurato un reindirizzamento temporaneo nel menu:
temp_redirection_phone,temp_redirection_message,temp_redirection_voicemail,temp_redirection_queue,temp_redirection_sip,temp_redirection_extension,temp_redirection_phone_with_extensionIVR pre-sessione:
ivr_presession_deflectionReindirizzamento dell'agente virtuale, quando un agente virtuale ha reindirizzato la chat:
va_redirection_phone,va_redirection_sip
Referenziato da: ogni transfers[].deflection. (Virtual-agent deflected
escalations in Virtual agent deflected
escalations use a separate, smaller
deflection vocabulary, documented inline there.)
transfer (oggetto)
Descrive un trasferimento avvenuto durante la chat. Un trasferimento può spostare una chat tra menu, agenti e agenti virtuali. Consulta Trasferimenti della chat per l'elenco completo dei relativi campi.
Riferimento da: l'array transfers di primo livello. Gli altri campi denominati
transfer_id nel documento sono riferimenti interi al
id di un trasferimento, non oggetti transfer incorporati.
participant (oggetto)
Descrive un partecipante alla chat. La forma del partecipante varia in base al tipo di partecipante; i partecipanti agenti possono includere profilo, posizione, team e campi di Agent Assist, mentre i partecipanti consumatori e agenti virtuali includono identificatori specifici per il tipo. Consulta Partecipanti per l'elenco completo dei campi documentati.
Riferimento da: l'array participants di primo livello;
auto_session_summaries[].participant_id; record di disposizione.
Riga Durata (oggetto)
Descrive un intervallo misurato all'interno della chat, ad esempio il tempo di gestione dell'agente, il tempo di attesa, il tempo di gestione del consumatore, il tempo dell'evento del consumatore o il tempo di gestione dell'agente virtuale. Ogni array di durata ha una propria forma di riga perché i campi con nomi simili possono avere precisione o supporto di valori null diversi nelle tabelle.
Riferimento da: handle_durations, queue_durations,
virtual_agent_handle_durations, consumer_handle_durations e
consumer_event_durations.
Controllo delle versioni e deprecazioni
Il documento dei metadati della sessione di chat è progettato per l'evoluzione dello schema compatibile con le versioni precedenti. È possibile aggiungere nuovi campi e array in qualsiasi momento e le integrazioni devono ignorare le chiavi non riconosciute per garantire la continuità della funzionalità. I seguenti campi sono legacy o altrimenti sostituiti in modo soft; rimangono nel payload per la compatibilità con le versioni precedenti, ma le nuove integrazioni devono seguire le indicazioni per ciascuno.
Duplicati legacy
session_type(stringa): alias legacy dichat_type. Restituisce sempre lo stesso valore dichat_typee utilizza lo stesso vocabolario di enumerazione legacy. Mantenuto per la compatibilità con le versioni precedenti con le integrazioni che si basano susession_type. Le nuove integrazioni devono analizzare direttamentechat_typeoppure, per distinzioni più granulari,session_type_v2(vedi Evoluzione del vocabolario di seguito).
Evoluzione del vocabolario
chat_type e session_type_v2 descrivono lo stesso tipo di chat sottostante con
due vocabolari diversi. CCAI Platform emette entrambi i campi in ogni
record; non sono duplicati l'uno dell'altro:
chat_typeutilizza il vocabolario enum legacy. Valori come Messaggistica in entrata (chat app) e Messaggistica (SMS) descrivono le categorie originali di tipo chat.session_type_v2utilizza il vocabolario enum corrente. Potrebbe introdurre distinzioni più precise per i tipi di chat che hanno valori specifici della versione 2. Per i tipi di chat che non hanno un valore specifico per la versione 2,session_type_v2restituisce la stessa stringa dichat_type.
Le nuove integrazioni devono analizzare session_type_v2. I valori per ogni campo sono
elencati in Informazioni di base.
Campi additivi
Il payload dei metadati della sessione di chat potrebbe acquisire nuovi campi di primo livello, campi nidificati, campi di elementi di array o valori enum nel tempo. Le integrazioni devono ignorare le chiavi non riconosciute e conservare i record non elaborati, se possibile. Evita l'analisi rigorosa che non riesce quando viene visualizzata una nuova proprietà.