InBox WhatsAppIntegrator
Recursos
Este módulo tem como objetivo realizar uma integração do WhatsApp com OTRS
Pré-requisitos
Navegador
É requerido que o navegador Google Chrome esteja na versão 80 ou superior.
Campos no cadastro do usuário cliente
É requerido que o usuário cliente tenha em seu cadastro padrão, o campo 'UserMobile'
Framework
As seguintes versões de framework OTRS são suportadas:
- [6.0.x]
Módulos
Os seguintes módulos são requeridos:
- InBox Core 6.28.7 ou superior
Os seguintes módulos Perl são requeridos, caso não estejam no sistema, devem ser instalados:
- LWP::Simple
- IO::Socket
- LWP::UserAgent
- HTTP::Request
Sistema Operacional
Os seguintes sistemas operacionais são requeridos:
- [Nenhum]
Instalação
bin/otrs.Console.pl Admin::Package::Install /path/to/InBox\ WhatsAppIntegrator-6.0.0.opm
Configuração
Este módulo pode ser configurado via Configuração do Sistema na interface administrativa. As seguintes opções de configurações estão disponíveis:
WhatsAppIntegrator::Core::URL
Nesta configuração, é necessário adicionar a URL para o socket.io:
WhatsAppIntegrator::Core::NewTicket
Nesta configuração, é necessário adicionar os parâmetros que o módulo utilizará para abertura de chamados.
WhatsAppIntegrator::Core::MaxChatsShow
Nesta configuração, é necessário adicionar o número máximo de conversas que apareceram na tela da integração.
WhatsAppIntegrator::Core::DefineCustomerUserToTicket
Esta configuração define se a busca por chamados será realizada por usuário cliente.
WhatsAppIntegrator::Core::DefineCustomerToTicket
Esta configuração define se a busca por chamados será realizada por cliente.
Lembre-se: Defina somente uma como 'sim', caso esteja as duas buscas como 'sim', o default será a busca por chamados do usuário cliente
Configurando número e dados de envio
É necessário cadastrar os dados do número de envio de mensagens do WhatsApp. Para isso, navegue até o menu 'Administração do sistema -> Dados para o WhatsApp':
Clique em 'Adicionar' e preencha os dados abaixo como necessário:
É necessário definir um número para ser o número padrão, clicando no botão abaixo:
Alterando tipo da tabela no banco de dados
Para que os emojis fiquem salvos no banco de dados e possam ser exibidos, rode o comando abaixo:
ALTER TABLE whatsapp_messages CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Lembrando que existem emojis que ainda não podem ser salvos e exibidos na tela, porém são enviados.
Uso
Visualizar o chat
Após configurar o módulo, é possível visualizar a interface do chat, clicando no menu 'WhatsApp':
A visão de chat será apresentada:
Caso o usuário cliente, tenha cadastro no OTRS com o número de telefone (campo 'Mobile'), seu nome aparecerá e seu Gravatar também.
Bloqueando o chat
É possível bloquear ou desbloquear, clicando no ícone de cadeado ao lado do chat. Ao bloquear o chat, somente o atendente que bloqueou poderá enviar mensagens neste chat.
Visualizando relatório de mensagens anteriores
Ao clicar no ícone abaixo, é possível visualizar um relatório com as mensagens antigas.
E também realizar filtros:
Associar conversa a chamado
É possível associar uma conversa a um chamado, para isso clique no botão abaixo:
Após isso é possível ver os campos abaixo:
O primeiro campo, lista os chamados já abertos do usuário cliente, ou cliente (de acordo com o configurado) e que o atendente logado tenha permissão:
O segundo campo é responsável por criar e associar um novo chamado a conversa atual. O chamado é criado de acordo com a configuração de criação de chamado.
E o terceiro campo é responsável por 'desconectar' o chamado da conversa. E assim, não enviando mais as mensagens ao chamado
Adicionar mensagens no chamado associado
Após associar uma conversa a um chamado, é possível enviar as mensagens do chat para o chamado.
Para fazer isso manualmente, clique no botão abaixo:
Feito isso, é criado 1 artigo reunindo as mensagens da conversa, como o exemplo abaixo:
Existe também uma cron que roda a cada 5 horas e adiciona as mensagem ao chamado.
Escolher celular de qual será enviado a mensagem
É possível definir mais de um número para enviar as mensagens do WhatsApp.
Para isso escolha o telefone em que será disparada a mensagem no campo abaixo:
Atendente genérico para desconectar chamados da conversa
Para que quando o chamado associado a conversa seja fechado ele também seja retirado da conversa. Configure o atendente genérico como abaixo:
Adicionando como módulo personalizado o arquivo:
Kernel::System::GenericAgent::WhatsApp::WhatsAppClosedTickets
E o evento para estado fechado.
Socket
É necessário instalar o socket no ambiente para que o módulo funcione corretamente. Crie um diretório na pasta 'opt' com o nome 'WhastAppServer', entre no diretório, dirija-se até o terminal do sistema e digite os comandos abaixo:
curl -sL https://rpm.nodesource.com/setup_13.x | bash -
yum install nodejs
node --version (Verifica a versão instalada, necessário ser 13.x ou acima)
npm install
npm i http
npm i express
npm i socket.io
Após instalar os módulos acima, adicione o servidor de nome 'whatsapp_server.js' (presente no pacote do módulo) no mesmo caminho de diretório. Certifique-se de que a porta 3000 esteja liberada para o socket.
É necessário iniciar o servidor socket e deixá-lo iniciado. O comando node whatsapp_server.js
inicia o servidor, porém ele é parado ao sair.
Para que ele fique sempre rodando é necessário outras medidas, como o uso do 'Forever', por exemplo.
Wabox
É necessário que além do atendente estar com o WhatsApp Web aberto e conectado em seu computador, que se configure o Wabox.
Para isso entre no site
https://www.waboxapp.com/
efetue login, e na guia 'My phones' adicione o caminho para o webhook no otrs:
https://seudominio/otrs/wabox/receive_hook.pl
É necessário que o ambiente tenha certificado ssl.