WebSocket

O Gestão de Relacionamento | CRM, através do WebSocket permite integrações com CTI (CentraisTelefônicas Integradas) de parceiros e/ou empresas do ramo que se adequem às características exigidaspara melhor entregar a integração entre os sistemas.

Utilizando uma chamada WebSocket para envio e recebimento de mensagens/eventos, oGestão de Relacionamento | CRM provê alguns serviços que podem ser de execução do cliente do Gestão de Relacionamento | CRM, que podem ser escutados pelo provedor, ou de execução do provedor (fornecedor do CTI)que serão escutados pelo cliente. Verifique o fluxo abaixo para entender a rotina do WebSocket:

Imagem

Importante

Os eventos (identificados por símbolos) poderão ocorrer a qualquer momento e sem contexto prévio, somente com a mensagem correspondente a cada evento, desde que sejam disparados pelo fornecedor ou pelo Gestão de Relacionamento | CRM. Os únicos eventos que irão ocorrer independente do disparo são os de login.

Cliente - Eventos emitidos pelo Gestão de Relacionamento | CRM (Client to Provider)

Login

O cliente ao entrar no sistema, emite um evento de login para o WebSocket Gestão de Relacionamento | CRM, que por sua vez realiza as operações necessárias para vincular o usuário Gestão de Relacionamento | CRM com seu ramal ao identificador no WebSocket Gestão de Relacionamento | CRM, e em seguida, emite um evento de login ao provedor (fornecedor CTI) que pode ou não escutar esse evento e realizar suas operações.

Para esse evento são emitidos os seguintes parâmetros, no formato:

{
    "action": "login",
    "auth": {
        "login":"usuario",
        "passwd":"senha"
    },
    "params": {
        "tenant":params.tenant,
        "ramal":params.ramal
    }
}
Logout

O cliente ao sair do sistema, emite um evento de logout para o WebSocket Gestão de Relacionamento | CRM, que por suavez realiza as operações necessárias para desvincular o usuário Gestão de Relacionamento | CRM ao seu identificador noWebSocket Gestão de Relacionamento | CRM, e em seguida, emite um evento de logout ao provedor (fornecedor CTI) que pode ou não escutar esse evento e realizar suas operações.

Para esse evento são emitidos os seguintes parâmetros, no formato:

{
    "action":"logout",
    "auth": {
        "login":"usuario",
        "passwd":"senha"
    },
    "params": {
        "ramal":params.ramal
    }
}
Discar

No sistema, é possível iniciar ligações, e ao realizar a ação o sistema emite um evento de discarpara o WebSocket Gestão de Relacionamento | CRM. Enviando as informações necessárias, o sistema localiza o usuário edispara o evento de início da ligação para provedor (fornecedor CTI) que pode ou não, estarouvindo esse evento e realizar suas ações necessárias.

Para esse evento são emitidos os seguintes parâmetros, no formato:

{
    "action":"discar",
    "auth": {
        "login":"usuario",
        "passwd":"senha"
    },
    "params": {
        "ramal":params.ramal,
        "telefone":params.telefone
    }
}
Desligar

No sistema, é possível finalizar as ligações em execução, e ao realizar a ação o sistema emite umevento de desligar para o WebSocket Gestão de Relacionamento | CRM. Enviando as informações necessárias, o sistemalocaliza o usuário e dispara o evento de desligar a ligação em execução para o provedor(fornecedor CTI) que pode ou não, estar ouvindo esse evento e realizar suas ações necessárias.

Para esse evento são emitidos os seguintes parâmetros, no formato:

   {
    "action":"desligar",
    "auth": {
        "login":"usuario",
        "passwd":"senha"
    },
    "params": {
        "ramal":params.ramal,
        "telefone":params.telefone
    }
}
Parada

Durante o dia, usando o Gestão de Relacionamento | CRM é possível pausar as ligações para seu ramal, prática comum para campanhas em abordagem ativa. Para tanto, o sistema envia um evento de parada para o WebSocket Gestão de Relacionamento | CRM, que ao identificar o usuário envia o evento ao provedor (fornecedor CTI) que pode ou não, estar escutando essa chamada e realizar suas ações necessárias.

Para esse evento são emitidos os seguintes parâmetros, no formato:

{
    "action":"parada",
    "auth": {
        "login":"usuario",
        "passwd":"senha"
    },
    "params": {
        "ramal":params.ramal
    }
}
Livre

Ao realizar a parada das ligações, fica disponível ao usuário informar que está livre novamente,para que as ligações tornem a ser realizadas ao seu ramal. Dessa forma, o sistema envia o eventode livre ao WebSocket CRM, que valida as informações e em seguida, envia o evento de livre aoprovedor (fornecedor CTI) que pode ou não, estar escutando essa chamada e realizar suas açõesnecessárias.

Para esse evento são emitidos os seguintes parâmetros, no formato:

{
    "action":"livre",
    "auth": {
        "login":"usuario",
        "passwd":"senha"
    },
    "params": {
        "ramal":params.ramal
    }
}

Provedor - Eventos emitidos pelo Fornecedor CTI (Provider to Client)

Login

O provedor deve estar sempre logado no WebSocket CRM, para que seja possível acomunicação entre os sistemas. Desta forma, ao iniciar o provedor, deve ser enviado o evento de loginpara vincular o mesmo como provedor de um determinado tenant do Gestão de Relacionamento | CRM.

Comando a ser enviado:

{
    "action":"login",
    "params": {
        "tenant":"x"
    }
}
Chamada

Ligações entrantes são primeiramente recebidas pelo CTI e devem, o mais breve possível, ser direcionadas ao Gestão de Relacionamento | CRM através de um evento de chamada, pra informar ao usuário que estáocorrendo essa chamada em seu ramal.

Comando a ser enviado:

{
    "action":"chamada",
    "params": {
        "telefone":params.telefone,
        "ramal":params.ramal
    }
}
Finalizar

Durante o tempo da ligação, pode ser realizada a finalização da mesma pelo telefoneque iniciou o contato (número externo), dessa forma, novamente o CTI recebe primeiro ainformação e deve repassar o evento de finalizar para o WebSocket CRM, para que sejamcontabilizadas as informações da ligação.

Comando a ser enviado:

{
    "action":"finalizar",
    "params": {
        "ramal":"x",
        "telefone":"x"
    }
}

Este artigo ajudou você?