Criar um Ticket automaticamente a partir do Recebimento de um E-mail
Esta funcionalidade permite a criação automática de um ticket quando uma mensagem de e-mail é enviada para um determinado endereço. Neste contexto, a solução monitora constantemente a presença de mensagens na caixa de e-mail, e caso alguma mensagem tenha o status não lida, esta será utilizada para registro de um novo ticket.
Por exemplo, um usuário poderia solicitar determinado serviço enviando uma mensagem para [email protected], após o recebimento do e-mail, a funcionalidade, após checar que existe uma mensagem, registra um ticket automaticamente. É importante destacar que após o registro do ticket, o e-mail é marcado como lido.
Antes de começar
Configure uma conta de e-mail para permitir o acesso via IMAP previamente.
Configure a instância para utilização de rotinas batch, uma vez que a verificação de e-mail é uma tarefa agendada.
Procedimento
Passo 1 - Crie um modelo de ticket
Passo 2 - Configue acesso à bandeja de e-mails
- Crie ação automática de e-mail, este cadastro é usado para disparar a leitura e o registro de solicitações (veja Criar ação automática de e-mail).
Passo 3 - Crie uma rotina de verificação (batch)
- Crie rotina batch, (veja Processamento Batch), do tipo "Classe Java" com o seguinte conteúdo:
br.com.centralit.citcorpore.quartz.job.JobConfiguracaoAberturaAutomaticaViaEmail🖊 Nota: É possível ler o título do e-mail enviado, está guardado no campo subject da tabela read email data request.
Além disso, caso haja a necessidade de recuperar outras informações constantes nos campos do e-mail, como destinatários marcados como cópia (CC) ou cópia oculta (BCC) utilize o script Rhino abaixo:
var importNames = JavaImporter(); importNames.importPackage(Packages.br.com.citframework.util); var print = java.lang.System.out; var readEmailDataDTO = serviceRequest.getReadEmailDataDTO(); if (readEmailDataDTO!=null){ print.println("Dados do E-mail de Origem: "); print.println("From: "); print.println(readEmailDataDTO.getMessageFrom()); print.println("To: "); print.println(readEmailDataDTO.getMessageTo()); print.println("CC (Carbon Copy): "); print.println(readEmailDataDTO.getMessageCC()); }