Como enviar push notification no OTRS para o navegador
Algumas vezes já me perguntaram se o OTRS possui um mecanismo de notificação via Push Notification Web.
Pensando nisso eu procurei uma solução para fosse capaz de converter um e-mail para push notification web.
Como resultado encontrei o https://pushalert.co porém é necessário alguns pequenos ajustes para funcionar completamente.
Portanto vamos para a receita.
No site do PushAlert você tem a aba Integration
Siga as instruções.
Em primeiro lugar você deve colocar esse código JS no Headed ou Footer do seu OTRS. No meu caso eu coloquei no inicio do arquivo /opt/otrs/Kernel/Output/HTML/Templates/Standard/Footer.tt
Posteriormente o baie o manifest.json e ws.js e coloque no diretório root do seu apache.
Certo, com isso temos a solução instalada.
Agora para configurar no OTRS:
Crie o arquivo /opt/otrs/Kernel/Output/HTML/Templates/Standard/NotificationEvent/Email/Push.tt
E agora coloque o conteúdo abaixo dentro:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
[% Data.Body %]
</body>
</html>
Legal, com isso o formato da notificação esta criado, porém, temos um problema.
O OTRS sempre colocar o TicketHook no Subject, tirei fazendo isso.
No arquivo
/opt/otrs/Kernel/System/Ticket/Event/NotificationEvent/Transport/Email.pm
Alterei essa linha
Subject => $Notification{Subject},
por essa
Subject => $Notification{OriginalSubject},
Isso é na função ArticleObject->BackendForChannel próximo a linha 290
Criando a notificação no OTRS
Agora ficou fácil, basta criar a notificação no OTRS no formato abaixo no evento que desejar.
Por exemplo:
---
- ChangeBy: '2'
ChangeTime: 2019-01-27 16:02:04
Comment: ''
CreateBy: '2'
CreateTime: 2019-01-27 15:20:42
Data:
AgentEnabledByDefault:
- Email
- Push
ArticleAttachmentInclude:
- '0'
Events:
- NotificationAddNote
LanguageID:
- en
QueueID:
- '24'
- '25'
- '27'
RecipientEmail:
- send@notification.pushalert.co
TransportEmailTemplate:
- Push
Transports:
- Email
VisibleForAgent:
- '0'
ID: '51'
Message:
en:
Body: 'title: [Nova nota]<br />
message: [Novo chamado na fila <OTRS_TICKET_Queue>]<br />
url: [suporte.beonup.com.br]'
ContentType: text/html
Subject: YOUR_REST_KEY_HERE
Name: Push Notification
ValidID: '1'
Posteriormente estará pronto e no evento escolhido será enviado a notificação e o Push Notification acontecerá.
Exemplo de notificação
Quer saber mais sobre essa e outras novidades inbox? Então entre em contato e conheça mais sobre esse e outros módulos. Para contato clique aqui.
Deixe uma resposta