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, verificando que existe uma nova mensagem, registra um ticket automaticamente. É importante destacar que após o registro do ticket, o e-mail é marcado como lido.
Os tickets serão lidos de acordo com a pasta da caixa de entrada, que deve ser configurada, e quaisquer e-mails não lidos dentro dessa pasta serão utilizados para abertura do ticket. Também é possível mover um email não lido de outra pasta para a pasta configurada.
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.
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()); }O ticket será criado com o título do E-mail lido.
Regra: Para funcionalidade ser ativada, é necessário que o Título possua 3 elementos: "Ticket - ${IDSOLICITACAOSERVICO}". Os termos podem ser inseridos em qualquer ordem, sem diferenciação de maiúsculas e minúsculas, desde que a string completa possua os três elementos: a palavra Ticket, o sinal de - e um número para ID. Um exemplo que também funcionará: "Abertura - Foi criado o TICKET de número {IDSOLICITACAOSERVICO}"
Comentários
Após a abertura de um ticket por email, um ticket será criado no portfolio configurado, e as informações do corpo do Email serão inseridas no campo de Descrição do ticket.
Exemplo: um email com tabela enviado pelo Outlook.

As informações do email refletidas na descrição do ticket:

Quaisquer comunicações subsequentes pelo mesmo email também serão incluídas no ticket, na seção de Comentários:

Na imagem é possível ver um comentário incluido manualmente pelo sistema, e outro comentário inserido através da ação automática, após o email ser respondido no Outlook.