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: | GERENCIADOR DE EMAIL | ||||||||||||||||
| Issue : | DSAUBE-26611 |
02. SITUAÇÃO/REQUISITO
Foi necessário criar uma rotina automatizada para o envio de e-mails, com o objetivo de tornar a comunicação mais eficiente e padronizar as mensagens geradas pelo sistema.
Durante esse processo, identificou-se a importância de permitir a configuração de eventos para disparo automático, garantindo que as notificações sejam enviadas de forma precisa e no momento adequado.
03. SOLUÇÃO
Gerenciador de Contas de E-
...
O gerenciador de contas de e-mails mail foi desenvolvido para otimizar e automatizar o envio de e-mails de forma rápida, segura e personalizada.
Introdução
Com uma interface intuitiva, o gerenciador de contas de e-mails mail permite a personalização de mensagens com campos dinâmicos. Além disso, pode ser utilizado em customizações das mais simples as mais comprexas.
O gerenciador de contas de e-mails mail também prioriza a segurança, utilizando protocolos de envio confiáveis (como SMTP com autenticação TLS).
Funcionalidades
Entre as principais funcionalidades do gerenciado 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 Econtas de e-mail.
2 - Usu. Conta / Senha - Dados do e-mail remetente que irá enviar o E-mail.
...
- A função de dados deve retornar um objeto JSON onde os atributos devem ser um sequencial de numeral conforme o exemplo no tópico Função de Dados Exemplo.
- Para função de usuário, deve-se inserir a chamada completa U_FuncaoUsuario sem parenteses.
11 - Funcao Conf. - Função que chamará esse Gerenciador de contas de Ee-mail (No Exemplo está sendo chamado ao Bloquear um Beneficiário).
- A função inseridano campo Funcao Conf. não pode ser do tipo static e deverá fazer a chamada da função conforme tópico Função de Configuração.
- Para função de usuário, deve-se inserir a chamada completa U_FuncaoUsuario sem parenteses.
Função de Dados Exemplo:
| Bloco de código | ||||||||
|---|---|---|---|---|---|---|---|---|
| ||||||||
#INCLUDE "Totvs.ch"
function dados()
Local cCompHtml := ""
Local oJEmailData := 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>"
oJEmailData["1"] := BA1->BA1_NOMUSR
oJEmailData["2"] := BA1->(BA1_CODINT+BA1_CODEMP+BA1_MATRIC+BA1_TIPREG+BA1_DIGITO)
oJEmailData["3"] := BA1->BA1_EMAIL
oJEmailData["4"] := BA1->BA1_TELEFO
oJEmailData["5"] := cCompHtml
Return oJEmailData |
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;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
}
.header,
.footer {
background-color: #6c9ebd;
color: #ffffff;
text-align: center;
padding: 10px;
border-radius: 8px 8px 0 0;
}
.footer {
border-radius: 0 0 8px 8px;
margin-top: 20px;
font-size: 14px;
}
h2 {
text-align: center;
color: #333;
}
.info {
padding: 10px 0;
font-size: 16px;
color: #555;
}
.info strong {
color: #222;
}
table {
width: 100%;
border-collapse: collapse;
margin-top: 20px;
}
th,
td {
border: 1px solid #ddd;
padding: 12px;
text-align: left;
}
th {
background-color: #6c9ebd;
color: #ffffff;
}
tr:nth-child(even) {
background-color: #f9f9f9;
}
.company-name {
font-size: 20px;
color: #333;
text-align: center;
margin-bottom: 20px;
font-weight: bold;
}
</style>
</head>
<body>
<div class="container">
<div class="header">
<h2>Usuario Bloqueado</h2>
</div>
<p class="info">
<strong>Prezado(a):</strong> ##1, portador da matrícula
<strong>##2</strong>
</p>
<p class="info">Esperamos que esta mensagem o(a) encontre bem.</p>
<p class="info">
Verificamos em nosso sistema que seu plano de saúde foi bloqueado devido
à inadimplência. Conforme a Resolução Normativa nº 593 da ANS (Agência
Nacional de Saúde Suplementar), o contrato pode ser suspenso ou
rescindido caso haja atraso superior a 60 dias, consecutivos ou não.
</p>
<p class="info">
Para restabelecer seus serviços de assistência à saúde, é necessário
regularizar os débitos pendentes. Caso já tenha efetuado o pagamento,
pedimos a gentileza de desconsiderar esta mensagem.
</p>
<p class="info">
Estamos à disposição para auxiliá-lo(a) no que for necessário.
</p>
<table>
<thead>
<tr>
<th>Nome</th>
<th>Data de Inclusão</th>
<th>Data de Bloqueio</th>
</tr>
</thead>
<tbody>
##5
</tbody>
</table>
<div class="footer">
<p>
Entre em contato conosco para mais informações.<br />Email: ##3 |
Telefone: ##4
</p>
</div>
</div>
</body>
</html> |
Função de Configuração
| Bloco de código | ||||||||
|---|---|---|---|---|---|---|---|---|
| ||||||||
//Código acima // instanciando a classe Gerenciadora de E-mail oemail := totvs.protheus.health.plan.configurator.EmailConfigurator():New() // Chamada do método responsável por fazer todo o processamento de envio de E-mail. // param1 = Cod. do ID do gerenciador, // param2 = email destinatário, // param3 = Diretório de anexos que deseja enviar no email (Pode receber um array de diretórios), // param4 = email que você deseja enviar como cópia ojson := oemail:SendEmailUsingConfigurator(, "[email protected]",, ) //Código abaixo |
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 23/05/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 23/05/2025. |
|---|---|
| Titulo | Importante |
05. ASSUNTOS RELACIONADOS
Não se aplica
| Templatedocumentos |
|---|
...
