Histórico da Página
...
É possível criar aplicativos, widgets etc., que criem e enviem notificações personalizadas, além de fazer este processo através de aplicações externas, utilizando a API Pública do fluigda plataforma Fluig.
Este tutorial tem o objetivo de mostrar passo a passo como criar um aplicativo que cria uma notificação customizada e envia para os usuários da empresa (tenant). Para fazer este mesmo processo através da API Pública do fluigda plataforma Fluig, consulte a documentação clicando aqui. As notificações enviadas pelo aplicativo são exibidas tanto na web, como nos dispositivos móveis.
...
Deck of Cards | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||||||||||||||
|
Nota |
---|
É recomendada a leitura de todo este material, mesmo que o desenvolvedor utilize o projeto de exemplo como base. Este tutorial apresenta conceitos importantes para trabalhar corretamente com notificações dentro do fluigTOTVS Fluig Plataforma. |
Entendendo os conceitos para criação de notificações personalizadas
...
Os módulos de notificação são apenas agrupadores, para que as notificações semelhantes se apresentem agrupadas para o usuário.
Os módulos padrão do fluig TOTVS Fuig Plataforma são:
Colaboração: notificações de apoiar, comentar, etc.
...
Antes de criar notificações personalizadas, é importante que fique claro o conceito de "Eventos de Notificações". Um evento é uma representação de alguma ação que pode gerar notificações no fluigna platafdorma Fluig. O evento contém todas as configurações das notificações.
...
Através do evento o usuário pode configurar o recebimento de notificações. Por exemplo: é possível configurar o recebimento das notificações do tipo "SHARE" por e-mail, as notificações do tipo "LIKE" apenas pela Central de Notificações do fluigda plataforma Fluig, e não receber nenhuma notificação do tipo "FOLLOW_REQUEST_ACCEPTED".
...
- Tipode integração: Indica o tipo de integração que será utilizado para executar aquela ação. Atualmente o fluig a plataforma Fluig suporta três tipos de integrações:
- JMS: Ao executar aquela ação o sistema irá disparar uma mensagem JMS com os dados da ação. A mensagem JMS disparada é do tipo "EXECUTE_ALERT_ACTION_EVENT". Cabe ao desenvolvedor implementar uma rotina que se conecte ao tópico "TOTVSTechIntegrationListenerTopic", ouça estas mensagens e execute efetivamente as ações.
- HTTP: Ao executar aquela ação, o sistema fará uma chamada HTTP a uma URL cadastrada no momento da criação da notificação. Os métodos HTTP suportados atualmente são GET e POST. Cabe ao desenvolvedor disponibilizar um serviço que responda naquela URL e execute efetivamente a ação.
- NONE: Ao executar aquela ação o sistema a marcará como executada, mas não realizará nenhuma ação.
...
Existem duas formas de utilização da API de Notificações do fluigTOTVS Fluig Plataforma: através do módulo interno do fluig Fluig "foundation-alert-api" e através da API Pública. Este tutorial contém um exemplo utilizando o módulo "foundation-alert-api". Para mais informações sobre a API Pública, clique aqui.
Para criação de um aplicativo interno ao fluig à plataforma Fluig que utilize a API de Notificações, é necessário criar um projeto Java (padrão Maven) e adicionar o seguinte trecho de código no arquivo "pom.xml":
...
- eventKey - String única que representa o evento no fluigFluig.
- required - Indica se o evento é requerido. Caso seja, o usuário não conseguirá configurar para não receber notificações do evento.
- descriptionKey - Descrição do evento. Pode ser um texto plano ou uma chave para obter descrição traduzida no I18n. Caso queira utilizar a tradução, a chave deve estar previamente cadastrada no I18n, no bundle "foundation_alert".
- singleDescriptionKey - Descrição da ação feita por um usuário. Pode ser um texto plano ou uma chave para obter descrição traduzida no I18n. Caso queira utilizar a tradução, a chave deve estar previamente cadastrada no I18n, no bundle "foundation_alert".
- groupDescriptionKey - Descrição da ação feita por por vários usuários. Pode ser um texto plano ou uma chave para obter a descrição traduzida no I18n. Caso queira utilizar a tradução, a chave deve estar previamente cadastrada no I18n, no bundle "foundation_alert".
- eventIcon - Ícone que representa o evento (opcional). Este ícone será exibido pelo sistema em notificações que não tenham um usuário que a enviou. Caso tenha um usuário "enviador", o sistema exibirá a foto deste usuário. Caso haja mais de um usuário "enviador", o sistema mostrará a foto do último usuário que enviou a notificação.
- moduleId - Módulo ao qual pertence este evento
- grouped - Indica se a notificação pode ser agrupada por ação e objeto.
- canRemove - Indica se a notificação pode ser removida.
- removeAfterExecAction - Indica se a notificação é removida após ser executada uma ação.
- onlyAdmin - Indica se o evento é válido somente para usuários administradores.
- tenantId - Empresa (tenant) para a qual o evento está sendo cadastrado.
...
Enviando Notificações
Para enviar uma notificação é necessário realizar uma chamada ao método "sendAlert", da interface "com.totvs.technology.foundation.alert.service.AlertService". Um exemplo de chamada deste método segue abaixo:
Bloco de código | ||
---|---|---|
| ||
@Stateless(name = "AlertCreator", mappedName = "AlertCreator") public class AlertCreator { @EJB(lookup = AlertService.JNDI_REMOTE_NAME) private AlertService alertService; public void sendHoleritAlert() { alertService.sendAlert("MY_EVENT", loginUserThatSendsTheNotification, loginUserThatIsGoingToReceiveTheNotification, objectAttached, placeWhereTheEventOccurs, actions, metadata); } } |
Os parâmetros para execução do método são:
- eventKey - Chave do evento cadastrado para envio de notificações.
- loginSender - login do usuário que envia a notificação. (opcional)
- loginReceiver - login do usuário que irá receber a notificação.
- object - objeto associado à notificação (opcional) - implementação padrão para a interface "AlertObject" é a classe "com.totvs.technology.foundation.alert.GenericAlertObject", da API de Notificações do fluigFluig.
- place - lugar onde a notificação foi gerada (opcional) - objeto e lugar são tratados com a mesma estrutura de dados - implementação padrão para a interface "AlertObject" é a classe "com.totvs.technology.foundation.alert.GenericAlertObject", da API de Notificações do fluigFluig.
- actions - ações disponibilizadas pela notificação (opcional) - implementação padrão para a interface "AlertAction" é a classe "com.totvs.technology.foundation.alert.GenericAlertAction", da API de Notificações do fluigFluig.
- metadata - metadados da notificação (opcional).
Desabilitando eventos de Notificações
É possível desabilitar qualquer evento de notificações. Atualmente este serviço está disponível na API Pública do fluig da plataforma Fluig. Uma vez desabilitado, o sistema não gerará mais nenhuma notificação para aquele tipo de evento, e também não o exibirá mais na tela de configurações.
Nota | ||
---|---|---|
| ||
Obrigatoriamente o valor informado deve ser um formulário. Outros tipos de documentos não serão tratados e ocorrerá erro na execução do evento. |