A solução de CRM personalizada permite que as empresas aproveitem o portal da Contact Center AI Platform (CCAI) ao usar um CRM que não é uma integração padrão atual com a plataforma de CCAI. A configuração personalizada do CRM funciona ao usar um CRM interno ou qualquer CRM não padrão.
Os agentes atendem ligações e chats, e os supervisores podem monitorar e gerar relatórios usando o portal da plataforma de CCAI. Todos os detalhes sobre a sessão de chamada ou chat são armazenados em um arquivo de metadados da sessão. Ele pode conter mais de 20 pontos de dados, incluindo informações de sessão, transferências, duração do identificador, participantes, informações de diagnóstico e muito mais. O arquivo de metadados da sessão pode ser analisado e usado para rastreamento e análise pós-sessão.
Os metadados da sessão e os arquivos de mídia enviados pelo consumidor são enviados para um serviço de armazenamento externo, e os agentes podem ver esses arquivos diretamente no adaptador durante a sessão.
Uma solução de CRM personalizada é implementada com uma combinação dos seguintes componentes. Alguns componentes podem ou não se aplicar à sua configuração:
Gerar o arquivo de metadados da sessão para cada sessão de chamada e chat
Como enviar metadados e arquivos de mídia para um serviço de armazenamento externo
Integração genérica de API
URL de pesquisa personalizada
Atualização de registro de CRM por e-mail
Pesquisa de conta ou caso no adaptador do agente
Pré-requisitos
Para usar o recurso de CRM personalizado, primeiro configure o armazenamento externo. Consulte Armazenamento externo para soluções de CRM personalizadas para mais informações.
Metadados da sessão
O arquivo de metadados da sessão contém informações detalhadas sobre ela. Ele é enviado 15 minutos após a conclusão da sessão. Consulte Arquivo de metadados da sessão para mais informações.
Métodos personalizados de interação e integração com CRM
| API genérica | URL personalizado | |
|---|---|---|
| Pesquisa de conta | Sim | Sim |
| Pesquisa de caso | Sim | |
| Atualização do caso | Sim | Não |
API genérica
O método de integração da API genérica permite usar a API do seu CRM personalizado para estabelecer uma conexão bidirecional com a plataforma CCAI. Esse método integrado é igual à experiência de integração de CRM pronta para uso. O agente não precisa fazer nada para criar um registro de CRM para sessões de chat ou chamadas, dependendo da configuração exclusiva da API. Ele pode permitir uma pesquisa e atualização de registros sem problemas.
URL personalizado
Com a opção "Link personalizado", seus representantes podem interagir com o CRM usando um link personalizado criado para cada sessão. Ao contrário da integração padrão do CRM e da experiência da API genérica, o agente precisa realizar uma ação para que um registro do CRM seja criado. Em alguns casos, isso pode ser apenas abrir uma guia com o link personalizado da sessão. Em outros casos, o agente pode precisar criar o registro manualmente.
Detalhes e configuração de URL de pesquisa personalizada
A funcionalidade básica do URL é realizar uma pesquisa de CRM, mas dependendo do seu CRM, processos mais complexos podem ser acionados com base no conteúdo do URL personalizado. O URL do CRM personalizado pode ser configurado com variáveis que contêm informações da sessão e fica acessível no adaptador do agente durante a sessão. Quando o URL for acessado, ele vai acionar o CRM personalizado para fazer uma pesquisa. É assim que os agentes podem usar um "ticket pop" para a sessão de chat ou chamada ativa. O processo de vinculação personalizada depende apenas da capacidade do CRM personalizado de processar esse link e modificá-lo ou reescrevê-lo, se necessário.
Os metadados da sessão armazenados externamente, as gravações de chamadas e outros arquivos não serão vinculados ao registro do CRM, a menos que o método de atualização de e-mail listado também seja usado.
Nessa configuração, o agente faz login no portal da plataforma CCAI e no CRM em guias separadas. As chamadas e os chats serão processados na guia da plataforma CCAI, e os detalhes do tíquete serão acessados em uma guia do CRM.
Para que essa configuração funcione:
O agente precisa fazer login no CRM no navegador
O agente precisa fazer login no portal da plataforma CCAI no navegador.
O URL de pesquisa personalizada precisa ser pré-configurado
Seu CRM precisa processar o URL personalizado para mostrar o registro relevante do CRM.
Comportamento personalizado do URL de pesquisa
A plataforma CCAI só vai incluir parâmetros não vazios no URL.
A plataforma CCAI não armazena o URL gerado que contém ANI/UID/e-mail no banco de dados da plataforma CCAI depois que a sessão é concluída.
Configuração de URL de pesquisa personalizada
Devido à variação de identificadores exclusivos e recursos e comportamentos de CRM, você precisará criar dois URLs diferentes: um para sessões de IVR/PSTN/SMS e outro para sessões de SDK para Web e dispositivos móveis. As sessões de IVR/PSTN/SMS usam o ANI como identificador exclusivo, enquanto o SDK para Web e dispositivos móveis provavelmente usará o CUID e o e-mail.
As seguintes variáveis podem ser usadas para configurar um URL de pesquisa:
| Variável | Valores |
|---|---|
{CUSTOMER_PHONE_NUMBER} |
O número de telefone do usuário final |
{ANI} |
O número de telefone do usuário final. Mantido para oferecer compatibilidade com versões anteriores. |
{CUID} |
ID do usuário personalizado |
{EMAIL} |
E-mail do usuário final |
{MENU_PATH} |
O caminho completo do menu da fila. Por exemplo, "Pedidos/Confirmação do pedido/Informações do pedido". |
{MENU_ID} |
ID do menu |
{CHANNEL} |
O canal da sessão. Valores possíveis:
|
{TYPE} |
O tipo de sessão. Valores possíveis para chamadas:
Valores possíveis para chats:
|
{SUPPORT_PHONE_NUMBER} |
O número de telefone da Central de Ajuda que o usuário final liga. |
{OUTBOUND_NUMBER} |
O número de telefone que um agente usa para fazer uma ligação. |
{SESSION_ID} |
O ID da sessão. Valores possíveis:
|
{CUSTOM_AGENT_ID} |
O campo de ID do agente opcional no objeto user. O ID do agente só pode ser obtido depois que a sessão é estabelecida e um agente é atribuído. Por isso, configure sua instância para atrasar a criação de registros de chamadas ou
chats para permitir que essa variável seja definida. É possível atrasar a criação de registros de chamadas ou chats em Configurações > Gerenciamento de operações > Detalhes da criação de registros do CRM. Para mais informações, consulte Detalhes da criação de registros do CRM. |
Configuração do portal da plataforma CCAI
Faça login no portal da plataforma CCAI usando uma conta com a função de administrador atribuída.
Acesse Configurações > Configurações do desenvolvedor.
Na seção "CRM", selecione CRM personalizado.
Em Pesquisa de CRM, insira seus URLs personalizados.
Selecione o Formato do número de telefone a ser usado nas solicitações de CRM.
Clique em Salvar alterações.
Se ainda não tiver feito isso, configure seu serviço de armazenamento externo. Para mais informações, consulte "Armazenamento externo".
Atualização de registro de CRM por e-mail
Em configurações como o URL de pesquisa personalizada, depois que uma sessão é concluída, os metadados dela precisam ser atualizados no CRM. Com esse recurso, a plataforma CCAI pode enviar automaticamente dados de sessão por e-mail. Aproximadamente 15 minutos após o fim de uma sessão, um e-mail é enviado para um local configurado, e o conteúdo dele é usado para atualizar um registro no CRM. Esse recurso pode ser configurado globalmente e por fila. Depois que o e-mail é recebido, seu CRM pode ser configurado para atualizar ou criar um novo registro de CRM para a sessão.
Detalhes de e-mail
Enviado por no-reply@ccaiplatform.com
Contém:
Subject line
Corpo com os metadados da sessão na sintaxe JSON
Anexo no formato TXT com a transcrição do chat, quando aplicável
A plataforma CCAI aguarda 15 minutos após o fim da sessão e envia o e-mail.
Os e-mails são enviados apenas para sessões concluídas. Ele não é enviado para sessões com falha ou abandonadas.
Configuração global
Faça login no portal da plataforma CCAI usando uma conta com a função de administrador atribuída.
Acesse Configurações > Configurações do desenvolvedor.
Na seção "CRM", verifique se a opção CRM personalizado está selecionada.
Ative a opção Enviar o resultado da sessão por e-mail.
Insira o endereço de e-mail para onde você quer enviar a mensagem.
Clique em Salvar alterações.
Configuração por fila
Faça login no portal da plataforma CCAI usando uma conta com a função de administrador atribuída.
Acesse Configurações > Fila e selecione qualquer subfila.
Ative a opção Enviar o resultado da sessão por e-mail.
Insira o endereço de e-mail para onde você quer enviar a mensagem.

Clique em Salvar configuração personalizada de CRM.
Substituição e herança de configurações
| Configurações | Comportamento |
|---|---|
| Global = NOT enabled Queue = NOT enabled |
Não envie para todas as filas. |
| Global = NÃO ativado Fila = Ativada |
A configuração da fila (ou seja, o estado ativado/desativado) substitui a configuração global. O e-mail é enviado de uma determinada fila para um endereço de e-mail definido na configuração da fila. |
| Global = Enabled Queue = NOT enabled |
A configuração da fila (endereço de e-mail, estado ativado/desativado) herda a configuração global. O e-mail é enviado de uma determinada fila para um endereço de e-mail definido na configuração global. |
| Global = Enabled Queue = Enabled |
A configuração da fila (endereço de e-mail) substitui a configuração global. O e-mail é enviado de uma determinada fila para um endereço de e-mail definido na configuração da fila. Se o endereço de e-mail estiver vazio, o e-mail não será enviado. |
Experiência com o representante
Pesquisa de registros do CRM
Faça login no portal da plataforma CCAI usando uma conta com a função de agente atribuída.
Abra o adaptador de chamada ou chat.
Use o botão Abrir em uma nova janela do navegador para acionar a pesquisa.
Use o botão Copiar link para copiar o URL de pesquisa para a área de transferência.

