Nesta página, descrevemos os dados de eventos da sessão de chat que a Contact Center AI Platform (CCAI Platform) pode exportar para seu aplicativo de gestão da qualidade (QM). Os dados de eventos de chat da QM são compatíveis com o SDK da Web e os SDKs para dispositivos móveis. Para mais informações sobre como integrar a plataforma de CCAI ao seu aplicativo de QM, consulte Integração de QM e SIPREC.
Para dados de eventos de sessão de chamada, consulte Dados de eventos de sessão de chamada da QM.
Eventos e gatilhos de sessão de chat
Alguns eventos de sessão acionam a exportação de dados de sessão de chat para seu aplicativo QM. Esta seção lista os tipos de eventos de chat e inclui um exemplo de payload de evento de sessão para cada um deles.
O chat foi iniciado
Esse evento é acionado quando um agente humano ou agente virtual inicia um chat. O payload do evento contém o estado inicial do chat, incluindo informações sobre a fila, os participantes e o iniciador.
O exemplo de código a seguir mostra o payload do evento:
{
"queue_path_ids": "7/26",
"queue_path_names": "Test/calls",
"language": "en",
"support_number": null,
"session_type_v2": "In-web",
"chat_id": 138,
"state": "waiting",
"direction": "incoming",
"initiator": "end_user_5",
"participants": [
{
"state": "connected",
"type": "external",
"dn": "end_user_5"
}
]
}
Chat aguardando atribuição
Esse evento é acionado quando uma sessão de chat entra em uma fila e aguarda atribuição.
O exemplo de código a seguir mostra o payload do evento:
{
"queue_path_ids": "7/23",
"queue_path_names": "Test/virtual",
"language": "en",
"session_type_v2": "In-web",
"chat_id": 196,
"state": "waiting",
"direction": "incoming",
"initiator": "end_user_5",
"participants": [
{
"state": "connected",
"type": "external",
"dn": "end_user_5"
}
]
}
Chat aceito
Esse evento é acionado quando um atendente humano ou agente virtual aceita um chat. Esse é um evento intermediário opcional antes de um agente se conectar a um chat.
A exemplo de código a seguir mostra um payload de evento para um agente humano:
{
"queue_path_ids": "7/26",
"queue_path_names": "Test/calls",
"language": "en",
"session_type_v2": "In-web",
"chat_id": 167,
"state": "connected",
"direction": "incoming",
"initiator": "agent_1",
"participants": [
{
"state": "connected",
"type": "external",
"media_id": "MB0d0540e638354714a43d64e9be9677b6",
"dn": "end_user_5"
},
{
"state": "accepted",
"type": "agent",
"media_id": "MBd9670cb0cddd424c814194795527ae3a",
"agent_number": "Uno numero",
"name": "Admin UJET",
"alias": "super_agent",
"dn": "agent_1"
}
]
}
O exemplo de código a seguir mostra um payload de evento para um agente virtual:
{
"queue_path_ids": "7/23",
"queue_path_names": "Test/virtual",
"language": "en",
"session_type_v2": "In-web",
"chat_id": 196,
"state": "connected",
"direction": "incoming",
"initiator": "virtual_agent_2",
"participants": [
{
"state": "connected",
"type": "external",
"media_id": "MBdfcdab9220f94f1486008a165db3f31a",
"dn": "end_user_5"
},
{
"state": "accepted",
"type": "virtual_agent",
"media_id": "MBea10421d150b4d22b675de17070bc383",
"dn": "virtual_agent_2"
}
]
}
Chat conectado
Esse evento é acionado quando um chat é conectado a um agente humano ou virtual. Isso pode ser uma conexão automática ou um agente humano conectando manualmente.
A exemplo de código a seguir mostra um payload de evento para um agente humano:
{
"queue_path_ids": "7/26",
"queue_path_names": "Test/calls",
"language": "en",
"session_type_v2": "In-web",
"chat_id": 114,
"state": "connected",
"direction": "incoming",
"initiator": "end_user_5",
"participants": [
{
"state": "connected",
"type": "external",
"media_id": "MB7a504ce7f418447bb4a48b8f3fa609d0",
"dn": "end_user_5"
},
{
"state": "connected",
"type": "agent",
"agent_number": "Uno numero",
"name": "Admin UJET",
"alias": "super_agent",
"dn": "agent_1"
}
]
}
O exemplo de código a seguir mostra um payload de evento para um agente virtual:
{
"queue_path_ids": "7/23",
"queue_path_names": "Test/virtual",
"language": "en",
"session_type_v2": "In-web",
"chat_id": 196,
"state": "connected",
"direction": "incoming",
"initiator": "virtual_agent_2",
"participants": [
{
"state": "connected",
"type": "external",
"dn": "end_user_5"
},
{
"state": "connected",
"type": "virtual_agent",
"dn": "virtual_agent_2"
}
],
"connected_at": "2024-09-13T14:04:17.000-07:00"
}
Chat dispensado
Esse evento é acionado quando uma sessão de chat é cancelada ou encerrada antes de uma conexão completa ser estabelecida. Por exemplo, se ela não foi aceita ou terminou prematuramente.
O exemplo de código a seguir mostra o payload do evento:
{
"queue_path_ids": "7/26",
"queue_path_names": "Test/calls",
"language": "en",
"session_type_v2": "In-web",
"chat_id": 197,
"state": "dismissed",
"direction": "incoming",
"initiator": "agent_1",
"participants": [
{
"state": "dismissed",
"type": "external",
"media_id": "MB444f542e9b9c4f89a8369bb2430357ad",
"dn": "end_user_5"
},
{
"state": "dismissed",
"type": "agent",
"media_id": "MB7e657411b2284f95b2cf31ef5e6dc83c",
"agent_number": "Uno numero",
"name": "Admin UJET",
"alias": "super_agent",
"dn": "agent_1"
}
]
}
Chat retomado
Esse evento é acionado quando uma sessão de chat pausada ou suspensa é retomada. O payload contém o estado da conversa quando ela é retomada.
O exemplo de código a seguir mostra o payload do evento:
{
"session_type_v2": "In-web",
"chat_id": 198,
"state": "resumed",
"direction": "incoming",
"initiator": "end_user_5",
"participants": [
{
"state": "resumed",
"type": "external",
"media_id": "MB320da61121bc4fc48ea099759f679333",
"dn": "end_user_5"
},
{
"state": "resumed",
"type": "agent",
"media_id": "MBbe5db89a01ab4814a8e7830daf3d30fa",
"agent_number": "Uno numero",
"name": "Admin UJET",
"alias": "super_agent",
"dn": "agent_1"
}
]
}
O participante saiu do chat
Esse evento é acionado quando um ou mais participantes saem de uma sessão de chat. Pode ser um usuário final, um agente humano ou um agente virtual saindo da conversa. O payload contém o estado do chat quando os participantes saíram.
O exemplo de código a seguir mostra o payload de evento para um usuário final que sai de uma conversa:
{
"session_type_v2": "In-web",
"chat_id": 169,
"state": "participantDisconnect",
"direction": "incoming",
"initiator": "end_user_5",
"participants": [
{
"state": "disconnected",
"type": "external",
"media_id": "MB4dd73370bc564cf18f5347233523ef44",
"dn": "end_user_5"
},
{
"state": "disconnected",
"type": "agent",
"media_id": "MBba370f84cf914992b05e9aab03730c4b",
"agent_number": "Uno numero",
"name": "Admin UJET",
"alias": "super_agent",
"dn": "agent_1"
}
]
}
O exemplo de código a seguir mostra o payload de evento para um atendente humano que sai de uma conversa:
{
"queue_path_ids": "7/26",
"queue_path_names": "Test/calls",
"language": "en",
"session_type_v2": "In-web",
"chat_id": 169,
"state": "participantDisconnect",
"direction": "incoming",
"initiator": "agent_1",
"participants": [
{
"state": "connected",
"type": "external",
"media_id": "MB4dd73370bc564cf18f5347233523ef44",
"dn": "end_user_5"
},
{
"state": "disconnected",
"type": "agent"
"media_id": "MBba370f84cf914992b05e9aab03730c4b",
"agent_number": "Uno numero",
"name": "Admin UJET",
"alias": "super_agent",
"dn": "agent_1"
}
]
}
O exemplo de código a seguir mostra o payload de evento para um agente virtual que sai de uma conversa:
{
"queue_path_ids": "7/23",
"queue_path_names": "Test/virtual",
"language": "en",
"session_type_v2": "In-web",
"chat_id": 196,
"state": "participantDisconnect",
"direction": "incoming",
"initiator": "virtual_agent_2",
"participants": [
{
"state": "disconnected",
"type": "external",
"media_id": "MBdfcdab9220f94f1486008a165db3f31a",
"dn": "end_user_5"
},
{
"state": "disconnected",
"type": "virtual_agent",
"media_id": "MBea10421d150b4d22b675de17070bc383",
"dn": "virtual_agent_2"
}
]
}
Chat encerrado
Esse evento é acionado quando uma sessão de chat termina. Pode ser um usuário final, um agente humano ou um agente virtual encerrando a conversa. O payload contém o estado do chat quando ele termina, incluindo os participantes e os carimbos de data/hora de quando o chat foi conectado e encerrado.
O exemplo de código a seguir mostra o payload de evento para um agente humano e um usuário final que saem de uma conversa:
{
"queue_path_ids": "7/26",
"queue_path_names": "Test/calls",
"language": "en",
"support_number": null,
"session_type_v2": "In-web",
"chat_id": 127,
"state": "disconnected",
"direction": "incoming",
"initiator": "end_user_5",
"participants": [
{
"state": "disconnected",
"type": "external",
"media_id": "MB4a0a435e759c43369098ee7f2d0271f0",
"dn": "end_user_5"
},
{
"state": "disconnected",
"type": "agent",
"media_id": "MBa4afeafb5bcc4a279f51db76f3b98deb",
"agent_number": "Uno numero",
"name": "Admin UJET",
"alias": "super_agent",
"dn": "agent_1"
}
],
"connected_at": "2024-08-27T17:06:37.000-07:00",
"ends_at": "2024-08-27T17:06:59.000-07:00"
}
O exemplo de código a seguir mostra a carga útil do evento para um agente virtual e um usuário final saindo de uma conversa:
{
"queue_path_ids": "7/23",
"queue_path_names": "Test/virtual",
"language": "en",
"session_type_v2": "In-web",
"chat_id": 190,
"state": "disconnected",
"direction": "incoming",
"initiator": "end_user_5",
"participants": [
{
"state": "disconnected",
"type": "external",
"media_id": "MB6ea6204b6a0448428d88e9976fd856d4",
"dn": "end_user_5"
},
{
"state": "disconnected",
"type": "virtual_agent",
"media_id": "MBc6a2b72c99534a68990caf622b65571a",
"dn": "virtual_agent_2"
}
],
"connected_at": "2024-09-12T10:50:51.000-07:00",
"ends_at": "2024-09-12T11:54:08.000-07:00"
}
O exemplo de código a seguir mostra o payload de evento para um chat encerrado enquanto esperava na fila:
{
"queue_path_ids": "7/26",
"queue_path_names": "Test/calls",
"language": "en",
"support_number": null,
"session_type_v2": "In-web",
"chat_id": 141,
"state": "disconnected",
"direction": "incoming",
"initiator": "end_user_5",
"participants": [
{
"state": "disconnected",
"type": "external",
"media_id": "MB65670b2c44534af3860fad35be88ac41",
"dn": "end_user_5"
}
],
"connected_at": "",
"ends_at": "2024-08-29T14:41:16.000-07:00"
}
Campos de evento da sessão de chat
As tabelas a seguir descrevem os campos nos dados da sessão que a Contact Center AI Platform exporta para seu aplicativo de QM.
Campos gerais
Nome do campo |
Valores |
Descrição |
Condição |
|---|---|---|---|
|
|
O tipo de evento do payload JSON geral. |
|
|
O objeto com informações do evento. |
Campos de estado do chat
Nome do campo |
Valores |
Descrição |
Condição |
|---|---|---|---|
|
|
Disponível no objeto O identificador da sessão de chat no sistema da Contact Center AI Platform. |
|
|
|
Disponível no objeto O estado atual da sessão de chat. |
|
|
|
Disponível no objeto A direção da sessão de chat do ponto de vista da central de atendimento. |
|
|
|
Disponível no objeto O identificador da parte que inicializa o estado do chat. |
|
|
|
Disponível no objeto O caminho da fila percorrido pelo usuário final antes de chegar ao primeiro agente da chamada. Esse valor é criado usando os IDs da fila navegada. |
|
|
|
Disponível no objeto O caminho da fila percorrido pelo usuário final antes de chegar ao primeiro agente da ligação. Esse valor é criado usando os nomes das filas navegadas. |
|
|
|
Disponível no objeto O código do idioma selecionado pelo usuário final. |
|
|
|
Disponível no objeto O UUID da fila para onde o chat foi encaminhado. |
|
|
|
Disponível no objeto O nome da instância que hospeda o chat. |
|
|
|
Disponível no objeto Um identificador para a sessão de chat. |
|
|
|
Disponível no objeto Um carimbo de data/hora para a conversa no tempo da época Unix. |
|
|
|
Disponível no objeto Indica uma sessão de chat do SDK da Web. |
|
|
|
|
|
|
|
Disponível no objeto A data e a hora em que a sessão de chat começou. |
|
|
|
Disponível no objeto A data e a hora em que a sessão de chat terminou. |
|
|
Disponível no objeto Um objeto que contém as informações do participante da chamada. |
||
|
|
Disponível no objeto O identificador do participante do chat. |
|
|
|
Disponível no objeto O tipo de participante da chamada. |
|
|
|
Disponível no objeto O estado atual do participante na conferência por chat. |
|
|
|
Disponível no objeto O identificador da mídia da sessão de chat da operadora. |
|
|
|
Disponível no objeto O número de diretório do participante. |
|
|
Disponível no objeto |
||
|
Disponível no objeto |
||
|
Disponível no objeto |
Transferências de sessões de chat
As transferências de sessão de chat não são eventos de chat distintos. Em vez disso, eles são payloads que indicam que uma transferência de sessão de chat ocorreu. Esta seção mostra uma
carga útil de transferência de sessão de chat que é acionada quando um agente sai de um chat. Neste exemplo, o valor do campo initiator é agent_1, indicando que o agente 1
iniciou a transferência. Na matriz participants, agent_1 tem um estado de disconnected e agent_2 tem um estado de connected. Isso indica que a sessão foi transferida do agente 1 para o agente 2, com o agente 1 saindo do chat e o agente 2 entrando. O valor do campo state geral neste exemplo é participantDisconnect, mas você pode modelar seu sistema para ter um estado geral de transferred ou connected, se preferir. Você também pode modelar seu sistema para ter campos adicionais que representem mais explicitamente uma transferência de sessão, por exemplo, transfer_id ou um tipo de evento de transferência dedicado.
O exemplo de código a seguir mostra um payload de evento para uma transferência de sessão:
{
"queue_path_ids": "7/26",
"queue_path_names": "Test/calls",
"language": "en",
"session_type_v2": "In-web",
"chat_id": 208,
"state": "participantDisconnect",
"direction": "incoming",
"initiator": "agent_1",
"participants": [
{
"state": "connected",
"type": "external",
"media_id": "MBed9193af0a82486cbad069925b5a0b18",
"dn": "end_user_5"
},
{
"state": "disconnected",
"type": "agent",
"media_id": "MB05685c80e6af444faa1de5c5e48a26c7",
"agent_number": "Uno numero",
"name": "Admin UJET",
"alias": "super_agent",
"dn": "agent_1"
},
{
"state": "connected",
"type": "agent",
"media_id": "MB5caad80c7d94477d9db9c5f1c3662768",
"agent_number": "420",
"name": "ajay1 ujet",
"alias": "ajay1-alias",
"dn": "agent_2"
}
]
}