Questo documento spiega lo schema del record dei metadati della trascrizione della chat. Questo è il file JSON che Contact Center AI Platform (CCAI Platform) genera per la trascrizione di una chat completata. Il record dei metadati della trascrizione della chat viene prodotto dall'esportazione JSON della cronologia chat e può essere fornito tramite caricamenti della trascrizione del CRM e file di trascrizione di archiviazione esterna, 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.
Root dello schema
Il record di 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
comm_type e comm_id identificano la comunicazione a cui si riferisce questo record di trascrizione.
comm_typeidentifica il tipo di comunicazione. Il valore è in generechat. Potrebbe esserecallper una chiamata vocale che include contenuti di trascrizione SMS combinati.comm_idè l'identificatore della chat o della chiamata rappresentata dalla trascrizione.
Versione del formato transcript_version
Identifica la versione del formato JSON della trascrizione. Le integrazioni devono utilizzare questo campo per l'analisi compatibile con le versioni future e devono ignorare i campi non riconosciuti.
Discriminatore di voci: entries[].type e entries[].body.type
Ogni elemento di 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 della 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 degli 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". Vedi Controllo delle versioni e ritiri.assigned_at(stringa, data e ora): timestamp di assegnazione della chat.timezone(stringa): il fuso orario per il contesto della trascrizione, ad esempio"America/Los_Angeles".
Voci della trascrizione
entries(array): elenco ordinato delle voci della trascrizione. Ogni voce rappresenta un messaggio, una notifica o un'azione nella conversazione.timestamp(numero intero): timestamp Unix epoch, in secondi, in cui il sistema ha creato la voce.type(stringa): tipo di corpo del messaggio. Questo valore riflettebody.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 di testo normale.type(stringa): Alwaystext.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 di testo con modello.type(stringa): Alwaystext_template.content(stringa): testo del modello.
markdown(oggetto): corpo del messaggio formattato in Markdown.type(stringa): Alwaysmarkdown.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 un modello.type(stringa): Alwaysmarkdown_template.content(stringa): contenuto del modello Markdown.
Corpi dei messaggi multimediali e dei file
photo(oggetto): corpo del messaggio con foto o screenshot.type(stringa): Alwaysphoto.media_id(integer): identificatore dei contenuti multimediali della foto archiviata.
video(oggetto): corpo del videomessaggio.type(stringa): Alwaysvideo.media_id(numero intero; presente quando il sistema memorizza il video come media di CCAI Platform): identificatore del video memorizzato.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): URL del video.text(stringa): testo alternativo o URL di riserva per il video.
image(oggetto): corpo del messaggio immagine.type(stringa): Alwaysimage.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): Alwaysdocument.media_id(numero intero; presente quando il sistema archivia il documento come media della piattaforma CCAI): identificatore del media 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): URL del documento.text(stringa): testo alternativo o URL di riserva per il documento.
audio(oggetto): corpo del messaggio audio.type(stringa): Alwaysaudio.media_id(numero intero; presente quando il sistema memorizza l'audio come media della piattaforma CCAI): identificatore del media audio memorizzato.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 audio.url(stringa, uri): l'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 con pulsante in linea.type(stringa): Alwaysinline_button.title(stringa): titolo da visualizzare 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 in stile link): URL associato al pulsante.
sticky_button(oggetto): corpo del messaggio del pulsante fisso.type(stringa): Alwayssticky_button.title(stringa): titolo da visualizzare 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 in stile link): URL associato al pulsante.
content_card(oggetto): corpo del messaggio della scheda di contenuti.type(stringa): Alwayscontent_card.cards(array): elenco di schede di contenuti.title(stringa): titolo della scheda.body(stringa; presente solo quando configuri il testo del corpo della scheda): testo del corpo 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): Alwaysform_complete.signature(stringa; presente solo quando l'evento di completamento contiene una firma): firma per il payload di completamento del modulo.data(oggetto): dettagli sul completamento del modulo.status(stringa): stato di completamento. Valori possibili:success,error,cancelled.smart_action_id(integer): identificatore dell'azione rapida associata al modulo.timestamp(stringa, data e ora): timestamp in cui si è verificato l'evento di completamento del modulo. Questo valore è diverso datimestampdi livello base, che è un timestamp Unix epoch intero in secondi.details(oggetto; presente solo quando il payload fornisce ulteriori dettagli sul completamento): ulteriori dettagli 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 delle 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): Alwaysserver_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 trasmette tramite la piattaforma CCAI per un'integrazione di agente virtuale o CCaaS. La tua integrazione definisce il propriocontent, che non fa parte dello schema della piattaforma CCAI; trattalo come opaco.type(stringa): Alwayspassthrough.content(stringa o oggetto): payload definito dall'integrazione. La sua struttura varia in base all'integrazione e la piattaforma CCAI non la interpreta.
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): Alwaysaction.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 riassegnata 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 del trasferimento.
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): Alwaysnoti.event(stringa): nome dell'evento di notifica.agent(oggetto; presente solo per gli eventi associati a un agente umano): l'agente associato all'evento.id(integer): identificatore dell'agente.email(stringa, email): indirizzo email dell'agente.name(stringa): nome visualizzato dell'agente.
from_agent(oggetto; presente solo per gli eventi di trasferimento con un agente di origine): l'agente di origine dell'evento.id(integer): identificatore dell'agente.email(stringa, email): indirizzo email dell'agente.name(stringa): nome visualizzato dell'agente.
to_agent(oggetto; presente solo per eventi di trasferimento o riassegnazione con un operatore umano di destinazione): operatore umano di destinazione per l'evento.id(integer): identificatore dell'agente.email(stringa, email): indirizzo email dell'agente.name(stringa): nome visualizzato dell'agente.
from_virtual_agent(oggetto; presente solo per gli eventi di riassegnazione di un agente virtuale): l'agente virtuale di origine per l'evento.id(numero intero): identificatore dell'agente virtuale.name(stringa): il nome visualizzato dell'agente virtuale.avatar_url(stringa, URI o null): URL dell'immagine dell'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(stringa): il nome visualizzato dell'agente virtuale.avatar_url(stringa, URI o null): URL dell'immagine dell'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 includono uno stato della chat): lo 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): 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 eventi virtual-agent o task-va): il nome visualizzato associato all'evento.reason(stringa; presente solo per gli eventi di completamento di task-va): 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 dell'evento personalizzato.data(oggetto): payload dell'evento personalizzato.
Nomi degli eventi di notifica
Il campo event identifica l'evento di notifica. Il fornitore di chat, che funge da unica fonte attendibile, salva 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 delle azioni rapide
Terminato:
photoFinished,videoFinished,screenshotFinished,textFinishedAnnullato:
photoCanceled,videoCanceled,screenshotCanceled,textCanceled,cobrowseCanceledElementi non importati:
photoFailed,videoFailed,screenshotFailed,textFailed,verificationFailed
Verifica
endUserVerified
Cobrowse
cobrowseRequestedFromEndUsercobrowseCodeGeneratedcobrowseStartedcobrowseEndedcobrowseFailed
Moduli
formRequestedformSentformCompleted
Trasferimenti
transferStartedtransferAcceptedtransferFailed
Riassegnazioni dell'agente virtuale
escalationStartedescalationAcceptedescalationDeflectedescalationFailed
Agente virtuale attività
taskVaStartedtaskVaFinished
Appartenenza
memberJoinedmemberLeft
Ciclo di vita della sessione
chatEndedchatEndedWithPostSessionchatDismissedcheckInRequiredcheckInTimedOuttranscriptRequestedtranscriptUpdated
Personalizzato
custom
Per i record con comm_type impostato su call, potrebbero essere visualizzati eventi di notifica aggiuntivi della trascrizione delle chiamate. 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 sottoschema una sola volta; i gruppi di proprietà che fanno riferimento a questi sottoschemi rimandano a questa sezione anziché ridefinire la loro forma inline.
entry (oggetto)
Rappresenta un messaggio, una notifica o un'azione della trascrizione. Ogni voce ha un timestamp Unix-epoch, un type di primo livello, un oggetto body il cui tipo corrisponde a quella forma, un role mittente e un oggetto user_data. Per l'elenco completo dei campi, consulta Voci della trascrizione.
user_data (oggetto)
Descrive il mittente di una voce della trascrizione quando sono disponibili i metadati del mittente. Le voci relative ad agente, gestore, agente virtuale, agente esterno e agente virtuale per le attività possono contenere name, id e avatar_url. Le voci di consumatori e sistemi contengono un oggetto vuoto.
corpo del messaggio (oggetto, oneOf)
L'oggetto body in 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 multimediali o di file, corpi interattivi, corpi generati dal server, corpi di azioni
e corpi di notifiche. Consulta Corpi dei messaggi di testo
e Corpi dei messaggi di notifica per l'elenco completo
delle varianti documentate.
ruolo 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 deprecazioni
Il documento dei metadati della trascrizione della chat supporta l'evoluzione dello schema compatibile con le versioni precedenti. Il sistema potrebbe aggiungere nuovi campi e varianti del corpo del messaggio nel tempo e le integrazioni devono ignorare le chiavi non riconosciute per garantire la funzionalità continua.
Versione attuale del formato
transcript_version(stringa) - Valore attuale:"1.0". Le integrazioni devono analizzare la trascrizione in base ai campi presenti nel payload e non devono generare errori 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 ritirati per il record di metadati della trascrizione della chat.