Armazenamento externo para soluções de CRM personalizadas
O armazenamento externo para soluções personalizadas permite o uso de um serviço de armazenamento externo para armazenar e recuperar metadados de sessão da plataforma CCAI, gravações de chamadas, transcrições de chat e arquivos de mídia enviados pelo consumidor. Os arquivos são armazenados fora de um CRM.
Para configurar o armazenamento externo, você precisa ter:
Uma conta válida da plataforma CCAI com as funções de administrador e agente atribuídas para configuração e teste
Um serviço de armazenamento externo
Estrutura da pasta
A seguinte estrutura de pastas será organizada no seu armazenamento externo em Caminho da pasta:
ujet-chat-transcripts
ujet-media
ujet-metadata
ujet-voice-recordings
ujet-voicemails
Formatos de arquivo e convenções de nomenclatura
Os seguintes tipos de arquivo podem ser enviados para o serviço de armazenamento externo. Os arquivos são criptografados durante o trânsito usando HTTPS:
| Arquivo | Nome |
|---|---|
| Gravações de chamadas | - call-{id}.mp3 - call-{id}.wav |
| Arquivos de mídia | - call-{id}-photo-{photo-id}.jpg - call-{id}-video-{video-id}.mp4 - chat-{id}-photo-{photo-id}.jpg - chat-{id}-video-{video-id}.mp4 |
| Transcrição de chats | - chat-{id}.txt |
| Metadados da sessão | - call-{id}.json - chat-{id}.json |
Experiência de agentes e supervisores
Durante a sessão de chat ou chamada, as fotos e os vídeos enviados pelo consumidor usando ações inteligentes são mostrados no adaptador do agente.
Se você estiver usando a interação de CRM com URL personalizado combinada com o método de atualização de e-mail do arquivo de metadados da sessão, os agentes e supervisores poderão acessar as informações da sessão usando seu servidor externo.
Como configurar o serviço de armazenamento externo
Conclua estas etapas para configurar seu armazenamento externo:
Faça login no portal da plataforma CCAI usando uma conta com a função de administrador atribuída.
Acesse Configurações > Configurações do desenvolvedor.
Na página "Configurações do desenvolvedor", navegue até a seção Armazenamento externo.
Ative o armazenamento de informações fora dos servidores de CRM ao alternar a chave para Ativado e selecione os tipos de arquivos a serem armazenados.
Na seção "Configuração do servidor", selecione seu tipo de armazenamento e conclua as etapas de configuração: Servidor SFTP, bucket do Google Cloud .
Servidor SFTP
Insira o Host do SFTP (URL ou endereço IP).
Digite o número da porta.
Insira o ID de usuário de login do SFTP.
Se o servidor SFTP exigir uma senha para autenticação, digite-a no campo Senha.
Se o servidor SFTP exigir uma chave privada para autenticação, marque a caixa de seleção Chave privada SSH.
Insira (copie e cole) a chave privada SSH.
Digite a senha longa da chave privada. Se as informações da sessão precisarem ser armazenadas em uma pasta específica no servidor SFTP, marque a caixa de seleção Caminho da pasta e insira o caminho da pasta SFTP.
Clique em Salvar alterações.
Cloud Storage
Insira o Google Cloud Nome do bucket de destino.
Insira o Google Cloud ID do cliente.
Insira a Google Cloud chave secreta do cliente.
Se as informações da sessão precisarem ser armazenadas em uma pasta específica no bucket Google Cloud , selecione a caixa de seleção Caminho da pasta e insira o caminho da pastaGoogle Cloud .
Clique em Vincular e salvar.
Como testar a configuração de armazenamento externo
Para CRMs com integração padrão:
Faça login no CRM.
Faça login na plataforma CCAI no CRM usando credenciais da plataforma CCAI com uma função de agente atribuída.
Faça uma ligação ou converse por chat. O registro do CRM associado à sessão é exibido.
Quando a sessão terminar, o arquivo de transcrição será enviado em segundos.
Acesse a pasta de armazenamento do servidor externo diretamente e verifique se o arquivo está disponível.
Enviar arquivos de sessão para o CRM
Quando o armazenamento externo está ativado, as configurações do desenvolvedor "URLs de armazenamento do CRM e armazenamento externo" permitem enviar arquivos de sessão e decidir qual fonte usar para mostrar arquivos no adaptador do agente.
Para acessar essas configurações, o armazenamento externo precisa estar ativado em Configurações > Configurações do desenvolvedor > Armazenamento externo. Ative a opção Ativar o armazenamento de informações fora dos servidores de CRM.
Armazenamento de CRM
Acesse Configurações > Configurações do desenvolvedor > Armazenamento externo > Armazenamento do CRM.
Marque a caixa ao lado de Também enviar arquivos de sessão para o CRM para enviar arquivos de sessão, como gravações de chamadas ou transcrições de chat, para o CRM e para o armazenamento externo configurado.
Clique em Salvar alterações.
Se a caixa de seleção estiver marcada, as gravações serão armazenadas no CRM e no armazenamento externo.
URLs de armazenamento externo
O URL do armazenamento externo é usado em dois lugares:
O adaptador do agente.
Relatórios: mostra o URL da mídia no relatório e nos menus, como "Configurações", "Chamadas" e "Concluídas".
Acesse Configurações > Configurações do desenvolvedor > Armazenamento externo > URLs de armazenamento externo.
Selecione a fonte URLs do CRM ou URLs de armazenamento externo para mostrar os arquivos no adaptador do agente.
Clique em Salvar alterações.
Armazenamento de CRM
Se a caixa de seleção do armazenamento do CRM estiver desmarcada, as gravações serão armazenadas apenas no armazenamento externo, e um link para o CRM será usado.
Se a caixa de seleção estiver marcada, as gravações serão armazenadas no CRM e no armazenamento externo.
URLs de armazenamento externo
O URL é usado em dois lugares:
Um deles mostra a mídia no adaptador da plataforma CCAI. O armazenamento ou CRM externo.
O outro está no relatório. Revelamos o URL da mídia nos relatórios e nos menus, como "Configurações", "Chamadas" e "Concluídas".
Mostrar CRM personalizado no portal da plataforma CCAI
Ao usar a integração personalizada do CRM com seu próprio CRM criado sob medida, você pode carregar o CRM em uma página dedicada no portal da plataforma CCAI. Depois de ativada, a guia "CRM" no portal da plataforma CCAI é carregada e mostra sua página de CRM personalizada. Isso pode ser configurado em Configurações do desenvolvedor > CRM.
Com esse recurso, os atendentes podem gerenciar sessões de suporte em tempo real usando os adaptadores de chamada e chat da plataforma CCAI enquanto trabalham no seu CRM personalizado. Isso inclui revisar detalhes da conta e do registro abertos automaticamente, além de arquivos e dados específicos da sessão transmitidos pelo app para dispositivos móveis ou pelos consumidores, tudo usando o portal da plataforma CCAI.
Configurar uma página personalizada do CRM
Para configurar uma página personalizada do CRM, siga estas etapas:
No portal da plataforma CCAI, clique em Configurações > Configurações do desenvolvedor. Se o menu Configurações não aparecer, clique em Menu.
No painel CRM, clique em CRM personalizado.
Clique no botão Mostrar CRM no portal da plataforma CCAI para ativar.
Em URL de visualização, insira o URL da página personalizada do CRM e clique em Salvar.
Abrir pop-up de tela de URL personalizado
Use Abrir URL personalizado para mostrar um pop-up de tela de URL personalizado quando um contato não for encontrado no sistema. Crie um registro de CRM com um ID de conta temporário e acionar um link personalizado com parâmetros com base na configuração de nível da fila.
Ativar a exibição instantânea de tela por fila
Acesse Configurações > Fila > URA e clique em uma fila para editar.
Acesse Abrir URL personalizado no painel.
Insira um URL para abrir um pop-up na tela.
Inclua os parâmetros de variável {ACCOUNT_ID} e {PHONE_NUMBER} no URL.
Confira um exemplo.
- Clique em Salvar.
Integração genérica da API de CRM personalizada
O método genérico de integração de API permite usar a API do seu CRM para estabelecer uma conexão bidirecional com a plataforma CCAI. Esse método integrado tem a mesma sensação da experiência de integração de CRM pronta para uso.
O agente não precisa fazer nada para criar um registro de CRM para sessões de chamada ou chat. Dependendo da configuração exclusiva da API, ela pode permitir uma pesquisa e atualização de registros sem problemas.
Terminologia
Período do contrato |
Descrição |
Conta |
É usado para se referir à entidade "Conta/Contato/Cliente/Lead" no CRM. Seu CRM pode ter outro nome para essa entidade. As contas contêm registros. |
Gravar |
Ele é usado para se referir à entidade Caso/Ticket/Conversa/Incidente no CRM. Seu CRM pode ter outro nome para essa entidade. Os registros pertencem às contas. |
Comentário |
É usado para se referir à entidade "Comentário/Observação" no CRM. Seu CRM pode ter outro nome para essa entidade. Os comentários pertencem aos registros. |
Configurações da API
Esta seção descreve as configurações específicas da API de CRM personalizada.
Método de autenticação
A plataforma CCAI é compatível com três métodos de autenticação para seu CRM:
Autenticação básica: configure credenciais de autenticação que incluem nome de usuário e senha.
Cabeçalho personalizado: configure pares de chave-valor de cabeçalho personalizado: Chave do campo e Valor do campo. Insira quantos pares forem necessários.
OAuth: a plataforma CCAI oferece suporte ao protocolo padrão do setor para autorização OAuth 2.0. Especifique as informações do OAuth se precisar ativar a opção "Incluir o URL de redirecionamento como parte do URL de autorização e do URL do token".
Configure os seguintes valores:
URL de autorização (obrigatório)
URL do token (obrigatório)
ID do cliente (obrigatório)
Chave secreta do cliente (obrigatório)
Escopo
Estado
Tipo de acesso
Formato do número de telefone
Selecione o formato de número de telefone a ser usado nas solicitações do CRM:
Automático: criar: +1 222 333 4444, pesquisar: *222*333*4444
E.164: +12223334444
Local dos EUA: 2223334444
Padrão local dos EUA: (111) 222-3333
Internacional: +1 222 333 4444
Tempo limite da solicitação de API
Configure o tempo limite da solicitação de API de 1 a 10 segundos usando o menu suspenso. Esse tempo limite será aplicado a todos os endpoints configurados.
URLs de pesquisa de CRM
Especifique URLs de pesquisa que serão usados para direcionar um agente à conta e ao registro atuais.
Insira os URLs de pesquisa como aparecem no CRM quando você tem uma conta ou página de registro aberta no navegador.
Também é possível usar URLs de pesquisa de CRM com o SDK da Web e os SDKs para dispositivos móveis. É possível configurar os SDKs para pesquisar a conta do CRM e registrar informações para exibição no adaptador do agente. Para conferir uma lista completa de URLs de pesquisa de CRM, consulte Parâmetros de URL da solicitação.
URL de pesquisa de conta
Use a variável {ACCOUNT_ID} para inserir o ID da conta real.
Exemplo:
https://www.example.com/contact/{ACCOUNT_ID}
URL de pesquisa de registros
Use a variável {RECORD_ID} para inserir o ID do registro real.
Exemplo:
https://www.example.com/record/{RECORD_ID}
Endpoints de API
Essa é a configuração mais importante para a API genérica.
Para disponibilizar a pesquisa de contas aos seus agentes, configure os endpoints Encontrar uma conta e Criar uma conta.
Além disso, é possível configurar os endpoints Encontrar um registro e Criar um registro para permitir que seus agentes pesquisem ou criem registros. Para isso, é necessário configurar a conta da etapa anterior.
Por fim, se você inserir os endpoints Atualizar um registro, Fazer upload de um arquivo e Comentário, isso vai ativar as atualizações de registro. Para isso, é necessário configurar a gravação da etapa anterior.
Configuração do endpoint
Defina as configurações a seguir:
URL da solicitação: URL do endpoint de API.
Escolha o método de solicitação entre POST, GET, PUT ou PATCH.
Especifique os parâmetros da solicitação. Você pode usar as variáveis definidas pela plataforma de CCAI para transmitir as informações necessárias (consulte a tabela abaixo). Além disso, é possível inserir texto simples ou números como valores de parâmetros. Você pode adicionar quantos parâmetros quiser.
Se o endpoint for POST/PUT/PATCH, a CCAI Platform vai oferecer controles mais refinados sobre como a solicitação é criada. Escolha Formato dos dados da solicitação em Propriedade ou Contêiner. Ele especifica o formato do JSON de solicitação.
Property. Isso indica que o objeto de solicitação é um mapa de propriedades básicas quando a plataforma CCAI cria o corpo da solicitação com base em parâmetros.
Contêiner. Isso indica que os dados do objeto de solicitação a serem enviados precisam ser aninhados em uma estrutura. Escolha Tipo de contêiner em Mapa ou Matriz. Insira o Nome do contêiner. Ele é usado como o nome do objeto pai ao criar o corpo da solicitação com base em parâmetros.
Exemplo: Map: { container_name : { ...parameters } }
Exemplo: Array: {container_name : [ { ...parameters } ] }
Insira o Local dos dados de resposta. Ele é usado para localizar o objeto de resposta de destino na resposta JSON.
Parâmetros de URL da solicitação
| Parâmetro | Variável | Comentário |
|---|---|---|
| ID do agente | {AGENT_ID} |
O ID interno do agente. |
| ID personalizado do agente | {AGENT_CUSTOM_ID} |
Campo opcional do perfil do usuário. |
| E-mail do agente | {AGENT_EMAIL} |
O e-mail do agente de atendimento, se aplicável. |
| Nome do usuário final | {NAME} |
|
| Nome do usuário final | {FIRST_NAME} |
Extraído de Name |
| Sobrenome do usuário final | {LAST_NAME} |
Extraído de Name. O padrão é "--" se estiver ausente. |
| ID externo | {UJET_ID} |
ID do usuário final da plataforma CCAI |
{EMAIL} |
||
| Tipo de chamada/tipo de sessão | {SESSION_TYPE} |
|
| Número de telefone do usuário final | {PHONE_NUMBER} |
Formatado usando a escolha de configuração |
| ID da chamada | {Call_ID} |
ID da chamada da plataforma CCAI. |
| ID do chat | {Chat_ID} |
ID do chat da plataforma CCAI. |
| Idioma | {LANG} |
|
| UID personalizado | {CUSTOM_USER_ID} |
Para dispositivos móveis: é o lado esquerdo do e-mail. Por exemplo, test.user3 de test.user3@test.co |
| ID da conta | {ACCOUNT_ID} |
Encontrado ao chamar o endpoint "Encontrar/criar contato". |
| ID do registro | {RECORD_ID} |
Encontrado ao chamar o endpoint de registro Find/Create. |
| ID da sessão | {SESSION_ID} |
ID da sessão da plataforma CCAI |
| Caminho do menu | {MENU_PATH} |
|
| Número de telefone de saída | {OUTBOUND_PHONE_NUMBER} |
Formatado usando a escolha de configuração |
| Nome da fila | {QUEUE_NAME} |
|
| ID da fila | {QUEUE_ID} |
O ID interno da fila. |
| Nome do SDK | {SDK_NAME} |
Nome do usuário final, conforme indicado no SDK da Web ou no SDK para dispositivos móveis. |
| E-mail do SDK | {SDK_EMAIL} | Endereço de e-mail do usuário final, conforme indicado no SDK da Web ou no SDK para dispositivos móveis. |
| SDK Phone | {SDK_PHONE} | Número de telefone do usuário final, conforme indicado no SDK da Web ou no SDK para dispositivos móveis. |
| Identificador do SDK | {SDK_IDENTIFIER} |
Identifica um usuário final ou uma conta de SDK para Web ou dispositivos móveis. Não inclua PII nesta propriedade. Ao criar uma conta, esse identificador é obrigatório na solicitação. |
| ID da sessão SmartAction | {SMART_ACTION_SESSION_ID} |
|
| SmartAction: verificação | (Em breve) | |
| SmartAction: entrada de texto | (Em breve) | |
| Classificação | {RATING} |
Disponível apenas se um usuário tiver deixado |
| Mensagem de feedback | {FEEDBACK} |
Disponível apenas se um usuário tiver deixado |
| Duração da chamada | {CALL_DURATION} |
Em mm:ss |
| Tempo de espera | {HOLD_TIME} |
Em mm:ss |
| Tempo de espera | {WAIT_TIME} |
Em mm:ss |
| Duração do trabalho após a ligação | (Em breve) | |
| Tipo de dispositivo | {DEVICE_TYPE} |
|
| Desconectado por | {DISCONNECTED_BY} |
|
| Canal | {CHANNEL} |
|
| Assunto do registro | {TICKET_SUBJECT} |
Usado como título do registro |
| Descrição do registro | {TICKET_DESCRIPTION} |
|
| HTML da descrição do registro | {TICKET_DESCRIPTION_HTML} |
Igual à descrição, mas formatada para HTML. |
| Corpo do comentário | {COMMENT_BODY} |
Disponível apenas na situação de adicionar comentário (salvar classificação, encerrar chamada/chat, iniciar chamada/chat) |
| Dados de arquivo | {FILE_DATA} |
Disponível apenas no endpoint de upload de arquivo, mas contém o base64 ou os dados para formulário multipart. |
Funções de parâmetro de URL de solicitação
Funções são fornecidas para ajudar com variáveis dinâmicas da CCAI Platform. Essas funções só podem ser usadas na seção Parâmetro de solicitação das configurações de endpoint.
O valor resultante criado de uma função será uma string. Se nenhum valor for retornado da função, o parâmetro será removido da lista de parâmetros na solicitação antes da execução.
| Função | Sintaxe da função | Descrição |
|---|---|---|
| Valor padrão | =DEFAULT_VALUE(val1, val2) |
O valor vai usar val1, a menos que seja nulo ou vazio, e o padrão
vai voltar para val2. |
Concatenação Or | =CONCAT_OR(val1, val2,
val3) | Concatenação de vários valores com
or. Exemplo: "val1 or val2 or val3" |
Concatenação And | =CONCAT_AND(val1, val2,
val3) | Concatenação de vários valores com
and. Exemplo: "val1 and val2 and val3" |
Exemplos
Confira a seguir alguns exemplos de uso da função de parâmetro de URL da solicitação.
Padrão
O exemplo a seguir usa DEFAULT_VALUE em Create a Record Endpoint.
A chave e o valor da configuração do agente usam a função padrão para ter um substituto caso o valor do e-mail do agente esteja vazio. O e-mail do agente pode estar vazio na criação do registro por alguns motivos: um cliente pode ter encerrado a chamada de URA antes que um agente atribuído atenda a ligação recebida ou, no caso de chats, um registro será criado antes que um agente responda. Dessa forma, os parâmetros obrigatórios podem ser
definidos como valores seguros até atualizações posteriores ou definidos em casos de chamadas abandonadas.

