En este documento, se explica el esquema JSON que se usa para estructurar los metadatos de las transcripciones de chat. Este esquema es necesario para representar y procesar con precisión las conversaciones de chat.
Esquema de metadatos de la transcripción del chat
Este esquema describe los datos de la estructura de datos de las transcripciones de chat. Los componentes principales se describen en las siguientes secciones:
Información básica de la transcripción
Las siguientes propiedades proporcionan la información fundamental sobre la transcripción en sí:
comm_type(cadena). Es el tipo de comunicación al que pertenece esta transcripción. Puede ser chat o llamada para llamadas con funcionalidad de SMS combinada.comm_id(número entero). Es un identificador de la comunicación, por ejemplo, el chat o la llamada con los que se relaciona esta transcripción.transcript_version(cadena). Es la versión del formato de transcripción. Esto es necesario para la retrocompatibilidad cuando se analizan transcripciones.assigned_at(cadena, fecha y hora). Es la marca de tiempo del momento en que se asignó el chat.timezone(cadena). Zona horaria en la que se llevó a cabo el chat.
Definiciones de mensajes
La sección definitions contiene componentes de esquema reutilizables que definen la estructura de diferentes tipos de mensajes dentro de la transcripción. Esto proporciona flexibilidad para manejar varios formatos de contenido:
text(objeto): Representa un mensaje de texto.type(cadena): Debe ser "text".content(cadena): Es el contenido de texto real del mensaje.lang(cadena): Es el idioma del contenido de texto.
text_template(objeto): Representa un mensaje de texto basado en una plantilla.type(cadena): Debe sertext_template.content(cadena): Es el contenido de la plantilla de texto, que puede incluir marcadores de posición.
markdown(objeto): Representa un mensaje con formato Markdowntype(cadena): Debe serMarkdown.content(cadena): Es el contenido de la plantilla de Markdown.
markdown_template(objeto): Representa un mensaje de Markdown con plantilla.type(cadena): Debe sermarkdown_template.content(cadena): Es el contenido de la plantilla de Markdown, posiblemente con marcadores de posición.
photo(objeto): Representa un mensaje que contiene una foto.type(cadena): Debe serphoto.media_id(número entero): ID del archivo multimedia de la foto
video(objeto): Representa un mensaje que contiene un video.title(cadena): Título del videovideo(objeto): Detalles sobre el videourl(cadena): URL del videotext(cadena): Es una alternativa de texto a la URL del video.
media_id(número entero): Es el ID de medios para recuperar la URL del video si no se proporciona directamente.
image(objeto): Representa un mensaje que contiene una imagen.title(cadena): Título de la imagenimage(objeto): Detalles sobre la imagenurl(cadena): URL de la imagentext(cadena): Es el texto alternativo de la URL de la imagen.
document(objeto): Representa un mensaje que contiene un documento.title(cadena): Título del documentodocument(objeto): Detalles sobre el documentourl(cadena): URL del documento.text(cadena): Es una alternativa de texto a la URL del documento.
inline_button(objeto): Representa un conjunto de botones intercalados.title(cadena): Título del conjunto de botones intercaladosbuttons(array): Es un array de objetos de botón.title(cadena): Título del botónaction(cadena): Nombre de la acción que indica el botónlink(cadena): URL del vínculo para las acciones de vínculos de respuestas rápidas
sticky_button(objeto): Representa un conjunto de botones fijos.title(cadena): Título del conjunto de botones fijosbuttons(array): Es un array de objetos de botón.title(cadena): Título del botónaction(cadena): Nombre de la acción que indica el botónlink(cadena): URL del vínculo para las acciones de vínculos de respuestas rápidas
content_card(objeto): Representa una tarjeta de contenido.cards(array): Es un array de objetos de tarjetas de contenido.title(cadena): Título de la tarjeta de contenidobody(cadena): Es el texto del cuerpo de la tarjeta de contenido.
server_message(objeto): Representa un mensaje recuperado del servidor.message_id(número entero): ID del mensaje del servidor almacenadocontent(cadena): Contenido del mensaje recuperado del servidor
action(objeto): Representa una acción que se realizó durante el chat. Puede ser uno de los siguientes:action_escalation(objeto): Representa una acción de derivación.action(cadena): Debe ser "escalation".escalation_reason(cadena): Es el motivo de la derivación.menu_id(número entero): ID al que se debe derivar la comunicaciónlanguage(cadena): Código de idioma ISO 689 de la fila a la que se derivará el caso
action_deflection(objeto): Representa una acción de desvío.action(cadena): Debe serdeflection.deflection_type(cadena): Es el tipo de desvío.sip_parameters(objeto o nulo): Parámetros de SIP para reenviar como parte de la desviación, si están presentes
action_end(objeto): Representa una acción final.action(cadena): Debe serend.
noti(objeto): Representa un mensaje de notificación. Puede ser uno de varios tipos de notificaciones:noti_transfer_started(objeto): Notificación de inicio de una transferencia.type(cadena): Debe sernoti.event(cadena): Debe ser "transferStarted".target(cadena): Es el destino de la transferencia, por ejemplo, un menú o un agente.agent(objeto): Es el agente que inició la transferencia.id(número entero): ID del agenteemail(cadena): Correo electrónico del agentename(cadena): Nombre del agente
noti_verification_requested(objeto): Notificación de una solicitud de verificacióntype(cadena): Debe sernoti.event(cadena): Debe serverificationRequested.agent(objeto): Es el agente que solicita la verificación.id(número entero): ID del agente que solicita la verificaciónemail(cadena): Correo electrónico del agente que solicita la verificaciónname(cadena): Nombre del agente que solicita la verificación
noti_end_user_verified(objeto): Notificación que se envía cuando se verifica a un usuario finaltype(cadena): Debe sernoti.event(cadena): Debe serendUserVerified.
Otros tipos de
noti_\*definen notificaciones para varios eventos, como solicitudes de fotos, solicitudes de videos, eventos de navegación conjunta, eventos de agente virtual de tareas, unión de agentes y cambios en el estado de transferencia o derivación.noti_custom(objeto): Representa una notificación personalizada.type(cadena): Debe sernoti.event(cadena): Debe sercustom.detail(objeto): Detalles del evento personalizadokey(cadena): Es la clave que representa el detalle del evento personalizado.data(objeto): Carga útil del evento definida de forma personalizada
Entradas de transcripción
entries(array): Es un array de objetos, en el que cada objeto representa un mensaje individual enviado en el chat.timestamp(cadena): Es la marca de tiempo en la que se envió el mensaje.type(cadena): Es el tipo de mensaje, que hace referencia a una de las definiciones descritas anteriormente, por ejemplo,text,photo,noti.body(objeto): Es el contenido del mensaje, que se ajusta a la estructura definida por el tipo del mensaje. UtilizaoneOfpara adaptarse a diferentes tipos de cuerpo.role(cadena): Es el rol del participante que envió el mensaje. Los valores posibles incluyenend_user,agent,manager,virtual_agent,external_agent,task_virtual_agentysystem.user_data(objeto): Son los datos del usuario que envió el mensaje, a menos que se trate de un mensaje del sistema o del usuario final.name(cadena): El nombre del usuarioid(número entero): ID único del usuario
avatar_url(cadena): URL de almacenamiento del avatar del usuario