Histórico da Página
...
Além dos diversos e-mails são disparados no Fluig, você pode criar seus próprios templates de e-mail e envia-los através dos scripts de personalização pelo método notifier.notify
Para estes e-mails funcionarem, é necessário que tenha sido feita a configuração de envio de e-mail.
Sintaxe
Bloco de código | ||||
---|---|---|---|---|
| ||||
notifier.notify(sender, template, params, receivers, mimeType); notifier.notify(sender, cardId, template, params, receivers, mimeType); |
Parâmetros
sender
Uma string contendo a matrícula (código do usuário) do usuário que será usado como remetente do e-mail caso não tenha sido configurado o remetente padrão na configuração de e-mail.
...
Caso tenha sido configurado o remetente padrão, essa parâmetro será ignorado.
cardId
O código do registro de formulário vinculado à este e-mail. Informar o código do formulário adiciona alguns parâmetros adicionais que podem ser usados nos templates de e-mail:
Parâmetro | Descrição |
---|---|
WDK_CardContent | Conteúdo HTML do formulário (simula a visualização) |
WDK_DocumentAuthor | Nome do Autor |
WDK_DocumentComments | Comentário adicional |
WDK_DocumentDescription | Descrição do formulário |
WDK_DocumentIconImage | Imagem do ícone do formulário |
WDK_DocumentNumber | Número do formulário |
WDK_DocumentUpdatedDate | Data de atualização do formulário |
WDK_DocumentVersion | Versão do formulário |
WDK_DocumentViewLink | Link para acesso ao formulário |
template
Uma string informando o código do template
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
...
de e-mail que está sendo enviado
...
. É
...
o código
...
usado no cadastro de template de e-mail
...
.
params
É um mapa de dados que permite
...
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.
Personalização de E-mail
É possível incluir personalizações de e-mail sempre que uma notificação for disparada.
Configuração de envio de e-mail
Para que os e-mails personalizados sejam enviados, é preciso que o TOTVS Fluig Plataforma tenha sido configurado. Para saber mais, acesse a documentação sobre configuração de envio de e-mail.
Se um remetente padrão for definido na configuração de e-mail, o Fluig vai ignorar o remetente escolhido na função notifier.notify().
Se não houver um remetente padrão, o Fluig enviará o e-mail com o remetente informado na função notifier.notify().
Envio de E-mail Padrão
Para interferir no envio de e-mail padrão, deve ser utilizado o evento onNotify, que é disparado no exato momento em que uma notificação será emitida. Nesse evento, podem ser feitas alterações, como por exemplo adicionar outros destinatários (além daqueles que estão participando do processo), modificar os valores dos parâmetros utilizados no template de e-mail, etc.
Abaixo se encontra um exemplo de como implementar esse evento:
Além dos parâmetros de uso no template, também pode ser adicionado a chave "subject" que será usado como assunto do e-mail. Caso não seja informado nada, o assunto do e-mail será "Fluig"
Por padrão, são adicionados dois parâmetros em todas as notificações e eles podem ser usados no template de e-mail:
Parâmetro | Descrição |
---|---|
WDK_VirtualDir | Diretório Virtual |
WDK_AdviceUser | Nome do colaborador remetente |
receivers
Uma lista de strings com os códigos dos usuários para quem o e-mail será enviado ou os e-mails dos destinatários. Essa lista pode conter códigos de usuários e e-mails externos simultaneamente.
mimeType
Uma string que especifica o tipo de mídia do conteúdo do e-mail. Normalmente, usa-se "text/html" mas existe também a opção "text/plain".
Exemplos
Envio de e-mail configurando alguns parâmetros
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
function onNotify(subject, receivers, template, params) {
if (template.match("TPLPROCESS_NEW_STATE_TO_MANAGER") != null) {
receivers.add("[email protected]");
}
} |
Nota | ||
---|---|---|
| ||
A partir da Atualização 1.3.3, recomenda-se fazer a validação do template utilizando template == "TPLPROCESS_NEW_STATE_TO_MANAGER" ao invés da função match(), evitando assim redundâncias na personalização, pois o match() pode retornar true para mais de um template em casos como TPLNEW_TASK e TPLNEW_TASK_POOL_GROUP. |
O evento onNotify está disponível na lista de eventos globais. Portanto, ao selecionar esse evento, a assinatura da função acima já será preenchida automaticamente. Este evento disponibiliza os seguintes parâmetros:
...
try {
var matriculaRemetente = "admin";
var templateCode = "MeuTemplate";
var parametros = new java.util.HashMap();
// Este parâmetro é obrigatório e representa o assunto do e-mail
parametros.put("subject", "Consulte nossa documentação");
// Monta mapa com parâmetros do template
parametros.put("documentacao", "https://tdn.totvs.com/display/fluig/");
parametros.put("descricao", "01");
// Monta lista de destinatários
var destinatarios = new java.util.ArrayList();
destinatarios.add("matriculaUsuario"); // Matrícula do usuário
destinatarios.add("[email protected]"); // E-mail externo
//Envia e-mail
notifier.notify(matriculaRemetente, templateCode, parametros, destinatarios, "text/html");
} catch(e) {
log.info(e);
} |
arem, é necessário que tenha sido feita a configuração de envio de e-mail.
Sintaxe
Bloco de código | ||||
---|---|---|---|---|
| ||||
notifier.notify(sender, template, params, receivers, mimeType);
notifier.notify(sender, cardId, template, params, receivers, mimeType); |
Parâmetros
sender
Uma string contendo a matrícula (código do usuário) do usuário que será usado como remetente do e-mail caso não tenha sido configurado o remetente padrão na configuração de e-mail. Caso tenha sido configurado o remetente padrão, essa parâmetro será ignorado.
cardId
O código do registro de formulário vinculado à este e-mail. Informar o código do formulário adiciona alguns parâmetros adicionais que podem ser usados nos templates de e-mail:
Parâmetro | Descrição |
---|---|
WDK_CardContent | Conteúdo HTML do formulário (simula a visualização) |
WDK_DocumentAuthor | Nome do Autor |
WDK_DocumentComments | Comentário adicional |
WDK_DocumentDescription | Descrição do formulário |
WDK_DocumentIconImage | Imagem do ícone do formulário |
WDK_DocumentNumber | Número do formulário |
WDK_DocumentUpdatedDate | Data de atualização do formulário |
WDK_DocumentVersion | Versão do formulário |
WDK_DocumentViewLink | Link para acesso ao formulário |
template
Uma string informando o código do template de e-mail que está sendo enviado. É o código usado no cadastro de template de e-mail.
params
É um mapa de dados que permite
...
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.
No exemplo que foi apresentado acima está sendo validado se o template é o TPLPROCESS_NEW_STATE_TO_MANAGER (que corresponde a Notificação do Gestor), em caso positivo, um novo e-mail será adicionado na lista de destinatários. Ou seja, além do gestor do processo, outra pessoa será notificada, recebendo uma cópia do e-mail que o gestor irá receber. Como está sendo validado o código do template, os demais tipos de e-mail não serão afetados.
Os templates podem ser consultados dentro do diretório do volume, em: <VOLUME>\templates\tplmail. Se for necessário adicionar algum parâmetro no e-mail padrão, os templates podem ser editados diretamente nesse diretório.
Envio de E-mail Personalizado
Caso seja necessário incluir um novo tipo de e-mail, além daqueles que são disponibilizados pelo produto, a plataforma Fluig permite que o usuário cadastre templates de e-mails personalizados, através da opção Templates de Emails presente na aba Gerais do Painel de Controle.
Para incluir um novo Template, basta acionar a opção Adicionar no menu e preencher os dados solicitados. Nesta etapa também deve ser feito upload do arquivo de template.
Para adicionar parâmetros dentro de um arquivo de template (TXT ou HTML), deve-se utilizar a seguinte notação:
Sem Formato |
---|
${NOME_DO_PARAMETRO} |
Neste caso, será utilizado o identificador "NOME_DO_PARAMETRO" durante a personalização para atribuir um valor a este parâmetro. Os templates disponíveis no volume da empresa (<VOLUME>\templates\tplmail) podem ser consultados para mais exemplos de utilização de parâmetros.
...
Além dos parâmetros de uso no template, também pode ser adicionado a chave "subject" que será usado como assunto do e-mail. Caso não seja informado nada, o assunto do e-mail será "Fluig"
Por padrão, são adicionados dois parâmetros em todas as notificações e eles podem ser usados no template de e-mail:
Parâmetro | Descrição |
---|---|
WDK_VirtualDir | Diretório Virtual |
WDK_AdviceUser | Nome do colaborador remetente |
receivers
Uma lista de strings com os códigos dos usuários para quem o e-mail será enviado ou os e-mails dos destinatários. Essa lista pode conter códigos de usuários e e-mails externos simultaneamente.
mimeType
Uma string que especifica o tipo de mídia do conteúdo do e-mail. Normalmente, usa-se "text/html" mas existe também a opção "text/plain".
Exemplos
Envio de e-mail configurando alguns parâmetros
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
try{ //Monta mapa com parâmetros do template { var matriculaRemetente = "admin"; var templateCode = "MeuTemplate"; var parametros = new java.util.HashMap(); parametros.put("NOME_USUARIO", "JOAO"); // Este parâmetro é obrigatório e representa o assunto do e-mail parametros.put("CODIGO_USUARIOsubject", "01Consulte nossa documentação"); //Este parâmetroMonta émapa obrigatóriocom eparâmetros representado o assunto do e-mailtemplate parametros.put("documentacao", "https://tdn.totvs.com/display/fluig/"); parametros.put("subjectdescricao", "ASSUNTO01"); // Monta lista de destinatários var destinatarios = new java.util.ArrayList(); destinatarios.add("matriculaUsuario"); // Matrícula do usuário destinatarios.add("CODIGO-DESTINATARIO[email protected]"); // E-mail externo //Envia e-mail notifier.notify("MATRICULA-REMETENTE"matriculaRemetente, "CODIGO-TEMPLATE"templateCode, parametros, destinatarios, "text/html"); } catch(e) { log.info(e); } |
Informações | ||
---|---|---|
| ||
O envio de dados de formulário na primeira atividade, somente irá funcionar se utilizado os scripts beforeStateEntry e afterStateEntry. |
Onde:
...
Envio de e-mail informando um formulário
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
try { var matriculaRemetente = "admin"; var templateCode = "MeuTemplate"; var codigoForm = 85; var parametros = new java.util.HashMap |
...
(); parametros.put("subject", "Informações sobre o cadastro"); // Monta lista de destinatários var destinatarios = new java.util.ArrayList() |
...
;
destinatarios.add("matriculaUsuario"); // Matrícula do usuário
//Envia e-mail
notifier.notify(matriculaRemetente, codigoForm, templateCode, parametros, destinatarios, "text/html");
} catch(e) {
log.info(e);
} |
Pontos de atenção
Envio de mensagens para e-mails externos
...
Para que o envio de e-mails externos seja concluído corretamente o servidor SMTP responsável deve estar habilitado para enviar e-mails para fora da intranet do seu servidor.
Outra forma de executar o método de envio de email é informando o número do registro de formulário, conforme exemplo:
Bloco de código | ||||
---|---|---|---|---|
| ||||
notifier.notify("MATRICULA-REMETENTE", NUMERO DO REGISTRO DO FORMULARIO, "CODIGO-TEMPLATE", parametros, destinatarios, "text/html"); |
Ao executar este método, automaticamente os parâmetros abaixo serão adicionados na lista de parâmetros e podem ser utilizados no template:
...
Envio de dados de um formulário via solicitação
Pode-se usam os eventos de personalização do processo para envio de e-mails.
Porém, quando tenta enviar os dados de um formulário na primeira atividade do processo, você deve chamar a notificação no método beforeStateEntry ou afterStateEntry. Caso contrário, com o formulário ainda não foi criado na tabela de dados, esse envio não irá funcionar
...
title | Atenção! |
---|
...
.