Concatenação
O exemplo a seguir usa CONCAT_OR no endpoint Find an Account by Query. Este exemplo é específico do Zoho CRM, mas mostra como CONCAT_OR pode ser usado. CONCAT_AND segue as mesmas regras, mas conecta valores com and
em vez de or. Consulte os casos a seguir para valores presentes no endpoint
no momento da execução e o valor resultante transmitido como o parâmetro
de solicitação.

| Chaves presentes | Valor resultante |
|---|---|
ACCOUNT_ID |
(Id:equals:<uuid>) |
ACCOUNT_ID, EMAIL |
(Id:equals:<uuid>) ou (Email:equals:kim@example) |
PHONE_NUMBER, EMAIL |
(Phone:equals:+12223334444) ou (Email:equals:kim@example) |
Conta de API
Os endpoints da conta da API oferecem suporte à integração com contas no CRM.
As chamadas para endpoints que retornam um erro 400 são repetidas. As chamadas que retornam outros erros não são repetidas. As novas tentativas continuam por uma semana, diminuindo com uma redução exponencial. Para informações sobre fluxos de API, consulte API genérica personalizada do CRM: fluxos.
Encontrar uma conta por endpoint de consulta (antigo endpoint de encontrar uma conta)
Esse endpoint é usado para encontrar uma conta por número de telefone, e-mail ou ID interno do CRM. Esse é o endpoint padrão usado para encontrar uma conta.
Exemplo de resposta:
{
"id": 123,
"name": "Kim",
"phone": "11234567890",
"email": "Kim@agents.co"
}
Encontrar um endpoint de conta por ID
Esse endpoint é usado para encontrar uma conta por ID. Normalmente, esse ID faz parte do URL. A validação de URL também vai considerar se o URL não foi formado com o ID. Nesse caso, o endpoint não será usado. Isso vai seguir os padrões REST. Se um erro 404 for retornado em uma pesquisa com falha, a próxima etapa será "Encontrar por consulta".
Exemplo de resposta:
{
"id": 123,
"name": "Kim",
"phone": "11234567890",
"email": "Kim@agents.co"
}
Criar um endpoint de conta
Esse endpoint é usado para criar uma conta se não encontrarmos uma. A maioria dos CRMs exige que os registros sejam anexados às contas. Para criar um fluxo unificado, aplicamos esse requisito a todos os CRMs.
Registro da API
Os endpoints de registros da API permitem a integração com registros ou casos no seu CRM.
Encontrar um registro por consulta (antigo endpoint "encontrar um registro")
Esse endpoint é usado para encontrar um registro por um critério. Em geral, isso é usado para encontrar registros associados a uma conta. Se a plataforma de CCAI estiver configurada para reutilizar registros, o registro encontrado será usado. Este é o endpoint padrão usado para encontrar um registro.
Exemplo de resposta:
{
"id": 456,
"subject": "Record title",
"status": "open", // enumerated status open/closed, or 1,2,3
"contactId": 123, // contact attached to ticket
"phone": "11234567890", // contact phone
}
Criar um endpoint de registro
Esse endpoint é usado para criar um registro. Um novo registro é criado se um registro não for encontrado na solicitação Encontrar um registro ou se a plataforma CCAI estiver configurada para não reutilizar registros existentes.
Exemplo de solicitação:
{
"id": 123,
"subject": "Record title",
"description": "A longer description of the record, can be formatted in html",
"phone": "11234567890", // can be saved in multiple formats
"contactId": 123,
"sourceType": "PHONE", // PHONE/CHAT
"menu": "queue1",
"direction": "outgoing",
"rating": 5, // 1-5 scale
"feedback": "the agent was great!" // description of rating
}
Atualizar um endpoint de registro
Esse endpoint é usado para atualizar um registro. Ele atualiza o título e a descrição do registro. Esse endpoint também pode atualizar o registro de acordo com eventos da plataforma CCAI, como salvar a classificação de CSAT, eventos de término de chamada ou chat, filas selecionadas, verificação de usuários e outros.
Fazer upload de um endpoint de arquivo
Esse endpoint é usado para fazer upload de um anexo.
Escolha o Tipo do endpoint de upload
Formulário codificado em Base64
Formulário de várias partes
Selecione os arquivos que você quer anexar
Gravações de chamadas
Transcrição do chat
Correios de voz
Google Fotos
Vídeos
Arquivo de metadados da sessão
Escolha Tipo de anexo em ID e URL do anexo. Ele especifica o formato do JSON de resposta.
ID
ID do anexo. Insira o local de um parâmetro na resposta JSON para o ID do anexo. Ele estará disponível para o URL do criador de anexos como {ATTACHMENT_ID}.
URL do criador de anexos. Insira o URL para baixar o anexo do arquivo. RECORD_ID e ATTACHMENT_ID são variáveis disponíveis.
Exemplo:
https://www.example.com/Accounts/{RECORD_ID}/Attachments/{ATTACHMENT_ID}URL do anexo
Insira o local de um parâmetro na resposta JSON para o URL de download do arquivo.
Marque a caixa de seleção Adicionar comentário ao registro do CRM se quiser que a plataforma CCAI deixe um comentário em um registro quando um arquivo for enviado. A configuração "Formato do texto" do endpoint de comentários será respeitada para esses comentários.
O exemplo a seguir é um formulário multipart usando POST/PUT/PATCH:
{
"file": <file data>
"id": 123, // optional, this can also just be part of the URL;
// for example https://example-customer.com/upload/record/{RECORD_ID}
}
Exemplo de resposta:
Exemplo A: um URL de download existe
{
"id": 123,
"url": "https://some-hosted-url.com"
}
Exemplo B
Nesse caso, não há um URL de download, mas há um endpoint de anexo de download
que usa esse ID. Por exemplo, https://www.customer-api.com/record/{RECORD_ID}/Attachments/{ATTACHMENT_ID}.
{
"id": 123
}
Endpoint de comentários
Usado para adicionar um comentário a um registro. Se o endpoint estiver configurado, a plataforma CCAI vai adicionar comentários aos registros com os eventos:
início de chamada ou chat
fim da chamada ou do chat
Classificação e comentário de CSAT
pacote de dados personalizados
transferir comentários
código e observações de encaminhamento
perguntas e respostas da pesquisa
Escolha Formato do texto para comentários. Se a caixa de seleção Converter texto em HTML estiver marcada, o texto estará em formato HTML ou texto simples.
Exemplo de solicitação, POST/PUT/PATCH:
{
"comment": "Some text",
// string can also be formatted on ujet side as html
"id": 123,
// optional, this can also just be part of the URL;
// for example https://example-customer.com/comment/record/{RECORD_ID}
}
API genérica personalizada do CRM: fluxos
Nesta seção, fornecemos fluxogramas para os fluxos genéricos de API do CRM personalizado.
Fluxogramas básicos

