Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.


01. DADOS GERAIS

Produto:

TOTVS Saúde Planos

Solucoes_totvs
Solucao

Solucoes_totvs_cross
SolucaoCross

Solucoes_totvs_parceiros
SolucaoParceiros

Solucoes_totvs_parceirosexptotvs
SolucaoParcsExpsTOTVS

Linha de Produto:

Linha Protheus 

Linhas_totvs

Segmento:

Saúde

Segmentos_totvs
Segmento

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:

Image Added

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.

Image Added

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.


Image Added

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
languagec#
themeEmacs
titleExemplo
linenumberstrue
#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
languagexml
themeEmacs
titleExemplo
linenumberstrue
<!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
languagexml
themeEmacs
titleExemplo
linenumberstrue
<!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 seu planotenha deefetuado saúdeo foipagamento,
 bloqueado devido
      pedimos a àgentileza inadimplência.de Conformedesconsiderar aesta Resoluçãomensagem.
 Normativa  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  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
nameTeste de E-mail.mp4
height250
Image Removed

04. DEMAIS INFORMAÇÕES

Atualização do Dicionário de Dados

inclusão de itens da tabela BZD no Arquivo SX3:

...

TabelaBZF
ModoCompartilhado
Modo UnidadeExclusivo
Modo EmpresaExclusivo
Chave ÚnicaBZF_FILIAL + BZF_IDBZD + BZF_FUNCFG
Nome 

Funcoes do Config. de email

Card documentos
InformacaoAs 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.
TituloImportante

05. ASSUNTOS RELACIONADOS

        Não se aplica



Templatedocumentos

...