Questo documento spiega lo schema del record dei metadati della trascrizione della chat. Questo è il file JSON generato da Contact Center AI Platform (CCAI Platform) per una trascrizione della chat completata. Il record dei metadati della trascrizione della chat viene generato dall'esportazione JSON della cronologia chat e può essere fornito tramite i caricamenti delle trascrizioni del CRM e i file di trascrizione dello spazio di archiviazione esterno, a seconda della configurazione dell'istanza. Utilizza questo schema per analizzare il JSON della trascrizione, convalidare i payload ricevuti o mappare i messaggi della trascrizione nei sistemi downstream.
Radice dello schema
Il record dei metadati della trascrizione della chat è un singolo oggetto JSON che rappresenta un artefatto della trascrizione della chat. I campi alla radice identificano la comunicazione, la versione del formato della trascrizione e l'insieme ordinato di voci della trascrizione.
Identificatori di comunicazione comm_type e comm_id
Insieme, comm_type e comm_id identificano la comunicazione rappresentata da questo record di trascrizione.
comm_typeidentifica il tipo di comunicazione. Il valore è solitamentechat. Potrebbe esserecallper una chiamata vocale che include contenuti di trascrizione di SMS combinati.comm_idè l'identificatore della chat o della chiamata rappresentata dalla trascrizione.
Versione formato transcript_version
Identifica la versione del formato della trascrizione JSON. Le integrazioni devono utilizzare questo campo per l'analisi compatibile con le versioni successive e devono ignorare i campi non riconosciuti.
Discriminatore voce - entries[].type e entries[].body.type
Ogni elemento in entries rappresenta un messaggio o un evento della trascrizione. Il campo type di primo livello rispecchia il tipo di corpo del messaggio. L'oggetto body nidificato contiene il payload la cui forma varia in base al tipo, ad esempio text, markdown, photo, noti o action.
Schema dei metadati della trascrizione della chat
Questo schema descrive la struttura dei dati delle trascrizioni delle chat. Le sezioni seguenti descrivono i componenti principali.
Informazioni principali sulla trascrizione
Le seguenti proprietà forniscono le informazioni fondamentali sulla trascrizione stessa:
comm_type(stringa): il tipo di comunicazione rappresentato dalla trascrizione. Valori possibili:chat,call. Il valorecallindica una chiamata vocale con contenuti di trascrizione SMS combinati.comm_id(numero intero): identificatore univoco della comunicazione rappresentata dalla trascrizione.transcript_version(stringa): versione del formato JSON della trascrizione. Il valore attuale è"1.0". Consulta Controllo delle versioni e ritiri.assigned_at(stringa, data-ora): timestamp di assegnazione della chat.timezone(stringa): fuso orario per il contesto della trascrizione, ad esempio"America/Los_Angeles".
Voci della trascrizione
entries(array): elenco ordinato di voci della trascrizione. Ogni voce rappresenta un messaggio, una notifica o un'azione nella conversazione.timestamp(numero intero): timestamp dell'epoca di Unix, in secondi, in cui il sistema ha creato la voce.type(stringa): tipo di corpo del messaggio. Questo valore rispecchiabody.type. Consulta la sezione Definizioni per i tipi di corpo supportati.body(oggetto): payload della voce. La sua forma dipende dal valore ditype/body.type.role(stringa): ruolo del partecipante o del componente di sistema che ha prodotto la voce. Valori possibili:end_user,agent,manager,virtual_agent,external_agent,task_virtual_agent,system.user_data(oggetto): metadati del mittente. Per le vociagent,manager,virtual_agent,external_agentetask_virtual_agent, questo oggetto contiene i dati di visualizzazione del mittente. Per le vociend_useresystem, questo oggetto è vuoto.name(stringa; presente solo quando sono disponibili i metadati del mittente): nome visualizzato del mittente.id(numero intero; presente solo quando sono disponibili i metadati del mittente): identificatore del mittente.avatar_url(stringa, uri; presente solo quando sono disponibili i metadati del mittente): URL dell'immagine avatar del mittente.
Corpi dei messaggi
text(oggetto): corpo del messaggio in testo normale.type(stringa): sempretext.content(stringa): testo del messaggio.lang(stringa; presente solo quando sono disponibili i metadati della lingua): codice lingua associato al messaggio.
text_template(oggetto): corpo del messaggio basato su modello.type(stringa): sempretext_template.content(stringa): testo del template.
markdown(oggetto): corpo del messaggio formattato in Markdown.type(stringa): sempremarkdown.content(stringa): contenuti Markdown.lang(stringa; presente solo quando sono disponibili i metadati della lingua): codice lingua associato al messaggio.
markdown_template(oggetto): corpo del messaggio Markdown basato su modelli.type(stringa): sempremarkdown_template.content(stringa): contenuto del template Markdown.
Corpi dei messaggi multimediali e dei file
photo(oggetto): corpo del messaggio della foto o dello screenshot.type(stringa): semprephoto.media_id(integer): identificatore della foto archiviata.
video(oggetto): corpo del videomessaggio.type(stringa): semprevideo.media_id(numero intero; presente quando il sistema archivia il video come contenuto multimediale di CCAI Platform): identificatore dei contenuti multimediali video archiviati.title(stringa; presente quando un oggetto video incorporato rappresenta il video): titolo del video.video(oggetto; presente quando un oggetto video incorporato rappresenta il video): dettagli del video.url(stringa, URI): l'URL del video.text(stringa): testo alternativo o URL di riserva per il video.
image(oggetto): corpo del messaggio immagine.type(stringa): sempreimage.title(stringa; presente quando fornita dal mittente del messaggio): titolo dell'immagine.image(oggetto): dettagli dell'immagine.url(stringa, URI): URL dell'immagine.text(stringa): testo alternativo o URL di riserva per l'immagine.
document(oggetto): corpo del messaggio del documento.type(stringa): sempredocument.media_id(numero intero; presente quando il sistema archivia il documento come contenuto multimediale di CCAI Platform): identificatore del contenuto multimediale del documento archiviato.title(stringa; presente quando un oggetto documento incorporato rappresenta il documento): titolo del documento.document(oggetto; presente quando un oggetto documento incorporato rappresenta il documento): dettagli del documento.url(stringa, URI): l'URL del documento.text(stringa): testo alternativo o URL di riserva per il documento.
audio(oggetto): corpo del messaggio audio.type(stringa): sempreaudio.media_id(numero intero; presente quando il sistema archivia l'audio come contenuto multimediale della piattaforma CCAI): identificatore dei contenuti multimediali audio archiviati.title(stringa; presente quando un oggetto audio incorporato rappresenta il file audio): titolo del file audio.audio(oggetto; presente quando un oggetto audio incorporato rappresenta il file audio): dettagli dell'audio.url(stringa, uri): URL del file audio.text(stringa): testo alternativo o URL di riserva per il file audio.
Corpi dei messaggi interattivi
inline_button(oggetto): corpo del messaggio del pulsante in linea.type(stringa): sempreinline_button.title(stringa): titolo da mostrare sopra i pulsanti.buttons(array): elenco delle definizioni dei pulsanti.title(stringa): etichetta del pulsante.action(stringa): azione associata al pulsante.link(stringa, uri; presente solo per le risposte rapide di tipo link): URL associato al pulsante.
sticky_button(oggetto): corpo del messaggio del pulsante fisso.type(stringa): sempresticky_button.title(stringa): titolo da mostrare sopra i pulsanti.buttons(array): elenco delle definizioni dei pulsanti.title(stringa): etichetta del pulsante.action(stringa): azione associata al pulsante.link(stringa, uri; presente solo per le risposte rapide di tipo link): URL associato al pulsante.
content_card(oggetto): corpo del messaggio della scheda di contenuti.type(stringa): semprecontent_card.cards(array): elenco di schede di contenuti.title(stringa): titolo della scheda.body(stringa; presente solo quando configuri il corpo del testo della scheda): il corpo del testo della scheda.
form_complete(oggetto): corpo del messaggio di completamento del modulo che il client invia quando un consumatore completa, non riesce a completare o annulla un modulo.type(stringa): sempreform_complete.signature(stringa; presente solo quando l'evento di completamento contiene una firma): firma per il payload di completamento del modulo.data(oggetto): dettagli del completamento del modulo.status(stringa): stato di completamento. Valori possibili:success,error,cancelled.smart_action_id(integer): identificatore dello smart action associato al modulo.timestamp(stringa, data-ora): timestamp di quando si è verificato l'evento di completamento del modulo. Questo valore è diverso datimestampa livello di voce, che è un timestamp dell'epoca di Unix intero in secondi.details(oggetto; presente solo quando il payload fornisce ulteriori dettagli sul completamento): dettagli aggiuntivi sullo stato.error_code(stringa; presente solo per gli errori con un codice): codice di errore associato al risultato del completamento.message(stringa): dettaglio dello stato leggibile.
Corpi dei messaggi generati dal server e passthrough
server_message(oggetto): corpo del messaggio generato dal server. La trascrizione include le vociserver_messagesolo se attivi i contenuti della trascrizione dell'agente virtuale per le attività per il tuo account; in caso contrario, la trascrizione omette queste voci. Utilizza questo oggetto quando la trascrizione fa riferimento a un messaggio archiviato lato server.type(stringa): sempreserver_message.message_id(integer): identificatore del messaggio del server archiviato.visibility(stringa o null): impostazione di visibilità per il messaggio del server memorizzato.
passthrough(oggetto): un payload personalizzato che il sistema passa tramite la piattaforma CCAI per un'integrazione con un agente virtuale o CCaaS. La tua integrazione definisce il propriocontent, che non fa parte dello schema della piattaforma CCAI; trattalo come opaco.type(stringa): semprepassthrough.content(stringa o oggetto): payload definito dall'integrazione. La sua struttura varia in base all'integrazione e non viene interpretata dalla piattaforma CCAI.
Corpi dei messaggi di azione
action(oggetto): azione richiesta da un agente virtuale o da un flusso di chatbot. Il campoactiondetermina la forma del payload dell'azione.type(stringa): sempreaction.action(stringa): tipo di azione. I valori possibili includonoescalation,deflectioneend.escalation_reason(stringa; presente solo quandoactionèescalation): motivo per cui la conversazione è stata riassegnata.menu_id(numero intero; presente solo quandoactionèescalation): identificatore del menu a cui deve essere trasferita la conversazione.language(stringa; presente solo quandoactionÈescalation): Codice lingua della coda di destinazione.deflection_type(stringa; presente solo quandoactionèdeflection): tipo di deviazione richiesta.sip_parameters(oggetto o null; presente solo quandoactionèdeflection): parametri SIP da inoltrare nell'ambito della deviazione.
Corpi dei messaggi di notifica
noti(oggetto): corpo del messaggio di notifica. Le notifiche descrivono gli eventi di sistema che si sono verificati durante la chat.type(stringa): semprenoti.event(stringa): nome dell'evento di notifica.agent(oggetto; presente solo per gli eventi associati a un agente umano): agente associato all'evento.id(integer): identificatore dell'agente.email(stringa, email): indirizzo email dell'agente.name(string): nome visualizzato dell'agente.
from_agent(oggetto; presente solo per gli eventi di trasferimento con un agente di origine): agente di origine per l'evento.id(integer): identificatore dell'agente.email(stringa, email): indirizzo email dell'agente.name(string): nome visualizzato dell'agente.
to_agent(oggetto; presente solo per gli eventi di trasferimento o escalation con un agente umano di destinazione): agente umano di destinazione per l'evento.id(integer): identificatore dell'agente.email(stringa, email): indirizzo email dell'agente.name(string): nome visualizzato dell'agente.
from_virtual_agent(oggetto; presente solo per gli eventi di escalation da un agente virtuale): agente virtuale di origine per l'evento.id(numero intero): identificatore dell'agente virtuale.name(string): il nome visualizzato dell'agente virtuale.avatar_url(stringa, URI o null): URL dell'immagine avatar dell'agente virtuale.
to_virtual_agent(oggetto; presente solo per gli eventi di trasferimento a un agente virtuale): l'agente virtuale di destinazione per l'evento.id(numero intero): identificatore dell'agente virtuale.name(string): il nome visualizzato dell'agente virtuale.avatar_url(stringa, URI o null): URL dell'immagine avatar dell'agente virtuale.
target(stringa; presente solo per gli eventi di trasferimento): tipo di destinazione del trasferimento. I valori possibili includonomenueagent.status(stringa; presente solo per gli eventi che hanno uno stato della chat): stato della chat associato all'evento.timeout(booleano; presente solo per gli eventi correlati al timeout): indica se l'evento è stato causato da un timeout.memberIdentity(stringa; presente solo per gli eventi di partecipazione o abbandono dei partecipanti): l'identità del partecipante.memberName(stringa; presente solo per gli eventi di partecipazione o abbandono dei partecipanti): nome visualizzato del partecipante.name(stringa; presente solo per gli eventi virtual-agent o task-va): nome visualizzato associato all'evento.reason(stringa; presente solo per gli eventi di completamento task-va): il motivo per cui la sessione task-va è terminata.escalation_reason(stringa; presente solo per gli eventi di riassegnazione): motivo della riassegnazione.deflection(oggetto; presente solo per gli eventi di deviazione): dettagli della deviazione.detail(oggetto; presente solo per gli eventi di notifica personalizzati): dettagli dell'evento personalizzato.key(stringa): chiave evento personalizzato.data(oggetto): payload dell'evento personalizzato.
Nomi degli eventi di notifica
Il campo event identifica l'evento di notifica. Il provider di chat, che funge da Single Source Of Truth, conserva tutti gli eventi di notifica nell'elenco seguente nel file JSON della trascrizione. L'elenco raggruppa questi eventi per famiglia.
Richieste di azioni rapide
verificationRequestedphotoRequestedvideoRequestedscreenshotRequestedtextRequestedcobrowseRequestedFromAgent
Risultati relativi ad azioni rapide
- Fine:
photoFinished,videoFinished,screenshotFinished,textFinished - Annullato:
photoCanceled,videoCanceled,screenshotCanceled,textCanceled - Non riusciti:
photoFailed,videoFailed,screenshotFailed,textFailed,verificationFailed
Verifica
endUserVerified
Co-browse
cobrowseRequestedFromEndUsercobrowseCodeGeneratedcobrowseStartedcobrowseEndedcobrowseFailed
Moduli
formRequestedformSentformCompleted
Trasferimenti
transferStartedtransferAcceptedtransferFailed
Escalation degli agenti virtuali
escalationStartedescalationAcceptedescalationDeflectedescalationFailed
Agente virtuale per le attività
taskVaStartedtaskVaFinished
Appartenenza
agentJoinedmemberJoinedmemberLeft
Ciclo di vita della sessione
chatEndedchatEndedWithPostSessionchatDismissedchatReactivatedcheckInRequiredcheckInTimedOuttranscriptRequestedtranscriptUpdated
Personalizzato
custom
Per i record con comm_type impostato su call, potrebbero essere visualizzati ulteriori eventi di notifica della trascrizione della chiamata. Questi eventi sono associati alla gestione delle trascrizioni delle chiamate o di Agent Assist, anziché alle normali famiglie di eventi di chat.
Definizioni
I seguenti sottoschemi vengono visualizzati nel documento dei metadati della trascrizione della chat. Questa sezione definisce ogni schema secondario una sola volta; i gruppi di proprietà che fanno riferimento a questi schemi rimandano a questa sezione anziché ridefinire la loro forma in linea.
entry (object)
Rappresenta un messaggio, una notifica o un'azione della trascrizione. Ogni voce ha un'epoca di Unix timestamp, un type di primo livello, un oggetto body il cui tipo corrisponde a quella forma, un mittente role e un oggetto user_data. Consulta Voci della trascrizione per l'elenco completo dei campi.
user_data (oggetto)
Descrive il mittente di una voce della trascrizione quando sono disponibili i metadati del mittente. Le voci agent, manager, virtual-agent, external-agent e task-virtual-agent possono contenere name, id e avatar_url. Le voci relative a consumer e sistema contengono un oggetto vuoto.
corpo del messaggio (oggetto, oneOf)
L'oggetto body di ogni voce utilizza il valore di body.type per selezionare una delle forme del corpo del messaggio supportate. I tipi di corpo supportati includono corpi di testo, corpi di contenuti multimediali o file, corpi interattivi, corpi generati dal server, corpi di azioni e corpi di notifiche. Consulta le sezioni da Corpi dei messaggi a Corpi dei messaggi di notifica per l'elenco completo delle varianti documentate.
ruolo del partecipante (stringa, enum)
Identifica la categoria del mittente per una voce della trascrizione.
Valori consentiti
end_user- Il consumatore.agent: un agente umano.manager- Un partecipante con ruolo di gestore.virtual_agent: un agente virtuale.external_agent: un partecipante agente esterno.task_virtual_agent: un agente virtuale per le attività.system: una voce generata dal sistema.
Controllo delle versioni e ritiro
Il documento dei metadati della trascrizione della chat supporta l'evoluzione dello schema compatibile con le versioni precedenti. Nel tempo, il sistema potrebbe aggiungere nuovi campi e varianti del corpo del messaggio e le integrazioni dovrebbero ignorare eventuali chiavi non riconosciute per garantire la continuità della funzionalità.
Versione del formato attuale
transcript_version(stringa) - Valore corrente:"1.0". Le integrazioni devono analizzare la trascrizione in base ai campi presenti nel payload e non devono avere esito negativo se le versioni future aggiungono nuovi campi o tipi di corpo del messaggio.
Tipi di corpo del messaggio sconosciuti
Quando una voce della trascrizione contiene un type o un body.type non riconosciuto, conserva la voce non elaborata, se possibile, e continua ad analizzare il resto della trascrizione. Il sistema potrebbe aggiungere nuovi tipi di corpo del messaggio senza modificare il significato dei campi esistenti.
Campi ritirati
Questo documento non elenca campi deprecati per il record dei metadati della trascrizione della chat.