Histórico da Página
01. DADOS GERAIS
| Produto: | TOTVS Saúde Planos
| ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Linha de Produto: | Linha Protheus | ||||||||||||||||
| Segmento: | Saúde | ||||||||||||||||
| Módulo: | GESTÃO DE CONTRATOS / FAMÍLIAS | ||||||||||||||||
| Função: | CONFIGURADOR GERENCIADOR DE EMAIL | ||||||||||||||||
| Issue : | DSAUBE-26611 |
02. SITUAÇÃO/REQUISITO
Houve a necessidade de criar uma rotina automatizada para envio de e-mails, garantindo mais eficiência na comunicação e padronização das mensagens enviadas pelo sistema. Durante o processo, identificou-se a importância de permitir a configuração de eventos para disparo automático, assegurando que as notificações sejam enviadas de forma precisa e oportuna.
03. SOLUÇÃO
Configurador de E-mails
Personalização de Envio de E-mails
Introdução
O configurador de e-mails é uma ferramenta que permite configurar dados de e-mails utilizados como remetentes em diversas rotinas. Ideal para clientes que desejam personalizar e-mails.
Funcionalidades
Entre as principais funcionalidades do configurador de e-mails, destacam-se:
Layouts em HTML e CSS
Criação de layouts específicos em HTML e CSS para cada configuração.
Configuração de Remetentes
Permite configurar diferentes remetentes para rotinas diferentes ou para uma mesma rotina levando em consideração a operadora, empresa, contrato e subcontrato.
Personalização do Corpo do E-mail
Personaliza o envio de e-mails para diferentes rotinas ou para uma mesma rotina com base na operadora, empresa, contrato e subcontrato.
...
Tela de configuração de e-mail:
1 - Título Conf. - Título de identificação do Gerenciador de E-mail.
2 - Usu. Conta / Senha - Dados do e-mail remetente que irá enviar o E-mail.
3 - Autentica? - ComboBox que se marcado com Sim deverá ter os dados do Passo 4 como obrigatório.
4 - Usuario Aut. / Senha Aut. - Usuário de e-mail com dados de autenticação e token de autenticação para liberar o envio de E-mail.
5 - Remetente - Remetente que será enviado o E-mail.
6 - SMTP / Porta - SMTP do E-mail que está sendo configurado como Rementente (No exemplo estamos utilizando Gmail) e a Porta que deve ser usada conforme seleção do Passo 7 (No exemplo, utilizamos a porta SSL).
7 - Utiliza TLS? / Utiliza SSL? - Uma das duas deve estar como Sim para poder fazer a conexão com o SMTP e deverá ser configurado conforme informações do Passo 6.
8 - Assun. Email - Assunto que irá aparecer no E-mail que será enviado.
9 - Func. Dados - Função de dados para extrair informações da rotina para preencher o E-mail conforme tópico Função de Dados Exemplo.
10 - Corpo E-mail - Dados do HTML e CSS para personalizar o E-mail que será enviado conforme tópico Código exemplo de HTML para geração do E-mail.
11 - Funcao Conf. - Função que chamará esse Gerenciador de E-mail(No Exemplo está sendo chamado ao Bloquear um Beneficiário).
Função de Dados Exemplo:
| Bloco de código | ||||||||
|---|---|---|---|---|---|---|---|---|
| ||||||||
#INCLUDE "Totvs.ch"
function dados()
Local cCompHtml := ""
oJErrorData := JsonObject():New()
cCompHtml += "<tr>"
cCompHtml += " <td>" + AllTrim(BA1->BA1_NOMUSR) + "</td>"
cCompHtml += " <td>" + DTOC(BA1->BA1_DATINC) + "</td>"
cCompHtml += " <td>" + DTOC(BA1->BA1_DATBLO) + "</td>"
cCompHtml += "</tr>"
oJErrorData["1"] := BA1->BA1_NOMUSR
oJErrorData["2"] := BA1->(BA1_CODINT+BA1_CODEMP+BA1_MATRIC+BA1_TIPREG+BA1_DIGITO)
oJErrorData["3"] := BA1->BA1_EMAIL
oJErrorData["4"] := BA1->BA1_TELEFO
oJErrorData["5"] := cCompHtml
Return oJErrorData |
Código exemplo de HTML para geração do E-mail
| Bloco de código | ||||||||
|---|---|---|---|---|---|---|---|---|
| ||||||||
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<style>
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
background-color: #f4f4f4;
}
.container {
max-width: 600px;
margin: 40px auto;
padding: 20px;
border-radius: 8px;
background-color: #ffffff; | ||||||||
| Bloco de código | ||||||||
| ||||||||
<!DOCTYPE html> <html lang="pt-BR"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <style> body { fontbox-familyshadow: Arial, sans-serif0 4px 8px rgba(0, 0, 0, 0.05); } margin: 0; .header, padding: 0;.footer { background-color: #f4f4f4#6c9ebd; } .container { max-widthcolor: 600px#ffffff; margintext-align: 40px autocenter; padding: 20px10px; border-radius: 8px 8px 0 0; } background-color: #ffffff; .footer { boxborder-shadowradius: 0 0 4px8px 8px rgba(0, 0, 0, 0.05); ; margin-top: 20px; }font-size: 14px; .header,} .footerh2 { backgroundtext-coloralign: #6c9ebdcenter; color: #ffffff#333; } text-align: center;.info { padding: 10px 0; borderfont-radius: 8px 8px 0 0size: 16px; color: #555; } .footerinfo strong { border-radiuscolor: 0#222; 0 8px 8px; } margin-top: 20px;table { font-sizewidth: 14px100%; } h2 {border-collapse: collapse; textmargin-aligntop: center20px; color: #333;} }th, .infotd { paddingborder: 1px 10pxsolid 0#ddd; font-sizepadding: 16px12px; colortext-align: #555left; } .info strong {th { background-color: #6c9ebd; color: #222#ffffff; } tabletr:nth-child(even) { widthbackground-color: 100%#f9f9f9; } border-collapse: collapse; .company-name { marginfont-topsize: 20px; } th,color: #333; td { border: 1px solid #ddd text-align: center; paddingmargin-bottom: 12px20px; textfont-alignweight: leftbold; } </style> th {</head> <body> background-color: #6c9ebd;<div class="container"> color: #ffffff;<div class="header"> } <h2>Usuario Bloqueado</h2> tr:nth-child(even) { </div> background-color: #f9f9f9;<p class="info"> } <strong>Prezado(a):</strong> ##1, portador .company-name { da matrícula font-size: 20px; <strong>##2</strong> </p> color: #333; <p class="info">Esperamos que esta mensagem text-align: center;o(a) encontre bem.</p> margin-bottom: 20px;<p class="info"> font-weight: bold; } </style> </head> <body> Verificamos em nosso sistema que seu plano de saúde foi bloqueado devido <div class="container"> à inadimplência. Conforme a <div class="header"> Resolução Normativa nº 593 da ANS (Agência <h2>Usuario Bloqueado</h2> Nacional de </div> <p class="info">Saúde Suplementar), o contrato pode ser suspenso ou <strong>Prezado(a):</strong> @@1, portador da matrícula <strong>@@2</strong>rescindido caso haja atraso superior a 60 dias, consecutivos ou não. </p> <p class="info">Esperamos que esta mensagem o(a) encontre bem.</p> <p class="info">> Para restabelecer seus serviços de assistência à saúde, é necessário Verificamosregularizar emos nossodébitos sistemapendentes. queCaso seujá planotenha deefetuado saúdeo foipagamento, bloqueado devido pedimos a àgentileza inadimplência.de Conformedesconsiderar aesta Resoluçãomensagem. Normativa nº 593 da ANS (Agência</p> <p class="info"> Nacional de Saúde Suplementar), o contrato pode serEstamos suspensoà ou disposição para auxiliá-lo(a) no que for necessário. rescindido caso haja atraso superior</p> a 60 dias, consecutivos ou não.<table> </p> <thead> <p class="info"> <tr> Para<th>Nome</th> restabelecer seus serviços de assistência à saúde, é necessário <th>Data de Inclusão</th> regularizar os débitos pendentes. Caso já tenha efetuado o pagamento, <th>Data de Bloqueio</th> pedimos a gentileza de desconsiderar</tr> esta mensagem. </p>thead> <p class="info"> <tbody> Estamos ##5 à disposição para auxiliá-lo(a) no que for necessário.</tbody> </p>table> <div class="footer"> <p> Entre em contato conosco para mais informações.<br />Email: @@3##3 | Telefone: @@4##4 </p> </div> </div> </body> </html> |
Testando funcionalidade conforme HTML e dados criados:
| View file | ||||
|---|---|---|---|---|
|
04. DEMAIS INFORMAÇÕES
Atualização do Dicionário de Dados
inclusão de itens da tabela BZD no Arquivo SX3:
...
| Tabela | BZF |
| Modo | Compartilhado |
| Modo Unidade | Exclusivo |
| Modo Empresa | Exclusivo |
| Chave Única | BZF_FILIAL + BZF_IDBZD + BZF_FUNCFG |
| Nome | Funcoes do Config. de email |
Card documentos Informacao As alterações de dicionário referente a essa implementação estarão disponíveis através de pacote de expedição contínua do plano de saúde com data igual ou superior 27/03/2025. Titulo Importante
| Informacao | As alterações de dicionário referente a essa implementação estarão disponíveis através de pacote de expedição contínua do plano de saúde com data igual ou superior 27/03/2025. |
|---|---|
| Titulo | Importante |
05. ASSUNTOS RELACIONADOS
Não se aplica
| Templatedocumentos |
|---|
...



