CRM personalizado

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:

  • chat
  • voice_call
{TYPE}

O tipo de sessão.

Valores possíveis para chamadas:

  • Incoming_Call_(app)
  • Scheduled_Call_(app)
  • Incoming_Call_(web)
  • Scheduled_Call_(web)
  • Outbound_Call
  • Outbound_Call_(api)
  • Incoming_Call_(api)
  • IVR_Call
  • IVR_Call_(app)
  • Correio de voz

Valores possíveis para chats:

  • Dispositivo móvel
  • Web
  • SMS
{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:

  • ID da chamada
  • ID do chat
  • ID do e-mail
{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

  1. Faça login no portal da plataforma CCAI usando uma conta com a função de administrador atribuída.

  2. Acesse Configurações > Configurações do desenvolvedor.

  3. Na seção "CRM", selecione CRM personalizado.

  4. Em Pesquisa de CRM, insira seus URLs personalizados.

  5. Selecione o Formato do número de telefone a ser usado nas solicitações de CRM.

  6. Clique em Salvar alterações.

  7. 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

  1. Faça login no portal da plataforma CCAI usando uma conta com a função de administrador atribuída.

  2. Acesse Configurações > Configurações do desenvolvedor.

  3. Na seção "CRM", verifique se a opção CRM personalizado está selecionada.

  4. Ative a opção Enviar o resultado da sessão por e-mail.

  5. Insira o endereço de e-mail para onde você quer enviar a mensagem.

  6. Clique em Salvar alterações.

Configuração por fila

  1. Faça login no portal da plataforma CCAI usando uma conta com a função de administrador atribuída.

  2. Acesse Configurações > Fila e selecione qualquer subfila.

  3. Ative a opção Enviar o resultado da sessão por e-mail.

  4. Insira o endereço de e-mail para onde você quer enviar a mensagem.

    Exibição da configuração de e-mail

  5. 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

  1. Faça login no portal da plataforma CCAI usando uma conta com a função de agente atribuída.

  2. Abra o adaptador de chamada ou chat.

  3. Use o botão Abrir em uma nova janela do navegador para acionar a pesquisa.

  4. Use o botão Copiar link para copiar o URL de pesquisa para a área de transferência.

Exibição do agente

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:

  1. Faça login no portal da plataforma CCAI usando uma conta com a função de administrador atribuída.

  2. Acesse Configurações > Configurações do desenvolvedor.

  3. Na página "Configurações do desenvolvedor", navegue até a seção Armazenamento externo.

  4. 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.

  5. 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

  1. Insira o Host do SFTP (URL ou endereço IP).

  2. Digite o número da porta.

  3. Insira o ID de usuário de login do SFTP.

  4. Se o servidor SFTP exigir uma senha para autenticação, digite-a no campo Senha.

  5. Se o servidor SFTP exigir uma chave privada para autenticação, marque a caixa de seleção Chave privada SSH.

  6. Insira (copie e cole) a chave privada SSH.

  7. 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.

  8. Clique em Salvar alterações.

Cloud Storage

  1. Insira o Google Cloud Nome do bucket de destino.

  2. Insira o Google Cloud ID do cliente.

  3. Insira a Google Cloud chave secreta do cliente.

  4. 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 .

  5. Clique em Vincular e salvar.

Como testar a configuração de armazenamento externo

Para CRMs com integração padrão:

  1. Faça login no CRM.

  2. Faça login na plataforma CCAI no CRM usando credenciais da plataforma CCAI com uma função de agente atribuída.

  3. Faça uma ligação ou converse por chat. O registro do CRM associado à sessão é exibido.

  4. Quando a sessão terminar, o arquivo de transcrição será enviado em segundos.

  5. 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

  1. Acesse Configurações > Configurações do desenvolvedor > Armazenamento externo > Armazenamento do CRM.

  2. 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.

  3. 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".

  1. Acesse Configurações > Configurações do desenvolvedor > Armazenamento externo > URLs de armazenamento externo.

  2. Selecione a fonte URLs do CRM ou URLs de armazenamento externo para mostrar os arquivos no adaptador do agente.

  3. 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:

  1. No portal da plataforma CCAI, clique em Configurações > Configurações do desenvolvedor. Se o menu Configurações não aparecer, clique em Menu.

  2. No painel CRM, clique em CRM personalizado.

  3. Clique no botão Mostrar CRM no portal da plataforma CCAI para ativar.

  4. 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

  1. Acesse Configurações > Fila > URA e clique em uma fila para editar.

  2. Acesse Abrir URL personalizado no painel.

  3. 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.

  1. 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.

  1. Para disponibilizar a pesquisa de contas aos seus agentes, configure os endpoints Encontrar uma conta e Criar uma conta.

  2. 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.

  3. 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:

  1. URL da solicitação: URL do endpoint de API.

  2. Escolha o método de solicitação entre POST, GET, PUT ou PATCH.

  3. 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.

  4. 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 } ] }

  5. 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
E-mail {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.

Editar campo

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

Fluxograma básico

Encontrar ou criar fluxo de conta

Encontrar ou criar fluxo de conta

Encontrar ou criar um fluxo de registros

Encontrar ou criar um fluxo de registros

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

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

Fluxo de atualização de registros

Fluxo de atualização de registros

Fluxo de comentários

Fluxo de comentários

Fluxo de upload de arquivo

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ão agent ou end_user.

  • cobrowse_session_ended_by: indica quem encerrou uma sessão de compartilhamento de tela. Os valores possíveis são agent, end_user ou api.

  • end_user_id: participants.end_user_id de /api/v1/calls ou resposta /api/v1/chats. Este campo só está presente se o tipo for end_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:

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 agente

  • Opcional: 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 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.

  • 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ão

  • virtual_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ção
  • call_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: o ID do agente que atendeu a ligação
  • call_id: o ID da 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 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.

  • 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ão

  • virtual_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ã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.

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ã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.

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 Web

  • agent_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 Web

  • agent_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ã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.

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ão agent e end-user.

  • cobrowse_session_remote_control: indica o status de uma sessão de compartilhamento de tela de controle remoto. Os valores são on, rejected, requested e off.

  • cobrowse_session_full_device: indica o status de uma sessão de compartilhamento de tela de dispositivo completo. Os valores são on, rejected, requested e off.

  • 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ão on, rejected, requested e off.

  • 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ão on, rejected, requested e off.

  • 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ão agent, end-user e api.

  • cobrowse_session_remote_control: indica o status de uma sessão de compartilhamento de tela de controle remoto. Os valores são on, rejected, requested e off.

  • cobrowse_session_full_device: indica o status de uma sessão de compartilhamento de tela do dispositivo inteiro. Os valores são on, rejected, requested e off.

  • 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_id ou call_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_id ou call_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/calls ou /api/v1/chats.

  • end_user_id: o end_user_id. Esse campo é retornado como parte da resposta de /api/v1/calls ou /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_id ou call_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 login

  • agent_email: o endereço de e-mail associado à conta do agente

  • agent_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 agente

  • session_id: o identificador da sessão

  • queue_language_id: o idioma da fila

  • timestamp: 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)