Este documento explica o esquema JSON usado para estruturar metadados de transcrições de chat. Esse esquema é necessário para representar e processar conversas de chat com precisão.
Esquema de metadados de transcrição de chat
Esse esquema descreve os dados de estrutura de dados das transcrições de chat. Os componentes principais são descritos nas seções a seguir:
Informações principais da transcrição
As propriedades a seguir fornecem as informações fundamentais sobre a transcrição:
comm_type(string). O tipo de comunicação a que essa transcrição pertence. Pode ser um chat ou uma chamada para ligações com funcionalidade de SMS combinada.comm_id(integer). Um identificador para a comunicação, por exemplo, chat ou chamada a que essa transcrição está relacionada.transcript_version(string). A versão do formato de transcrição. Isso é necessário para a compatibilidade com versões anteriores ao analisar transcrições.assigned_at(string, date-time). O carimbo de data/hora de quando o chat foi atribuído.timezone(string). O fuso horário em que o chat foi realizado.
Definições de mensagem
A seção definitions contém componentes de esquema reutilizáveis que definem a estrutura de diferentes tipos de mensagem na transcrição. Isso oferece flexibilidade no processamento de vários formatos de conteúdo:
text(object): representa uma mensagem de textotype(string): precisa ser "text"content(string): o conteúdo de texto real da mensagemlang(string): o idioma do conteúdo de texto
text_template(object): representa uma mensagem de texto com modelotype(string): precisa sertext_templatecontent(string): o conteúdo do modelo de texto, que pode incluir marcadores de posição
markdown(object): representa uma mensagem usando a formatação Markdowntype(string): precisa serMarkdowncontent(string): o conteúdo do modelo Markdown
markdown_template(object): representa uma mensagem Markdown com modelotype(string): precisa sermarkdown_template.content(string): o conteúdo do modelo Markdown, possivelmente com marcadores de posição
photo(object): representa uma mensagem que contém uma fototype(string): precisa serphotomedia_id(integer): o ID do arquivo de mídia da foto
video(object): representa uma mensagem que contém um vídeotitle(string): título do vídeovideo(object): detalhes sobre o vídeourl(string): URL do vídeotext(string): texto alternativo ao URL do vídeo
media_id(integer): ID de mídia para recuperar o URL do vídeo, se não for fornecido diretamente
image(object): representa uma mensagem que contém uma imagemtitle(string): título da imagemimage(object): detalhes sobre a imagemurl(string): URL da imagemtext(string): texto alternativo ao URL da imagem
document(object): representa uma mensagem que contém um documentotitle(string): título do documentodocument(object): detalhes sobre o documentourl(string): URL do documento.text(string): texto alternativo ao URL do documento
inline_button(object): representa um conjunto de botões inlinetitle(string): título do conjunto de botões inlinebuttons(array): matriz de objetos de botãotitle(string): título do botãoaction(string): nome da ação indicada pelo botãolink(string): link de URL para ações de link de resposta rápida
sticky_button(object): representa um conjunto de botões fixostitle(string): título do conjunto de botões fixosbuttons(array): matriz de objetos de botãotitle(string): título do botãoaction(string): nome da ação indicada pelo botãolink(string): link de URL para ações de link de resposta rápida
content_card(object): representa um card de conteúdocards(array): matriz de objetos de card de conteúdotitle(string): título do card de conteúdobody(string): texto do corpo do card de conteúdo
server_message(object): representa uma mensagem recuperada do servidormessage_id(integer): ID da mensagem do servidor armazenadacontent(string): conteúdo da mensagem recuperada do servidor
action(object): representa uma ação realizada durante o chat. Pode ser uma das seguintes:action_escalation(object): representa uma ação de escalonamentoaction(string): precisa ser "escalation"escalation_reason(string): o motivo do escalonamento.menu_id(integer): o ID para o qual a comunicação precisa ser escalonadalanguage(string): código de idioma ISO 689 da fila para a qual escalonar
action_deflection(object): representa uma ação de desvioaction(string): precisa serdeflectiondeflection_type(string): o tipo de desviosip_parameters(object or null): parâmetros SIP a serem encaminhados como parte do desvio, se presentes
action_end(object): representa uma ação de encerramentoaction(string): precisa serend
noti(object): representa uma mensagem de notificação. Pode ser um de vários tipos de notificação:noti_transfer_started(object): notificação para uma transferência que está começando.type(string): precisa sernotievent(string): precisa ser "transferStarted"target(string): o destino da transferência, por exemplo, menu ou agente.agent(object): o agente que iniciou a transferênciaid(integer): ID do agenteemail(string): e-mail do agentename(string): nome do agente
noti_verification_requested(object): notificação para uma solicitação de verificaçãotype(string): precisa sernotievent(string): precisa serverificationRequestedagent(object): o agente que está pedindo a verificaçãoid(integer): ID do agente que está pedindo a verificaçãoemail(string): e-mail do agente que está pedindo a verificaçãoname(string): nome do agente que está pedindo a verificação
noti_end_user_verified(object): notificação para quando um usuário final é verificadotype(string): precisa sernotievent(string): precisa serendUserVerified
Outros tipos
noti_\*definem notificações para vários eventos, como solicitações de fotos, solicitações de vídeos, eventos de navegação conjunta, eventos de agente virtual de tarefas, participação de agentes e mudanças de status de transferência ou escalonamento.noti_custom(object): representa uma notificação personalizada.type(string): precisa sernotievent(string): precisa sercustomdetail(object): detalhes do evento personalizadokey(string): chave que representa o detalhe do evento personalizadodata(object): payload de evento definido personalizado
Entradas de transcrição
entries(array): uma matriz de objetos, em que cada objeto representa uma mensagem individual enviada no chat.timestamp(string): o carimbo de data/hora de quando a mensagem foi enviadatype(string): o tipo de mensagem, referenciando uma das definições descritas anteriormente, por exemplo,text,photo,noti.body(object): o conteúdo da mensagem, de acordo com a estrutura definida pelo tipo da mensagem. Ele usaoneOfpara permitir diferentes tipos de corpo.role(string): o papel do participante que enviou a mensagem. Os valores possíveis incluemend_user,agent,manager,virtual_agent,external_agent,task_virtual_agent,system.user_data(object): dados do usuário que enviou a mensagem, a menos que seja uma mensagem do usuário final ou do sistema.name(string): o nome do usuárioid(integer): o ID exclusivo do usuário
avatar_url(string): URL de armazenamento do avatar do usuário