Click-to-Call
O Click-to-Call permite aos seus contatos A pessoa que interage com um agente, RVI ou bot em seu centro de contato. contatar um agente em tempo real utilizando um único clique. A partir de um botão no seu site da Web, os visitantes podem iniciar uma chamada direta a um agente. Isso pode ajudar você a reduzir ou eliminar:
-
Etapas adicionais ao se conectar a uma equipe de vendas ou de suporte.
-
Custos indiretos, como taxas de número de serviço e sobretaxas de celular.
O Click-to-Call funciona por meio de um kit de desenvolvimento de software (SDK) redigido em JavaScript. Para deixá-lo configurado, colabore com um criador para implementar o SDK no seu site da Web. Você também deve trabalhar com um Representante de contas que possa fornecer credenciais específicas.
O Click-to-Call é suportado em navegadores de computadores de mesa.
Click-to-Call Detalhes sobre o SDK
-
Download de SDK: entre em contato com o Representante de contas
-
Idioma do SDK: JavaScript (utilizando AudioCodes WebRTC SDK)
-
Navegadores compatíveis: Google Chrome, Microsoft Edge e Mozilla Firefox
-
Permissão para microfone: os contatos
A pessoa que interage com um agente, RVI ou bot em seu centro de contato. deverão permitir que o seu navegador utilize o seu microfone
O SDK consiste em um único arquivo clicktocall.js. Ele deve ser incluído ou referido em cada página da Web na qual se deseja exibir o botão Click-to-Call. Também é necessário implementar os seus próprios componentes da UI, como o botão Click-to-Call e os controles de chamadas. O botão Click-to-Call deverá chamar a função makeCall no SDK, que inicia uma chamada WebRTC. Caso a solicitação de chamada seja autenticada pelo CXone Mpower, a chamada será efetuada.
Pré-requisitos de integração
Para preparar os criadores para que integrem o Click-to-Call com o seu site, é necessário cumprir as seguintes exigências:
-
Obtenha um identificador do cliente com o Representante de contas.
-
Colabore com o Representante de contas para provisionar números de telefone específicos ao Click-to-Call.
-
Implemente uma API POST no seu próprio servidor. Esta API deve gerar um token JWT para autenticação. Isso confirma que as solicitações de chamadas recebidas sejam legítimas.
Saiba mais
A autenticação Click-to-Call utiliza um JWT (token Web de Json). É necessário gerar um par de chaves RSA assimétricas de 2048 bits no formato PKCS#1. A primeira é uma chave privada, que pode ser utilizada para gerar o JWT (JWT1). A segunda é uma chave privada, que deve ser fornecida ao NICENICE. Ao iniciar uma chamada telefônica, é necessário incluir o JWT1 na solicitação. O CXone Mpower valida o JWT1 da solicitação recebida com a chave pública que você tiver fornecido.
Gere o JWT1 com uma API POST. É necessário implementar esta API no seu próprio servidor. O SDK espera esta API para poder aceitar o ponto de contato
O ponto de entrada que um contato de entrada usa para iniciar uma interação, como um número de telefone ou endereço de e-mail. (endereço de contato) e o ClientID do corpo da solicitação. Ele deve retornar o token JWT com ContactAddress e ClientId como pedidos.
O diretório do pacote do SDK IntegrationHelpers/Templates contém exemplos de snippets de código. Eles foram redigidos em .NET e Java. Eles ilustram como gerar as chaves assimétricas para autenticação, além da API POST, cuja implementação é necessária.
Exemplo de terminal de API:
POST /generate-jwt1-token Content-Type: application/json { "ContactAddress": "<CONTACT_ADDRESS>", "ClientId": "<CLIENT_ID>" } // API response: "GENERATED_JWT1_TOKEN"
Exemplo de URL de terminal de API de token JWT1:
let getJWT1TokenURL = '<YOUR_TOKEN_ENDPOINT_URL>';
//This is where you enter the URL for the POST API you implement. -
Disponibilize a chave pública ao Representante de contas, para que seja autenticada.
-
Leve em conta a concepção da IU. Você deverá criar a sua própria IU do lado do contato da chamada, inclusive os botões de controle de chamada, como colocação de chamadas no mudo ou encerramento de chamadas. O SDK inclui exemplos de componentes Reagir e Angular que poderão ser usados pelos criadores como referência e inspiração. O lado do agente da chamada é administrado no aplicativo de agente. Portanto, a criação da IU é necessária apenas do lado do contato.
Configuração do CXone Mpower
Além de incluir a funcionalidade do Click-to-Call ao seu site da Web, você também deverá garantir que os componentes de roteamento estejam configurados no CXone Mpower. O seu administrador CXone Mpower poderá configurar os componentes necessários.
Assegure-se de ter:
-
Uma ACD competência de voz de entrada criada com os agentes necessários a ela atribuídos.
-
Pontos de contato configurados para as chamadas de voz. É necessário haver pontos de contato telefônicos em cada Click-to-Call número de telefone. O criador que estiver implementando o Click-to-Call no seu site deverá utilizar isso para contactAddress no arquivo JavaScript.
-
Um script Studio para encaminhar as chamadas a um agente.
Dependendo da configuração do CXone Mpower, é possível que você consiga utilizar componentes de encaminhamento existentes ou poderá haver a necessidade de criar e configurar novos componentes.
Integração de SDK
Assegure-se de ter concluído ou preparado os itens necessários da seção prerrequisitos.
-
Conforme a necessidade, incorpore o arquivo clicktocall.js à sua página da Web.
-
No arquivo clicktocall.js, defina o URL de terminal de API da API POST.
let getJWT1TokenURL = '<YOUR_TOKEN_ENDPOINT_URL>';
-
Atualize a variável getJWT2TokenURL com o seguinte terminal de API. O CXone Mpower utiliza isso para validar o JWT:
let getJWT2TokenURL = 'https://api-na1.niceincontact.com/ClickToCall/GetJWT2Token';
-
Adicione os seguintes componentes da IU ao seu site da Web. Assegure-se de atribuir a cada componente um identificador exclusivo. O pacote de SDKs inclui exemplos de componentes da IU em Reagir e Angular. É possível encontrá-los no diretório do IntegrationHelpers/UIComponents.
-
Botão para iniciar a chamada de voz.
-
Botão para desligar ou desconectar a chamada.
-
Botão para colocar o áudio da chamada no mudo ou restituir o som.
-
Botão para exibir um teclado de entradas de sinalização multifrequencial de dois tons.
-
Um <div> para exibir as teclas do teclado.
-
Rótulo para exibir o êxito na chamada ou as mensagens de erro.
-
Um tag <audio> que executará determinados sons, como tons de discagem ou de conexão de chamadas, por exemplo.
-
-
Atualize o arquivo clicktocall.js com referências aos componentes da IU que tiverem sido adicionados na etapa anterior.
let clickToCallButtonId = '<YOUR_CLICK_TO_CALL_BUTTON_ID>'; let hangUpButtonId = '<YOUR_HANG_UP_BUTTON_ID>'; let muteAudioButtonId = '<YOUR_MUTE_AUDIO_BUTTON_ID>'; let keypadButtonId = '<YOUR_KEYPAD_BUTTON_ID>'; let dtmfKeyDivId = '<YOUR_DTMF_KEY_DIV_ID>'; let callStatusMessageLabelId = '<YOUR_CALL_STATUS_MESSAGE_LABEL_ID>'; let remoteAudioId = '<YOUR_AUDIO_CONTROL_ID>';
-
Adicione o makeCall(contactAddress) método ao Click-to-Call botão.
-
Para enviar sons de sinalização multifrequencial de dois tons (DTMF), mobilize a função guiSendDTMF(digit) quando se clicar em um botão de DTMF.
-
Ajuste as suas preferências na seção de configurações do arquivo clicktocall.js. Esta é uma seção com diversas variáveis de configuração que controlam certos tipos de comportamentos.
-
Ajuste a contagem de tentativas repetidas com retryCount. Caso uma chamada seja desconectada, este é o número de vezes que o sistema tentará reconectá-la. O padrão é 3.
-
Ajuste o POCREnvironmentXHeaderValue valor como sendo PROD.
-
Ajuste as configurações do servidor telefônico em phoneServerConfig e clientId.
let phoneServerConfig = { domain: '<Domain of the SIP server>', //Set value of this configuration to 'cxonevoice.com' addresses: [], //Keep this array empty iceServers: [], //Keep this array empty userName: '<username>', //This configuration is a human-readable string used to identify the sender in a more friendly way. In agent applications like CXone Agent, this might be displayed on the screen during a call. Tthis value should not contain any spaces and should not exceed 20 characters. displayName: '', // This is an optional field and its value can be kept the same as userName password: '' //Keep this field empty } let clientID = '<YOUR_CLIENT_ID>'; //Set the value of this configuration as provided by CXone
-
-
Caso você queira personalizar as notificações recebidas pelos contatos relacionadas às chamadas com falhas ou desconexão, modifique as sequências de texto das seguintes variáveis em clicktocall.js.
-
callFailedToConnectErrorMessage
-
uiErrorMessage
-
contactSupportTeamMessage
-
-
Certifique-se de executar testes completos, de modo a poder iniciar e encaminhar chamadas sem problemas.