Encontrar ou criar fluxo de conta

Encontrar ou criar um fluxo de registros

Fluxo de ações de postagem de chamadas ou chats

Fluxo de atualização de registros

Fluxo de comentários

Fluxo de upload de arquivo

Adaptadores de agente
Um CRM personalizado oferece um método genérico para integrar adaptadores (widgets UI) aos sistemas de CRM. O sistema de CRM precisa ser capaz de processar a forma como os adaptadores são ativados e acionados nele.
Para integrar adaptadores de interface do usuário, geralmente é necessário um software ou aplicativo de CRM. Já oferecemos essa capacidade para vários softwares de CRM, como Salesforce, Kustomer, Zendesk e outros.
iFrame
Os adaptadores de agente podem ser integrados a um CRM ou qualquer outra ferramenta usando uma tag iFrame. Para saber mais sobre a tag iframe HTML, consulte Tag iframe HTML.
No entanto, o CRM precisa processar como os adaptadores são apresentados ao usuário. Por exemplo, ele pode apresentar botões da UI para mostrar e ocultar os adaptadores. Além disso, os adaptadores podem ser projetados para serem arrastáveis, permitindo que o agente os reposicione na tela quando quiser. Os exemplos a seguir demonstram o formato do URL.
Adaptador de chamada:
https://tenant.loc.ccaiplatform.com/agent/?type=call&from=custom
Adaptador de chat:
https://tenant.loc.ccaiplatform.com/agent/?type=chat&from=custom
Modelo de iframe
Adaptador de chamada:
html
<iframe src="https://tenant.loc.CCAI Platformlatform.com/agent/?type=call&from=custom" allow="microphone; camera; geolocation" width="290" height="600"></iframe>
Adaptador de chat:
html
<iframe src="https://tenant.loc.CCAI Platformlatform.com/agent/?type=chat&from=custom" allow="microphone; camera; geolocation" width="450" height="590"></iframe>
Parâmetros de URL
Os parâmetros de URL podem ser usados para fornecer mais informações ao software, como o tipo de interação (ligação ou chat), a origem da interação (personalizada) e outros detalhes relevantes.
Se a configuração de CRM do locatário não estiver disponível nas listas, o parâmetro De sempre precisará ser definido como Personalizado.
Tipo
- Ligar
- Chat
De
- Personalizado (precisa corresponder à configuração de CRM do locatário). Ele sempre precisa ser custom para qualquer CRM que não esteja nas listas. Se não houver uma configuração de CRM, pule esse parâmetro.
Eventos em adaptadores de agente
Os adaptadores de agente postam eventos que podem ser conectados ao sistema de CRM, que então processa atualizações no CRM. Para isso, o CRM precisa ouvir as postagens da janela principal e ler os dados delas. Com base nos dados, ele pode acionar ações como abrir uma guia de tíquete para um ID de sessão específico.
Os adaptadores de chamada e de chat têm eventos específicos que podem ser usados para melhorar os recursos do CRM.
Adaptador de chamada
- Nova chamada
- A remoção de informações sensíveis da chamada foi iniciada
- A redação de chamada foi encerrada
- Encerrar chamada
Adaptador de chat
- Novo chat
- Chat ativo
- Mensagem recebida do chat
- Mensagem enviada do chat
- Encerrar chat
- Conversa dispensada
Ambos os adaptadores
- Login do agente
- Sessão de compartilhamento de tela iniciada
- O controle remoto da sessão de compartilhamento de tela foi alterado
- A sessão de compartilhamento de tela mudou o dispositivo completo
- A sessão de compartilhamento de tela foi encerrada
- Transferir
- Parte adicionada
- O agente se conecta à sessão
- Logout do agente
- Agent Assist adicionado
Dados de eventos
call_id: identificador de uma chamada de voz recebida com IVR (unidade de resposta audível).chat_id: identificador de uma chamada de entrada de mensagens (chat na Web ou para dispositivos móveis).cobrowse_session_id: é um identificador de uma sessão de compartilhamento de tela. Uma sessão de compartilhamento de tela pode ser iniciada em uma chamada ou sessão de chat.session_type: o tipo de sessão, como voz, chat ou mensagens.va_data_parameters: todas as variáveis configuradas na fila para enviar ao agente virtual. Isso só é necessário para eventos que envolvem o agente virtual. Opcional.session_variable: todas as variáveis do agente virtual que são enviadas à plataforma CCAI no payload. Opcional.custom_sip_headers: permite que cabeçalhos SIP personalizados de chamadas SIP recebidas apareçam no registro de eventos POST. Só é necessário se cabeçalhos SIP personalizados forem usados. Opcional.custom_data_secured: contém dados personalizados assinados do seu servidor. Opcional.custom_data_not_secured: contém dados personalizados não assinados da sua página da Web. Para mais informações, consulte Chat unsigned custom data. Opcional.
IDs de agente
agent_id: um identificador de um agente.from_agent_id: usado ao encaminhar chamadas ou chats de um agente para outro, para indicar o agente de origem.to_agent_id: usado ao encaminhar chamadas ou chats de um agente para outro, para indicar o agente de destino.agent_custom_id: um ID de agente do perfil do usuário, se ele foi inserido no perfil. Opcional.from_agent_custom_id: usado ao encaminhar chamadas ou chats de um agente para outro, para indicar o agente de origem.to_agent_custom_id: usado ao encaminhar chamadas ou chats de um agente para outro, para indicar o agente de destino.agent_email: é o endereço de e-mail do agente.from_agent_email: usado ao encaminhar chamadas ou chats de um agente para outro, para indicar o agente de origem.to_agent_email: usado ao encaminhar chamadas ou chats de um agente para outro, para indicar o agente de destino.
IDs de agentes virtuais
virtual_agent_id: o número de ID atribuído a um agente virtual específico.
IDs da fila
queue_id: é o identificador de uma fila da plataforma CCAI e só existe quando a chamada é originada de uma fila.from_queue_id: usado ao rotear chamadas ou chats de uma fila para outra, para indicar a fila de origem.to_queue_id: usado ao rotear chamadas ou chats de uma fila para outra, para indicar a fila de destino.queue_path: é o caminho de uma fila da plataforma CCAI e só existe quando a chamada é originada de uma fila.from_queue_path: usado ao rotear chamadas ou chats de uma fila para outra, para indicar a fila de origem.to_queue_path: usado ao rotear chamadas ou chats de uma fila para outra, para indicar a fila de destino.
Campaign ID
campaign_id: o ID da campanha da CCAI Platform. Elas só são incluídas se o tipo de chamada for de uma campanha.campaign_name: um nome de campanha da plataforma CCAI. Elas só são incluídas se o tipo de chamada for de uma campanha.
Mensagem
message: evento que indica que uma nova mensagem do consumidor foi recebida, além do conteúdo da mensagem.
Tipos de sessão
session_type: um tipo de sessão da CCAI Platform.cobrowse_session_remote_control: indica o status de uma sessão de compartilhamento de tela de controle remoto solicitada. Valores:off,requested,rejected,on.cobrowse_session_full_device: indica o status de uma sessão de compartilhamento de tela do dispositivo completo. Valores:off,requested,rejected,on.
Participantes
type: tipo de participante -end_user;agent; (de participants.type da resposta /api/v1/calls ou /api/v1/chats).cobrowse_session_requested_by: indica quem iniciou uma sessão de compartilhamento de tela. Os valores possíveis sãoagentouend_user.cobrowse_session_ended_by: indica quem encerrou uma sessão de compartilhamento de tela. Os valores possíveis sãoagent,end_userouapi.end_user_id:participants.end_user_idde/api/v1/callsou resposta/api/v1/chats. Este campo só está presente se o tipo forend_user.
Tipos de interação / sessão
Tipos de chamada
- Entrada de voz: chamadas PSTN padrão.
- Entrada de voz (URA usando dispositivos móveis): substitui chamadas PSTN feitas pelo SDK para dispositivos móveis.
- Entrada de voz (dispositivos móveis): posicionada por consumidores usando um SDK para dispositivos móveis instalado.
- Retorno de chamada de voz (Web): iniciado pelo SDK da Web.
- Entrada de voz (API): iniciada usando a API.
- Voz programada (dispositivos móveis): programada usando um SDK para dispositivos móveis instalado.
- Voz programada (Web): programada usando um SDK da Web instalado.
- Chamada de saída de voz: iniciada por um agente ao discar um número.
- Saída de voz (API): iniciada usando a API.
- Campanha de voz: iniciada usando um discador externo (campanha).
Tipos de chat
- Mensagens (WhatsApp): iniciada usando o WhatsApp.
- Mensagens recebidas (SMS)
- Mensagens enviadas (SMS)
- Mensagens de saída (SMS usando API)
- Mensagens (Web): iniciadas usando um SDK da Web instalado.
- Mensagens (dispositivos móveis): iniciadas usando um SDK para dispositivos móveis instalado.
Tipo de chamada ou chat
- Sessão de compartilhamento de tela: iniciada por um agente ou usuário final durante uma chamada ou um chat.
Tipos de evento
Confira os tipos de eventos postados pelo adaptador de agente:
O controle remoto da sessão de compartilhamento de tela foi alterado
A sessão de compartilhamento de tela mudou o dispositivo completo
Login do agente
Um evento de login do agente ocorre quando o agente faz login no adaptador.
Confira um exemplo de evento Agent_Login:
{
"type": "Agent_Login",
"data": {
"agent_id": 1,
"agent_custom_id": "007",
"agent_email": "Kim@example.com",
}
}
Confira as descrições dos campos de dados de eventos:
agent_id: o identificador do agenteOpcional:
agent_custom_id: o identificador personalizado do agente, se ele foi inserido no perfil do agente.agent_email: o endereço de e-mail associado à conta do agente.
Nova chamada
Um novo evento de chamada ocorre quando um agente atende uma ligação. Ele contém informações como quando a ligação começou, qual agente atendeu e de onde ela foi feita.
Confira um exemplo de evento New_Call:
{
"type": "New_Call",
"data": {
"agent_id": 1,
"agent_custom_id": "007",
"agent_email": "Kim@example.com",
"queue_id": 8469,
"queue_path": "Developers / Kim",
"campaign_id": 1432,
"campaign_name": "Survey Movie",
"call_id": 103646,
"session_type": "Voice Campaign (UJET)"
}
}
Confira as descrições dos campos de dados de eventos:
agent_id: o identificador do agenteagent_custom_id: o identificador personalizado do agente, se ele foi inserido no perfil do agente. Opcional.agent_email: o endereço de e-mail associado à conta do agentequeue_id: o identificador da fila de origem da chamada. Esse campo é incluído quando a chamada se originou de uma fila. Opcional.queue_path: o caminho da fila de origem da chamada. Esse campo é incluído quando a chamada se originou de uma fila. Opcional.campaign_id: o identificador da campanha. Esse campo é incluído em uma chamada de campanha. Opcional.campaign_name: o nome da campanha. Esse campo é incluído em uma chamada de campanha. Opcional.call_id: o identificador da chamada.session_type: o tipo de sessãovirtual_agent_id: o identificador do agente virtual. Esse campo é incluído para eventos que envolvem o agente virtual. Opcional.va_data_parameters: as variáveis configuradas na fila para enviar ao agente virtual. Esse campo é incluído para eventos que envolvem o agente virtual. Opcional.session_variable: todas as variáveis do agente virtual enviadas para a Contact Center AI Platform. Opcional.custom_sip_headers: permite que cabeçalhos personalizados do Protocolo de início de sessão (SIP) de chamadas SIP recebidas apareçam no registro de eventos POST. Esse campo é incluído se cabeçalhos SIP personalizados forem usados. Opcional.custom_data_secured: contém dados personalizados assinados do seu servidor. Opcional.custom_data_not_secured: contém dados personalizados não assinados da sua página da Web. Para mais informações, consulte Dados personalizados não assinados do chat. Opcional.
A remoção de informações sensíveis da chamada foi iniciada
Um evento de remoção de dados de uma chamada ocorre quando uma remoção de dados de uma chamada é iniciada e não está sendo gravada. Os dados do evento consistem no ID do agente que atendeu a ligação e no ID da ligação.
agent_id: o ID do agente que atendeu a ligaçãocall_id: o ID da chamada
Este é um exemplo de evento de início de encobrimento de chamada:
{
"agent_id": 2896,
"call_id": 97939
}
A remoção de dados sensíveis da ligação foi interrompida
O evento de interrupção da redação de chamada ocorre quando uma redação de chamada termina e
a gravação é retomada. Esse evento consiste no ID do agente que atendeu a chamada e no call ID.
agent_id: oIDdo agente que atendeu a ligaçãocall_id: oIDda chamada
Confira um exemplo de dados de evento de redação de chamada interrompida:
{
"agent_id": 2896,
"call_id": 97939
}
Encerrar chamada
Um evento de encerramento de chamada ocorre quando uma chamada é encerrada. Esse evento contém informações como quando a ligação terminou, qual agente atendeu e de onde ela foi feita.
Confira um exemplo de evento End_Call:
{
"type": "End_Call",
"data": {
"agent_id": 1,
"agent_custom_id": "007",
"agent_email": "Kim@example.com",
"queue_id": 8469,
"queue_path": "Developers / Kim",
"campaign_id": 1432,
"campaign_name": "Survey Movie",
"call_id": 103646,
"session_type": "Voice Campaign (UJET)"
}
}
Confira as descrições dos campos de dados de eventos:
agent_id: o identificador do agenteagent_custom_id: o identificador personalizado do agente, se ele foi inserido no perfil do agente. Opcional.agent_email: o endereço de e-mail associado à conta do agentequeue_id: o identificador da fila de origem da chamada. Esse campo é incluído quando a chamada se originou de uma fila. Opcional.queue_path: o caminho da fila de origem da chamada. Esse campo é incluído quando a chamada se originou de uma fila. Opcional.campaign_id: o identificador da campanha. Esse campo é incluído em uma chamada de campanha. Opcional.campaign_name: o nome da campanha. Esse campo é incluído em uma chamada de campanha. Opcional.call_id: o identificador da chamada.session_type: o tipo de sessãovirtual_agent_id: o identificador do agente virtual. Esse campo é incluído para eventos que envolvem o agente virtual. Opcional.va_data_parameters: as variáveis configuradas na fila para enviar ao agente virtual. Esse campo é incluído para eventos que envolvem o agente virtual. Opcional.session_variable: todas as variáveis do agente virtual enviadas para a Contact Center AI Platform. Opcional.custom_sip_headers: permite que cabeçalhos personalizados do Protocolo de início de sessão (SIP) de chamadas SIP recebidas apareçam no registro de eventos POST. Esse campo é incluído se cabeçalhos SIP personalizados forem usados. Opcional.custom_data_secured: contém dados personalizados assinados do seu servidor. Opcional.custom_data_not_secured: contém dados personalizados não assinados da sua página da Web. Para mais informações, consulte Dados personalizados não assinados do chat (opcional). Opcional.
Novo chat
Um novo evento de chat ocorre quando um agente inicia uma sessão de chat. Esse evento indica quando o chat começou e contém informações como qual agente atendeu a conversa e de onde ela veio.
Confira um exemplo de evento New_chat:
{
"type": "New_Chat",
"data": {
"chat_id": 73522,
"session_type": "messaging inbound (web chat)",
"agent_id": 1,
"agent_email": "ariel@example.com",
"queue_id": 7678,
"queue_path": "HB TEAM / Ariel"
}
}
Confira as descrições dos campos de dados de eventos:
chat_id: o identificador do chat.session_type: o tipo de sessãoagent_id: o identificador do agenteagent_custom_id: o identificador personalizado do agente, se ele foi inserido no perfil do agente. Opcional.agent_email: o endereço de e-mail associado à conta do agente.queue_id: o identificador da fila de origem da chamada. Esse campo é incluído quando a chamada se originou de uma fila. Opcional.queue_path: o caminho da fila de origem da chamada. Esse campo é incluído quando a chamada se originou de uma fila. Opcional.custom_data_secured: contém dados personalizados assinados do seu servidor. Opcional.custom_data_not_secured: contém dados personalizados não assinados da sua página da Web. Para mais informações, consulte Dados personalizados não assinados do chat (opcional). Opcional.
Encerrar chat
Um evento de encerramento de chat ocorre quando uma sessão de chat termina. Esse evento indica quando o chat terminou e contém informações como qual agente atendeu a conversa e de onde ela veio.
Confira um exemplo de evento End_Chat:
{
"type": "End_Chat",
"data": {
"chat_id": 73522,
"session_type": "Messaging Inbound (Web Chat)",
"agent_id": 1,
"agent_email": "ariel@example.com",
"queue_id": null,
"queue_path": null,
"agent_custom_id": null
}
}
Confira as descrições dos campos de dados de eventos:
chat_id: o identificador do chat.session_type: o tipo de sessão.agent_id: o identificador do agente.agent_custom_id: o identificador personalizado do agente, se ele foi inserido no perfil do agente. Opcional.agent_email: o endereço de e-mail associado à conta do agente.queue_id: o identificador da fila de origem da chamada. Esse campo é incluído quando a chamada se originou de uma fila. Opcional.queue_path: o caminho da fila de origem da chamada. Esse campo é incluído quando a chamada se originou de uma fila. Opcional.custom_data_secured: contém dados personalizados assinados do seu servidor. Opcional.custom_data_not_secured: contém dados personalizados não assinados da sua página da Web. Para mais informações, consulte Dados personalizados não assinados do chat (opcional). Opcional.
Chat ativo
Um evento de chat ativo ocorre quando o agente muda para uma guia de chat no adaptador de chat.
Confira um exemplo de evento Active_Chat:
{
"type": "Active_Chat",
"data": {
"chat_id": 73521,
"session_type": "messaging inbound (web chat)",
"agent_id": 1,
"agent_email": "ariel@example.com",
"queue_id": 7678,
"queue_path": "HB TEAM / Ariel"
}
}
Confira as descrições dos campos de dados de eventos:
chat_id: o identificador do chat.session_type: o tipo de sessãoagent_id: o identificador do agenteagent_custom_id: o identificador personalizado do agente, se ele foi inserido no perfil do agente. Opcional.agent_email: o endereço de e-mail associado à conta do agente.queue_id: o identificador da fila de origem da chamada. Esse campo é incluído quando a chamada se originou de uma fila. Opcional.queue_path: o caminho da fila de origem da chamada. Esse campo é incluído quando a chamada se originou de uma fila. Opcional.custom_data_secured: contém dados personalizados assinados do seu servidor. Opcional.custom_data_not_secured: contém dados personalizados não assinados da sua página da Web. Para mais informações, consulte Dados personalizados não assinados do chat (opcional). Opcional.
Mensagem de entrada do chat
Um evento de mensagem de entrada do chat indica que uma nova mensagem do cliente foi recebida. Ele inclui o conteúdo da mensagem.
Os dados dos seguintes campos são informados para um evento de mensagem de entrada de chat:
chat_id: identifica a sessão de chat.session_type: indica o tipo de sessão que está sendo criada, como mensagens recebidas por chat na Webagent_id: identifica o agente que está cuidando da sessão de chat.agent_custom_id: esse campo só existe se o perfil do agente incluir um ID personalizado. Opcional.agent_email: o endereço de e-mail do agente que está cuidando da sessão de chat. Esse campo só é incluído quando o chat é originado de uma fila. Opcional.queue_id: o ID da fila de origem da sessão de chat. Esse campo só é incluído quando o chat é originado de uma fila.queue_path: o caminho da fila de origem da sessão de chat. Esse campo só é incluído quando o chat tem origem em uma fila.message: um evento que indica que uma nova mensagem do consumidor foi recebida, além do conteúdo da mensagem.custom_data_secured: permite a transmissão de dados personalizados seguros do SDK. Opcional.custom_data_not_secured: permite a transmissão de dados personalizados não seguros do SDK. Opcional.
Confira um exemplo de evento Chat_Inbound_Message:
{
"type": "Chat_Inbound_Message",
"data": {
"chat_id": 73522,
"session_type": "messaging inbound (web chat)",
"agent_id": 1,
"agent_email": "ariel@example.com",
"queue_id": 7678,
"queue_path": "HB TEAM / Ariel",
"message" : "Can you help me with my order tracking number?"
}
}
Mensagem de saída do chat
Um evento de mensagem de saída do chat ocorre quando uma nova mensagem do consumidor é recebida. Ele inclui o conteúdo da mensagem.
Os dados dos seguintes campos são informados para um evento de mensagem de saída do chat:
chat_id: identifica a sessão de chat.session_type: indica o tipo de sessão que está sendo criada, como mensagens recebidas por chat na Webagent_id: identifica o agente que está cuidando da sessão de chat.agent_custom_id: esse campo só será incluído se o perfil do agente tiver um ID personalizado. Opcional.agent_email: o endereço de e-mail do agente que está cuidando da sessão de chat. Esse campo só é incluído quando o chat é originado de uma fila. Opcional.queue_id: o ID da fila de origem da sessão de chat. Esse campo só é incluído quando o chat é originado de uma fila.queue_path: o caminho da fila de origem da sessão de chat. Esse campo só é incluído quando o chat tem origem em uma fila.message: o evento indica que uma nova mensagem do consumidor foi recebida, além do conteúdo da mensagem.custom_data_secured: permite a transmissão de dados personalizados seguros do SDK. Opcional.custom_data_not_secured: permite a transmissão de dados personalizados não seguros do SDK. Opcional.
Confira um exemplo de evento Chat_Outbound_Message:
{
"type": "Chat_Outbound_Message",
"data": {
"chat_id": 73522,
"session_type": "messaging inbound (web chat)",
"agent_id": 1,
"agent_email": "ariel@example.com",
"queue_id": 7678,
"queue_path": "HB TEAM / Ariel",
"message" : "Please give me a moment to look up your account information"
}
}
Conversa dispensada
Um evento de chat dispensado ocorre quando o agente fecha a guia de chat no adaptador de chat.
Confira um exemplo de evento Dismissed_Chat:
{
"type":"Dismissed_Chat",
"data":{"chat_id":73522,
"session_type":"Messaging Inbound (Web Chat)",
"agent_id":1,
"agent_email":"ariel@example.com"
}
}
Confira as descrições dos campos de dados de eventos:
chat_id: o identificador do chat.session_type: o tipo de sessãoagent_id: o identificador do agenteagent_custom_id: o identificador personalizado do agente, se ele foi inserido no perfil do agente. Opcional.agent_email: o endereço de e-mail associado à conta do agentequeue_id: o identificador da fila de origem da chamada. Esse campo é incluído quando a chamada se originou de uma fila. Opcional.queue_path: o caminho da fila de origem da chamada. Esse campo é incluído quando a chamada se originou de uma fila. Opcional.custom_data_secured: contém dados personalizados assinados do seu servidor. Opcional.custom_data_not_secured: contém dados personalizados não assinados da sua página da Web. Para mais informações, consulte Dados personalizados não assinados do chat (opcional). Opcional.
Sessão de compartilhamento de tela iniciada
Um evento Sessão de compartilhamento de tela iniciada ocorre quando uma sessão de compartilhamento de tela é iniciada por um agente ou um usuário final. Uma sessão de compartilhamento de tela pode ser iniciada durante uma ligação ou um chat. Para mais informações, consulte Compartilhamento de tela.
Veja um exemplo de objeto JSON para um evento de início de sessão de compartilhamento de tela:
{
"type": "Cobrowse_Session_Started",
"data": {
"agent_id": 5,
"chat_id": 791,
"cobrowse_session_id": "Y1zYY6XIYX4oapqpEz3qHw",
"cobrowse_session_requested_by": "agent",
"cobrowse_session_remote_control": "off",
"cobrowse_session_full_device": "off"
}
}
Confira as descrições dos campos de dados de eventos:
agent_id: o identificador do agente.call_id: o identificador de uma chamada recebida no canal de IVR (resposta de voz interativa). Esse campo é incluído se a sessão de compartilhamento de tela foi iniciada durante uma chamada.chat_id: o identificador de um chat de entrada no canal da Web ou para dispositivos móveis. Esse campo é incluído se a sessão de compartilhamento de tela foi iniciada durante um chat.cobrowse_session_id: o identificador de uma sessão de compartilhamento de tela.cobrowse_session_requested_by: indica quem iniciou uma sessão de compartilhamento de tela. Os valores sãoagenteend-user.cobrowse_session_remote_control: indica o status de uma sessão de compartilhamento de tela de controle remoto. Os valores sãoon,rejected,requestedeoff.cobrowse_session_full_device: indica o status de uma sessão de compartilhamento de tela de dispositivo completo. Os valores sãoon,rejected,requestedeoff.custom_data_secured: contém dados personalizados assinados do seu servidor. Opcional.custom_data_not_secured: contém dados personalizados não assinados da sua página da Web. Para mais informações, consulte Dados personalizados não assinados do chat (opcional). Opcional.
O controle remoto da sessão de compartilhamento de tela foi alterado
Um evento de mudança de controle remoto de uma sessão de compartilhamento de tela ocorre quando o status de uma sessão de compartilhamento de tela de controle remoto muda. Esse evento indica o status da sessão de compartilhamento de tela do controle remoto. Para mais informações, consulte Compartilhamento de tela.
Confira um exemplo de objeto JSON para um evento
Cobrowse_Session_Remote_Control_Changed:
{
"type": "Cobrowse_Session_Remote_Control_Changed",
"data": {
"agent_id": 5,
"chat_id": 791,
"cobrowse_session_id": "Y1zYY6XIYX4oapqpEz3qHw",
"cobrowse_session_remote_control": "requested"
}
}
Confira as descrições dos campos de dados de eventos:
agent_id: o identificador do agente.call_id: o identificador de uma chamada recebida no canal de IVR (unidade de resposta audível interativa). Esse campo é incluído se a sessão de compartilhamento de tela foi iniciada durante uma chamada.chat_id: o identificador de uma conversa recebida no canal da Web ou para dispositivos móveis. Esse campo é incluído se a sessão de compartilhamento de tela foi iniciada durante uma conversa.cobrowse_session_id: o identificador de uma sessão de compartilhamento de tela.cobrowse_session_remote_control: indica o status de uma sessão de compartilhamento de tela de controle remoto. Os valores sãoon,rejected,requestedeoff.custom_data_secured: contém dados personalizados assinados do seu servidor. Opcional.custom_data_not_secured: contém dados personalizados não assinados da sua página da Web. Para mais informações, consulte Dados personalizados não assinados do chat (opcional). Opcional.
A sessão de compartilhamento de tela mudou o dispositivo completo
Um evento de mudança de dispositivo completo em uma sessão de compartilhamento de tela ocorre quando o status de uma sessão de compartilhamento de tela em um dispositivo completo muda. Esse evento indica o status da sessão completa de compartilhamento de tela do dispositivo. Para mais informações, consulte Compartilhamento de tela.
Confira um exemplo de evento Cobrowse_Session_Full_Device_Changed:
{
"type": "Cobrowse_Session_Full_Device_Changed",
"data": {
"agent_id": 5,
"cobrowse_session_id": "9-Kshrag-gn6ZSuIxoMtWQ",
"cobrowse_session_full_device": "rejected"
}
}
Confira as descrições dos campos de dados de eventos:
agent_id: o identificador do agente.call_id: o identificador de uma chamada recebida no canal de IVR (unidade de resposta audível interativa). Esse campo é incluído se a sessão de compartilhamento de tela foi iniciada durante uma chamada.chat_id: o identificador de uma conversa recebida no canal da Web ou para dispositivos móveis. Esse campo é incluído se a sessão de compartilhamento de tela foi iniciada durante um chat.Cobrowse_session_id: o identificador de uma sessão de compartilhamento de tela.Cobrowse_session_full_device: indica o status de uma sessão de compartilhamento de tela do dispositivo inteiro. Os valores sãoon,rejected,requestedeoff.custom_data_secured: contém dados personalizados assinados do seu servidor. Opcional.custom_data_not_secured: contém dados personalizados não assinados da sua página da Web. Para mais informações, consulte Dados personalizados não assinados do chat (opcional). Opcional.
A sessão de compartilhamento de tela foi encerrada
Um evento de início de sessão de compartilhamento de tela ocorre quando uma sessão de compartilhamento de tela é encerrada por um agente, um usuário final ou a API. Para mais informações, consulte Configurar o Compartilhamento de tela.
Confira um exemplo de evento Cobrowse_Session_Ended:
{
"type": "Cobrowse_Session_Ended",
"data": {
"agent_id": 5,
"cobrowse_session_id": "9-Kshrag-gn6ZSuIxoMtWQ",
"cobrowse_session_requested_by": "end_user",
"cobrowse_session_ended_by": "agent",
"cobrowse_session_remote_control": "on",
"cobrowse_session_full_device": "rejected"
}
}
Confira as descrições dos campos de dados de eventos:
agent_id: o identificador do agente.call_id: o identificador de uma chamada recebida no canal de IVR (unidade de resposta audível interativa). Esse campo é incluído se a sessão de compartilhamento de tela foi iniciada durante uma chamada.chat_id: o identificador de uma conversa recebida no canal da Web ou para dispositivos móveis. Esse campo é incluído se a sessão de compartilhamento de tela foi iniciada durante um chat.cobrowse_session_id: o identificador de uma sessão de compartilhamento de tela.cobrowse_session_ended_by: indica quem encerrou a sessão de compartilhamento de tela. Os valores sãoagent,end-usereapi.cobrowse_session_remote_control: indica o status de uma sessão de compartilhamento de tela de controle remoto. Os valores sãoon,rejected,requestedeoff.cobrowse_session_full_device: indica o status de uma sessão de compartilhamento de tela do dispositivo inteiro. Os valores sãoon,rejected,requestedeoff.custom_data_secured: contém dados personalizados assinados do seu servidor. Opcional.custom_data_not_secured: contém dados personalizados não assinados da sua página da Web. Para mais informações, consulte Dados personalizados não assinados do chat (opcional). Opcional.
Transferir
Um evento de transferência ocorre quando uma chamada ou conversa é transferida. Ela pode se referir a uma transferência cega ou interna de chamada.
Os campos de evento a seguir fazem parte de um evento de transferência.
chat_idoucall_id: identifica a sessão de chamada ou chat.session_type: indica o tipo de sessão que está sendo criada, como uma mensagem recebida por chat na Web.campaign_id: o ID da campanha. Esse campo só está presente se o tipo de chamada for uma chamada de campanha. Opcional.campaign_name: o nome da campanha. Esse campo só está presente se o tipo de chamada for uma chamada de campanha. Opcional.from_agent_id: usado ao encaminhar chamadas ou chats de um agente para outro, para indicar o agente de origem.from_agent_custom_id: usado ao encaminhar chamadas ou chats de um agente para outro, para indicar o agente de origem. Opcional.from_agent_email: usado ao encaminhar chamadas ou chats de um agente para outro, para indicar o agente de origem.to_agent_id: usado ao encaminhar chamadas ou chats de um agente para outro, para indicar o agente de destino.to_agent_custom_id: usado ao encaminhar chamadas ou chats de um agente para outro, para indicar o agente de destino. Opcional.to_agent_email: usado ao encaminhar chamadas ou chats de um agente para outro, para indicar o agente de destino.from_queue_id: usado ao rotear chamadas ou chats de uma fila para outra, para indicar a fila de origem.from_queue_path: usado ao rotear chamadas ou chats de uma fila para outra, para indicar a fila de origem.to_queue_id: usado ao rotear chamadas ou chats de uma fila para outra para indicar a fila de destino.to_queue_path: usado ao rotear chamadas ou chats de uma fila para outra para indicar a fila de destino.virtual_agent_id: o ID atribuído a um agente virtual. Opcional.va_data_parameters: todas as variáveis configuradas na fila para enviar ao agente virtual. Isso só é necessário para eventos que envolvem o agente virtual. Opcional.(
session_variable: todas as variáveis do agente virtual enviadas para a plataforma da CCAI no payload. Opcional.custom_sip_headers: permite que cabeçalhos SIP personalizados de chamadas SIP recebidas apareçam no registro de eventos POST. Ele só é necessário se cabeçalhos SIP personalizados forem usados. Opcional.custom_data_secured: permite a transmissão de dados personalizados seguros do SDK. Opcional.custom_data_not_secured: permite a transmissão de dados personalizados não seguros do SDK. Opcional.
Confira um exemplo de evento de transferência:
{
"type": "Transfer_Chat",
"data": {
"chat_id": 103646,
"session_type": "Messaging Inbound (SMS)",
"campaign_id": 1432,
"campaign_name": "Survey Movie",
"from_agent_id": 1,
"from_agent_custom_id": "007",
"from_agent_email": "Ira@example.com",
"to_agent_id" : 5
"to_agent_custom_id": "100"
"to_agent_email" : "ariel@example.com"
"from_queue_id": 8469,
"from_queue_path": "Developers / Ariel",
"to_queue_id" : 1234,
"to_queue_path" : "Schemes / Auric"
}
}
Parte adicionada
Um evento de adição de parte se refere a qualquer transferência. Pode ser uma transferência de chamada ou de chat.
Um evento de adição de participante contém os seguintes dados:
chat_idoucall_id: identifica a sessão de chamada ou chat.session_type: indica o tipo de sessão que está sendo criada, como uma mensagem recebida por chat na Web.agent_custom_id: esse campo só existe se o perfil do agente incluir um ID personalizado. Opcional.agent_email: o endereço de e-mail do agente que está atendendo a chamada ou a sessão de chat.queue_id: o ID da fila de origem da sessão de chat. Esse campo só é incluído quando o chat é originado de uma fila. Opcional.queue_path: o caminho da fila de origem da sessão de chat. Esse campo só é incluído quando o chat tem origem em uma fila. Opcional.campaign_id: o ID da campanha. Esse campo só é incluído quando o tipo de chamada é uma chamada de campanha. Opcional.campaign_name: o nome da campanha. Esse campo só é incluído quando o tipo de chamada é uma chamada de campanha. Opcional.type: o tipo de participante, por exemplo, um end_user ou agent. Esse campo é retornado como parte do participants.type da resposta/api/v1/callsou/api/v1/chats.end_user_id: o end_user_id. Esse campo é retornado como parte da resposta de/api/v1/callsou/api/v1/chats. Esse campo só está presente em chamadas ou chats de usuários finais encaminhados de um agente para outro, para indicar o agente de destino. Opcional.virtual_agent_id: o identificador atribuído a um agente virtual. Opcional.va_data_parameters: todas as variáveis configuradas na fila para enviar ao agente virtual. Isso só é necessário para eventos que envolvem o agente virtual. Opcional.session_variable: todas as variáveis do agente virtual enviadas à plataforma de CCAI no payload. Opcional.custom_sip_headers: permite que cabeçalhos SIP personalizados de chamadas SIP recebidas apareçam no registro de eventos POST. Ele só é necessário se cabeçalhos SIP personalizados forem usados. Opcional.custom_data_secured: permite a transmissão de dados personalizados seguros do SDK. Opcional.custom_data_not_secured: permite a transmissão de dados personalizados não seguros do SDK. Opcional.
Confira um exemplo de evento Party_Added.
{
"type": "Party_Added",
"data": {
"chat_id": 103646,
"session_type": "Messaging Inbound (SMS)",
"campaign_id": 1432,
"campaign_name": "Survey Movie",
"agent_id": 1,
"agent_custom_id": "007",
"agent_email": "ariel@example.com",
"queue_id": 8469,
"queue_path": "Developers / Ariel",
"type" : "agent"
}
}
O agente se conecta à sessão
Um evento de conexão do agente com a sessão ocorre quando um agente se conecta a uma sessão. Há dois tipos diferentes de eventos. O tipo é determinado por ser uma chamada ou um chat.
Os campos de evento a seguir fazem parte de um evento de conexão de agente com sessão.
agent_id: identifica o agente que está atendendo a chamada ou a sessão de chat.agent_email: o endereço de e-mail do agente que está atendendo a chamada ou a sessão de chat.agent_custom_id: esse campo só existe se o perfil do agente incluir um ID personalizado. Opcional.chat_idoucall_id: identifica a sessão de chamada ou chat.virtual_agent_id: o ID atribuído a um agente virtual específico. Opcional.campaign_id: o ID da campanha. Esse campo só é incluído quando o tipo de chamada é uma chamada de campanha. Opcional.campaign_name: o nome da campanha. Esse campo só é incluído quando o tipo de chamada é uma chamada de campanha. Opcional.queue_id: o ID da fila de origem da sessão de chat. Esse campo só é incluído quando o chat é originado de uma fila. Opcional.queue_path: o caminho da fila de origem da sessão de chat. Esse campo só é incluído quando o chat tem origem em uma fila. Opcional.session_type: indica o tipo de sessão que está sendo criada, como uma mensagem recebida por chat na Web.virtual_agent_id: o ID atribuído a um agente virtual. Opcional.va_data_parameters: todas as variáveis configuradas na fila para enviar ao agente virtual. Isso só é necessário para eventos que envolvem o agente virtual. Opcional.session_variable: todas as variáveis do agente virtual enviadas para UJET no payload. Opcional.custom_sip_headers: permite que cabeçalhos SIP personalizados de chamadas SIP recebidas apareçam no registro de eventos POST. Ele só é necessário se cabeçalhos SIP personalizados forem usados. Opcional.custom_data_secured: permite a transmissão de dados personalizados seguros do SDK. Opcional.custom_data_not_secured: permite a transmissão de dados personalizados não seguros do SDK. Opcional.
Confira um exemplo de dados de evento Agent_Joined_Chat:
{
"type": "Agent_Joined_Chat",
"data": {
"chat_id": 103646,
"campaign_id": 1432,
"campaign_name": "Survey Movie",
"agent_id": 1,
"agent_custom_id": "007",
"agent_email": "ariel@example.com",
"queue_id": 8469,
"queue_path": "Developers / Ariel",
"session_type": "Messaging Inbound (SMS)",
}
}
Logout do agente
Um evento de logout do agente ocorre quando um agente faz logout do adaptador.
Os campos de evento a seguir fazem parte de um evento Agent_Logout.
agent_id: o identificador do agente que fez loginagent_email: o endereço de e-mail associado à conta do agenteagent_custom_id: o ID personalizado do agente, se ele foi inserido no perfil do agente. Opcional.
Confira um exemplo de evento Agent_Logout:
{
"type": "Agent_Logout",
"data": {
"agent_id": 1,
"agent_custom_id": "007",
"agent_email": "ariel@example.com",
}
}
O Agent Assist foi iniciado
Um evento de início do Agent Assist ocorre quando um atendente ativa o Agent Assist durante uma chamada ou sessão de chat.
Confira um exemplo de evento Agent_Assist_Started:
{
"type": "Agent_Assist_Started",
"data": {
"conversation_id": "12345",
"queue_id": "65",
"agent_id": "1",
"session_id": "78534G4RT4284",
"queue_language_id": "en",
"timestamp": "12:45:15"
}
}
Confira os campos de evento:
conversation_id: o identificador da conversa.queue_id: o identificador da fila.agent_id: o identificador do agentesession_id: o identificador da sessãoqueue_language_id: o idioma da filatimestamp: o carimbo de data/hora
Pop-up em segundo plano
Com o recurso de abertura de tela, os atendentes podem abrir uma tela do CRM em segundo plano. Isso significa que as informações do cliente são mostradas na tela do atendente sem que ele precise fazer nada. Isso oferece uma experiência mais integrada para os consumidores e reduz o tempo de atendimento dos agentes.
Pop-up de registro do CRM
O evento CRM_Record_Pop é do lado do servidor e é acionado quando um tíquete precisa ser mostrado. Esse evento inclui um parâmetro chamado recordUrl que
contém o URL do registro do CRM, permitindo que você faça uma exibição na tela ao
se inscrever em eventos POST se estiver usando adaptadores incorporados.
Para isso, o exemplo a seguir demonstra como adicionar um listener de eventos que detecta mensagens enviadas de outro frame ou janela. Este snippet de código foi criado para permitir a comunicação entre diferentes frames ou janelas e atualizações dinâmicas do conteúdo exibido no iframe com base nas mensagens recebidas.
// name is the html property of the iframe
const iframeTarget = document.querySelector('iframe[name="target_iframe_adapter"]')
// example usage of add event listener
// https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener
window.addEventListener('message', (e) => {
try {
const data = JSON.parse(e.data)
const type = data.type
console.log('EventListener: ', JSON.stringify(data))
if (type === 'CRM_Record_Pop') {
const recordUrl = data.data.recordUrl
if (!recordUrl) {
return
}
console.log(`Opening <strong>recordUrl</strong> in iframe <strong>${iframeTarget.getAttribute('name')}</strong>`)
// changing an iframe target to the record URL pop
iframeTarget.src = recordUrl
} else if (type === 'New_Chat') {
console.log(`<strong>Chat started...</strong>`)
// handling here for new_chat events
} else if (type === 'End_Chat') {
console.log(`<strong>Chat ended...</strong>`)
// handling here for end_chat events
} if (.... //other event types) {
// code handling for other types
}else {
console.log(JSON.stringify(data))
}
} catch (e) {
log(e, true)
}
}, false)