v.6.0 - Robô para envio de email
Esta página tem como objetivo exemplificar o funcionamento de um robô simples para envio de e-mail customizado, com dados de processos, disponibilizado no marketplace. Para isso, utilizaremos a biblioteca RotasOpenAPI, disponibilizada pelo time de Operações da Lecom.
Arquivo de Configurações (application.properties
)
Na pasta resources
, encontra-se o arquivo application.properties
. Nele, devem ser configurados os seguintes dados:
Domínio da plataforma,
API Key do usuário, e
Informações do processo a ser consultado.
Dados do e-mail:
Assunto do e-mail.
E-mail de origem e destinatário.
Parâmetro “true“ ou “false”, definindo se será e-mail com formatação HTML (utilizar true para exemplo do template).
Mensagem utilizado no exemplo do template a ser adicionado ao corpo do e-mail.
Exemplo de configuração:
DOMAIN=<DOMINIO DA PLATAFORMA>
API_KEY=<CHAVE OPEN API DO USUAIRO>
CODIGO_PROCESSO=<CODIGO DO PROCESSO>
VERSAO_PROCESSO=<VERSAO DO PROCESSO>
NOME_ATIVIDADE=<NOME DA ATIVIDADE PARA CONSULTA>
ASSUNTO=<ASSUNTO PARA PREENCHIMENTO NO EMAIL>
DESTINATARIO=<EMAIL DE DESTINO>
ORIGEM=<EMAIL DE ORIGEM>
EMAIL_HTML=<DEFINE SE EMAIL SERA FORMATADO EM HTML (true/false). TRUE PARA EXEMPLO DESTE TEMPLATE>
MENSAGEM_PADRAO=<MENSAGEM A SER ADICIONADO AO INICIO DO EMAIL POR PADRAO>
RotasOpenAPIConfig
A classe RotasOpenAPIConfig
deve ser configurada com os valores definidos no arquivo application.properties
. Isso permite a autenticação com o OpenAPI em todas as requisições realizadas.
Exemplo:
RotasOpenAPIConfig.setDomain(config.getDomain());
RotasOpenAPIConfig.setCredentials(config.getApiKey());
RotasOpenAPI
Utilizamos a classe RotasOpenApi
para consultar os processos pendentes associados ao usuário atual em uma atividade específica.
// Busca processos pendentes para envio de email
ResponseOpenApi<List<ProcessosPendentesUser>> processosPendentes = RotasOpenApi
.processo()
.buscarProcessosPendentes()
.porCodigoProcesso(Integer.valueOf(config.getCodigoProcesso()))
.porVersaoProcesso(Integer.valueOf(config.getVersaoProcesso()))
.porNomeAtividade(config.getNomeAtividade())
.executar();
Iteramos sobre os resultados obtidos e, para cada processo, recuperamos os dados do processo. Esses dados incluem informações como o nome do modelo do processo:
Além disso, também extraímos os dados específicos da atividade, permitindo o acesso aos valores dos campos da atividade atual:
Na classe EmailUtil
, substituímos os valores pré-definidos no template de e-mail localizado na pasta resources
do projeto pelos dados obtidos do processo e da atividade:
Finalmente, realizamos o envio do e-mail utilizando a classe WFMail
:
Conclusão
Este exemplo demonstrou o funcionamento do template disponibilizado pelo Marketplace para a automação do envio de e-mail customizado com dados de processos. É importante ressaltar que este é um modelo básico. Após a inclusão deste template na sua plataforma, ele deve ser ajustado conforme as necessidades do seu cenário específico.