Este documento explica o esquema JSON usado para estruturar metadados de sessões de chamada. Esse esquema é essencial para representar e processar sessões de chamadas com precisão.
Esquema de metadados da sessão de chamada
Esse esquema descreve a estrutura dos dados relacionados aos metadados da sessão de chamada. Os principais componentes são descritos nas seções a seguir.
Informações principais
Essas propriedades capturam as informações principais da chamada:
id(número inteiro). O identificador de cada sessão de chamada. Essa é a chave primária que distingue uma chamada de outra.lang(string). O código de idioma ISO 689 usado durante a chamada, por exemplo,enpara inglês ouespara espanhol. Isso é fundamental para análises e relatórios específicos de idiomas.call_type(string). O tipo de chamada, usando um conjunto legado de tipos. Os exemplos incluem: Voice Inbound (App), Voice Outbound e Voice Internal. Isso ajuda a categorizar as chamadas com base na origem e na finalidade delas.session_type(string): um duplicado de call_typesession_type_v2(string). O tipo de chamada, usando o conjunto atual de tipos. É semelhante a "call_type", mas pode incluir distinções mais específicas, como "Voice Inbound (Mobile)" ou "Voice Inbound (IVR using Mobile)".status(string). O status atual da chamada. Os valores possíveis incluemscheduled,queued,connected,finished,failededeflected. Isso acompanha a progressão da chamada ao longo do ciclo de vida.subStatus(string). Fornece um status mais detalhado da chamada. Os valores possíveis incluemwaiting_for_agent,in_queueeconnected_with_agent.created_at(string, date-time): o carimbo de data/hora exato em que o registro de chamada foi criado.queued_at(string, data/hora ou nulo): o carimbo de data/hora em que a chamada entrou na fila ou nulo se ela nunca foi colocada em fila.assigned_at(string, data/hora ou nulo): o carimbo de data/hora em que a chamada foi atribuída a um agente ou nulo se não foi atribuída.connected_at(string, data/hora ou nulo): o carimbo de data/hora em que a chamada foi conectada com sucesso.ends_at(string, data/hora ou nulo): o carimbo de data/hora em que a chamada terminouscheduled_at(string, data e hora ou nulo): o carimbo de data/hora em que a chamada foi agendada ou nulo se foi uma chamada imediata.updated_at(string, data e hora): o carimbo de data/hora em que os dados de chamada foram modificados pela última vez.wait_duration(número inteiro): o tempo total que o cliente passou esperando, em segundoscall_duration(número inteiro): a duração total da chamada, em segundoshold_duration(número inteiro): o tempo total que o cliente ficou em espera, em segundos, ou nulo se não houve tempo de espera.rating(número inteiro ou nulo): a classificação de satisfação do cliente (CSAT) fornecida pelo cliente ou nula se nenhuma classificação foi dada.has_feedback(booleano): uma flag que indica se o cliente enviou feedback após a ligaçãovoip_provider(string): o provedor de VoIP usado na chamada. Esse campo foi descontinuado e sempre vai retornardeprecated.out_ticket_id(string): o identificador do tíquete criado no sistema de CRM externo.out_ticket_url(string, uri): o URL do tíquete do CRM.is_out_ticket_account(booleano): indica se o tíquete do CRM representa um cliente (verdadeiro) ou uma interação de chamada (falso).verified(booleano): indica se a interação foi verificada pela ação inteligente de verificação.recording_url(string, uri ou null): o URL da gravação de chamada ou null se nenhuma gravação estiver disponível.recording_permission(string). O status da permissão de gravação do cliente. Os valores possíveis incluemnot_asked,grantedoudenied.voicemail_reason(string). O motivo de uma mensagem ter sido deixada no correio de voz, se aplicável. As opções incluemnot_voicemail,temporary_redirectioneafter_hour_deflection.
Informações do agente e do agente virtual
Estas seções explicam quem ou o que atendeu a ligação:
agent_info(objeto). Esse campo pode conter informações sobre um agente humano ou virtual. Ele usa a palavra-chave "one of" para especificar que pode ser um de dois tipos.agent(objeto): informações sobre o agente humano:id(número inteiro): o ID do agenteagent_number(string ou nulo): um identificador atribuído ao agenteemail(string, e-mail): o endereço de e-mail do agente.name(string): o nome completo do agentelast_name(string): o sobrenome do agentefirst_name(string): o primeiro nome do agenteavatar_url(string, uri): o URL da imagem do avatar do agente.
virtual_agent(objeto): informações sobre o agente virtual:id(número inteiro): o ID do agente virtualname(string): o nome do agente virtualavatar_url(string, uri): o URL da imagem do avatar do agente virtual.
Navegação pelos menus
selected_menu(objeto ou nulo): informações sobre o menu que o cliente selecionou durante a chamada.id(número inteiro): o ID do menu.name(string): o nome do menuparent_id(inteiro ou nulo): o ID do menu pai, se houverposition(número inteiro): a posição do menu em relação a outros menus no mesmo nível.deleted(booleano): indica se o menu foi excluídomenu_type(string): o tipo de menu. Por exemplo,ivr_menuousms_menu.hidden(booleano): se o menu está visível e disponível para uso
menu_path(objeto ou nulo): descreve o caminho hierárquico dos menus em que o cliente navegou.items_count(inteiro): o número de menus no caminhoname(string): uma string separada por barras com nomes de menus. Por exemplo, suporte ou faturamento.materialized_path(string): uma string de IDs de menu separados por barras.
Detalhes do usuário final
end_user(objeto): informações sobre o clienteid(número inteiro): o ID interno do cliente.identifier(string ou nulo): um identificador externo do cliente.out_contact_id(string ou nulo): o ID do cliente no CRM.
Desvio de chamadas
deflection(string): indica se e como a ligação foi desviada. Por exemplo:no_deflection,over_cap_phone,after_hours_voicemail.deflection_details(matriz): fornece um registro detalhado dos desvios que ocorreram durante a chamada. Cada entrada inclui:id(número inteiro): o identificador do registro de log de evasão.call_id(número inteiro): o identificador da chamada.transfer_id(número inteiro ou nulo): o identificador da transferência associada ao desvio, se aplicáveldeflection(string): o tipo de desvio.created_at(string, data e hora): carimbo de data/hora em que a recusa ocorreufrom_menu_path(objeto ou nulo): caminho do menu de onde a chamada foi redirecionadato_menu_path(objeto ou nulo): caminho do menu para onde a chamada foi desviadato_sip_uri(string ou nulo): URI SIP para o qual a chamada foi desviada, se aplicável.to_sip_headers(objeto): cabeçalhos SIP com que a chamada foi desviada, se aplicável.
Durações de atendimento de chamadas
handle_durations(matriz): uma matriz de objetos, cada um representando um segmento da chamada atendida por um agente. Isso é útil para analisar o tempo de processamento do agente.id(número inteiro): o identificador da duração do manipulador.agent_id(número inteiro): ID do agenteacw_duration(número inteiro): duração do trabalho após a ligaçãobcw_duration(número inteiro): duração do trabalho antes da chamadacall_duration(número inteiro): duração da chamada durante este segmentomenu_path_id(string ou nulo): ID do caminho do menumenu_path(string): nome do caminho do menulang(string): idioma usadobarged(booleano): se a chamada foi interrompidatransfer(booleano): se uma transferência ocorreutransfer_id(string ou nulo): ID da transferênciatransfer_cold(booleano ou nulo): se a transferência foi cegastarted_at(string, data e hora): carimbo de data/hora de inícioended_at(string, data e hora): carimbo de data/hora de términoscheduled_at(string, data/hora ou nulo): carimbo de data/hora programadohold_duration(número inteiro ou nulo): duração da espera durante este segmentoassigned_connection_duration(inteiro): duração da espera do usuário final enquanto o agente estava conectado durante essa fasesession_breakthrough(objeto): detalhes sobre a atribuição da interrupção da chamada por um status indisponível do agente, se aplicável
Durações das filas
queue_durations(matriz): uma matriz de objetos, cada um representando um segmento da chamada em que o cliente estava em uma fila. Isso é crucial para analisar tempos de espera e níveis de serviço.id(número inteiro): o identificador da duração da fila.agent_id(número inteiro): ID do agenteended_at(string, data e hora): carimbo de data/hora de términolang(string): idioma usadomenu_path_id(número inteiro): ID do caminho do menu.menu_path(string): nome do caminho do menuqueue_duration(número inteiro): duração do segmento da filastarted_at(string, data e hora): carimbo de data/hora de iníciotransfer_cold(booleano): indica se a transferência foi friatransfer(booleano): se uma transferência ocorreutransfer_id(número inteiro): ID da transferênciaservice_level_abandon_time_threshold(inteiro): limite de tempo para abandono do nível de serviçoservice_level_event(string): status do evento de nível de serviço. Por exemplo: —excluded,in_sla,not_in_sla.service_level_target_percent(inteiro): porcentagem desejada para conformidade com o nível de serviçoservice_level_target_time(número inteiro): tempo de destino para conformidade com o nível de serviço
Encaminhamentos para um supervisor pelo agente virtual
virtual_agent_deflected_escalations(matriz): detalhes dos encaminhamentos de agentes virtuais que foram desviadosid(número inteiro): o identificadordeflection(string): tipo de deflexãoescalation_id(número inteiro): identificador do evento de encaminhamentoescalation_reason(string): motivo do encaminhamentoescalated_at(string, data e hora): carimbo de data/hora da escalonamentomenu_path_id(número inteiro): ID do caminho do menumenu_path(string): caminho do menulang(string): idiomavirtual_agent(objeto): detalhes do agente virtual
Durações de atendimento do agente virtual
virtual_agent_handle_durations(matriz): segmentos de tempo em que a chamada foi atendida por um agente virtual.id(número inteiro): o identificadorvirtual_agent(objeto): detalhes do agente virtualcall_duration(número inteiro): duração do segmentoescalation_reason(string): motivo do encaminhamentofinish_reason(string): motivo do fim da interaçãosentiment(inteiro): sentimento do usuário finalresponse_count(inteiro): contagem de respostas do agente virtualfallback_response_count(inteiro): contagem de respostas alternativasinitiated_by(string): como a sessão do agente virtual foi iniciada.menu_path_id(número inteiro): ID do caminho do menumenu_path(string): caminho do menulang(string): idiomatransfer(booleano): indica se a chamada foi transferidatransfer_id(número inteiro): identificador do evento de transferênciastarted_at(string, data e hora): carimbo de data/hora de inícioended_at(string, data e hora): carimbo de data/hora de término
Durações de processamento do usuário final
consumer_handle_durations(matriz): durações em que o usuário final ficou na ligaçãoid(número inteiro): o identificadorcall_duration(número inteiro): duração do segmento do usuário finalhold_duration(número inteiro): duração da espera do usuário finalstarted_at(string, data e hora): carimbo de data/hora de inícioended_at(string, data e hora): carimbo de data/hora de término
Durações de eventos do usuário final
consumer_event_durations(matriz): detalhes dos eventos de chamada do usuário final. Por exemplo, CSAT ou pagamento.id(número inteiro): o identificadorduration(inteiro): duração do eventotype(string): tipo de eventoevent(string): resultado do eventomenu_path_id(número inteiro): ID do caminho do menumenu_path(string): caminho do menulang(string): idiomastarted_at(string, data e hora): carimbo de data/hora de inícioended_at(string, data e hora): carimbo de data/hora de término
Durações no menu do usuário final
consumer_in_menu_durations(matriz): durações das interações do usuário final nos menusid(número inteiro): o identificadorduration(número inteiro): duração no menuevent(string): resultado da interação com o menumenu_path_id(número inteiro): ID do caminho do menumenu_path(string): caminho do menulang(string): idiomastarted_at(string, data e hora): carimbo de data/hora de inícioended_at(string, data e hora): carimbo de data/hora de término
Participantes
participants(matriz): informações sobre cada participante da chamada. Por exemplo: cliente, atendente, agente virtual.id(número inteiro): o identificador do participante.type(string): tipo de participante. Por exemplo: end_user, agent, virtual_agent etc.entry_type(string): como o participante entrou na chamadauser_id(número inteiro ou nulo): ID do usuário se o participante for um agenteend_user_id(inteiro ou nulo): ID do usuário final se o participante for o clientevirtual_agent_id(número inteiro ou nulo): ID do agente virtual se o participante for um agente virtualvirtual_agent_params(objeto): metadados personalizados usados pelo agente virtual.status(string): status do participante. Por exemplo: aguardando, conectado, concluído etc.fail_reason(string): motivo da falha, se houverconnected_at(string, data e hora): carimbo de data/hora em que o participante se conectouphone_number(string): número de telefone do participantecall_id(número inteiro): identificador da chamada.call_duration(número inteiro): duração da chamada para o participantehold_duration(número inteiro ou nulo): duração da espera para o participante.ended_at(string, data e hora): carimbo de data/hora do fim da participação do participante.adapter_fail_code(número inteiro ou nulo): código numérico correspondente ao motivo da falha.adapter_fail_message(string ou nulo): descrição legível defail_reason, se disponível.
Gravações
recordings(matriz): informações sobre gravações de chamadasid(inteiro): o identificador da gravação.call_id(inteiro): identificador de chamadaconference_sid(string): identificador de chamada do provedor de VoIPduration(número inteiro): duração da gravaçãorecording_type(string): tipo de gravaçãoredaction_times(matriz): segmentos de tempo que foram censuradosstarted_at(string, data e hora): carimbo de data/hora do início da gravação.
Oferecer eventos
offer_type(string ou nulo): maneira como a chamada foi oferecida ao agente.offer_events(matriz): eventos em que a chamada foi oferecida aos agentescasting_time(data e hora): horário em que a chamada foi oferecidagroup(string): grupo a que a chamada foi oferecida
Outros detalhes
answer_type(string ou nulo): como a chamada foi atendida. Por exemplo, manual ou automático.outbound_number(string): número de telefone usado para fazer a ligaçãowait_time_sms(matriz): interações por SMS de tempo de esperain_call_sms(matriz): interações por SMS durante a chamada.dispositions(matriz): disposições registradas durante a chamadaemail(string, e-mail ou nulo): endereço de e-mail do clientefeedback(string ou nulo): feedback do clientesmart_action_text(string ou nulo): texto de qualquer ação inteligente realizadacustom_data_secured(objeto ou nulo): dados personalizados e assinados com segurançacustom_data_not_secured(objeto ou nulo): dados personalizados e não assinados de forma segura.
Principais definições
O esquema também inclui uma seção de definições, que define componentes de esquema reutilizáveis:
menu_path: um caminho de menu hierárquicoagent: um agente humanovirtual_agent: um agente virtualdeflection: define os possíveis status de recusa.