Fazendo chamadas dentro da Kommo

Para processar a execução de chamadas à partir da Kommo, você deve implementar o painel de chamada, adicionar um teclado numérico e integrar o Click-to-call . Para chamadas recebidas, você deve pegar a chamada e mostrar uma notificação sobre ela.

Fazendo chamadas

WebRTC é uma tecnologia que permite aos navegadores e aplicações mobile habilitar comunicações em tempo real de audio, vídeo e dados entre pares (peer-to-peer) sem a necessidade de plugins ou aplicações separadas.

Sua integração pode oferecer a possibilidade de digitar números, realizar ou atender chamadas dentro da Kommo.

Você pode oferecer o seguinte modelo para exibir os botões de chamada chamar/atender, desligar/recusar, mutar/botar em espera.

Segue um template em JS para adicionar um botão no canto inferior esquerdo para abrir o discador onde você pode exibir ou apagar a janela modal.

this.callbacks = {
  init: () => {
    /**
     * Permite adicionar um botão no canto inferior esquerdo para abrir o discador.
     */
    APP.widgets.notificationsPhone({
      ns: uniqueKey,
      click: () => {
        self.initKeypad();
      },
    });

    return true;
  },

  destroy: () => {
    /**
     * Se necessário, você pode adicionar este código para remover o botão de abrir o discador.
     */
    APP.widgets.destroyNotificationsPhone({
      ns: uniqueKey,
    });

    return true;
  },
};

Keypad

Para discar os números à partir da interface da Kommo, você pode oferecer uma janela modal com um teclado numérico para a discagem dos numeros.

Para mostrar um teclado numérico, você pode usar qualquer método que considere apropriado, como

To show a keypad, you can use any way that suits you, like using the VoIP service keypad by calling the SDK, writing your own template .twig files, JavaScript or HTML.

Chamada recebida

Vamos analisar com detalhes o papel da interface do usuário (UI/UX) nas chamadas recebidas.

Primeiro de tudo, nós precisamos saber que a chamada está sendo recebida. A chamada chega primeiro à aplicação VoIP, que por sua vez transmite a informação sobre a chamada através da nossa API de Integração.

Pra rastrear uma chamada, o widget tem um receptor de eventos onMessage que reconhece uma chamada recebida. Depois disso, uma função de chamada de retorno (callback) é lançada, que então envia à Kommo as informações de que uma chamada foi recebida, e as janelas modais são exibidas com a visualização da chamada recebida.

Junto das informações de chamada, são recebidos os dados necessários, como o número de telefone de origem da chamada ou o ID da chamada, que utilizaremos posteriormente dentro da Kommo.

Se o usuário atender a chamada, a conexão é inicializada e a conversa começa. Quando a conversa termina, os dados devem ser registrados na Kommo por meio da API (se for um cliente; chamadas entre funcionários são descartadas). É necessário salvar as informações sobre o chamador, a duração e a gravação da conversa, além de quaisquer anotações da chamada, caso existam.

Se o gerente não atender a chamada, é registrada uma informação da chamada com duração zero.

Notificação de Chamada

Se você optar por exibir notificações pop-up com informações sobre as chamadas, é possível implementar isso no frontend usando os métodos do centro de notificações, como show_notification ou add_call; ou utilizando a WebSocket API, estabelecendo uma conexão permanente e inscrição em eventos entre o cliente e o servidor.

Você também pode adicionar uma notificação via API, se você quiser, criando um evento de chamada que gera a notificação após a busca pelo ID do chamador. Caso exista um cartão associado ao número, a notificação será vinculada a ele; caso não exista, será criado um novo contato.

A notificação aparecerá na interface e, dependendo do método utilizado, poderá ser transmitida por todos os canais de entrega ativos.