83 lines
4.4 KiB
Markdown
83 lines
4.4 KiB
Markdown
|
|
---
|
||
|
|
title: Interceptando e personalizando o e-mail padrão (onNotify)
|
||
|
|
source: https://tdn.totvs.com/pages/viewpage.action?pageId=852912430
|
||
|
|
path: \Plataforma Documentação técnica\Personalização\Personalização de e-mail\Interceptando e personalizando o e-mail padrão (onNotify).md
|
||
|
|
---
|
||
|
|
|
||
|
|
# Índice
|
||
|
|
|
||
|
|
- 1 [Introdução](#Interceptandoepersonalizandooemailpadrão(onNotify)-Introdução)
|
||
|
|
- 2 [Sintaxe](#Interceptandoepersonalizandooemailpadrão(onNotify)-Sintaxe)
|
||
|
|
- 3 [Parâmetros](#Interceptandoepersonalizandooemailpadrão(onNotify)-Parâmetros)
|
||
|
|
- 3.1 [subject](#Interceptandoepersonalizandooemailpadrão(onNotify)-subject)
|
||
|
|
- 3.2 [receivers](#Interceptandoepersonalizandooemailpadrão(onNotify)-receivers)
|
||
|
|
- 3.3 [template](#Interceptandoepersonalizandooemailpadrão(onNotify)-template)
|
||
|
|
- 3.4 [params](#Interceptandoepersonalizandooemailpadrão(onNotify)-params)
|
||
|
|
- 4 [Exemplos](#Interceptandoepersonalizandooemailpadrão(onNotify)-Exemplos)
|
||
|
|
- 4.1 [Alterando o Assunto quando o e-mail for do tipo "Tarefa sob sua responsabilidade em atraso"](#Interceptandoepersonalizandooemailpadrão(onNotify)-AlterandooAssuntoquandooe-mailfordotipo"Tarefasobsuaresponsabilidadeematraso")
|
||
|
|
- 4.2 [Adicionando um destinatário quando o e-mail for do tipo "Notificação de nova atividade sob sua gerência"](#Interceptandoepersonalizandooemailpadrão(onNotify)-Adicionandoumdestinatárioquandooe-mailfordotipo"Notificaçãodenovaatividadesobsuagerência")
|
||
|
|
- 4.3 [Adicionando um parâmetro o e-mail for do tipo "Solicitação cancelada"](#Interceptandoepersonalizandooemailpadrão(onNotify)-Adicionandoumparâmetrooe-mailfordotipo"Solicitaçãocancelada")
|
||
|
|
|
||
|
|
# Introdução
|
||
|
|
|
||
|
|
Diversos e-mails são disparados no Fluig, variando de notificações simples a alertas urgentes. O **onNotify** é um [evento global](../../Desenvolvimento sobre a plataforma/Desenvolvimento de Eventos.md) do Fluig que pode ser criado para interceptar notificações padrão do Fluig, permitindo alterações ou a geração de logs.
|
||
|
|
|
||
|
|
# Sintaxe
|
||
|
|
|
||
|
|
```
|
||
|
|
funcion onNotify(subject, receivers, template, params) {
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
# Parâmetros
|
||
|
|
|
||
|
|
## subject
|
||
|
|
|
||
|
|
Uma lista de string que, quando adicionada algum item, modifica o assunto do e-mail para todos os destinatários. Apesar de ser uma lista, apenas o primeiro item da lista será considerado. Então, caso sejam adicionados dois assuntos, somente o primeiro item será usado.
|
||
|
|
|
||
|
|
## receivers
|
||
|
|
|
||
|
|
Uma lista de Strings com os e-mails dos destinatários. Também é possível adicionar outros e-mails, de usuários do sistema ou mesmo e-mails externos, caso seja necessário notificar uma pessoa que não tenho acesso ao sistema.
|
||
|
|
|
||
|
|
## template
|
||
|
|
|
||
|
|
Uma String contendo o código do template (ou tipo) de e-mail que está sendo enviado, permitindo que seja alterado apenas um tipo específico de e-mail. É recomendável que sempre seja verificado o código do template, para evitar que ocorram alterações em outros tipos de e-mail, que não necessitariam de personalização. Este parâmetro é fixo e alterações nele não mudaram o tipo de template a ser utilizado.
|
||
|
|
|
||
|
|
## params
|
||
|
|
|
||
|
|
É um mapa de dados que permite alterar/incluir parâmetros para que sejam apresentados no e-mail. O nome dos parâmetros informados nesse mapa devem ser os mesmos que são utilizados dentro do arquivo de template.
|
||
|
|
|
||
|
|
# Exemplos
|
||
|
|
|
||
|
|
## Alterando o Assunto quando o e-mail for do tipo "Tarefa sob sua responsabilidade em atraso"
|
||
|
|
|
||
|
|
```
|
||
|
|
function onNotify(subject, receivers, template, params) {
|
||
|
|
if (template.equals("TPLOVERDUE_TASK_USER_RESPONSIBLE") != null) {
|
||
|
|
log.info("Modificando o assunto do e-mail para 'URGENTE: Uma tarefa que você é responsável está atrasada');
|
||
|
|
subject.add("URGENTE: Uma tarefa que você é responsável está atrasada");
|
||
|
|
}
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
## Adicionando um destinatário quando o e-mail for do tipo "Notificação de nova atividade sob sua gerência"
|
||
|
|
|
||
|
|
```
|
||
|
|
function onNotify(subject, receivers, template, params) {
|
||
|
|
if (template.equals("TPLPROCESS_NEW_STATE_TO_MANAGER") != null) {
|
||
|
|
log.info("Adicionando o e-mail 'usuario@dominio.com' a lista de destinatários da notificação de 'Nova atividade sob sua gerência'");
|
||
|
|
receivers.add("usuario@dominio.com");
|
||
|
|
}
|
||
|
|
}
|
||
|
|
```
|
||
|
|
|
||
|
|
## Adicionando um parâmetro o e-mail for do tipo "Solicitação cancelada"
|
||
|
|
|
||
|
|
```
|
||
|
|
function onNotify(subject, receivers, template, params) {
|
||
|
|
if (template.equals("TPLPROCESS_CANCELED") != null) {
|
||
|
|
log.info("Adicionando o parâmetro 'MEU_CAMPO' com o valor 'VALOR'");
|
||
|
|
params.put("MEU_CAMPO","VALOR");
|
||
|
|
}
|
||
|
|
}
|
||
|
|
```
|