Como enviar email pelo bot através do Builder Take Blip 12 de fevereiro de 2021 13:12 Atualizado Enviar um email é uma tarefa comum para quem está desenvolvendo um bot. Email de controle, alertas ou confirmação de informações são alguns dos cenários comuns para essa demanda. O Blip abstrai todo o processo de envio e recebimento de emails para o seu bot. Qual é o email do meu bot? No Blip, todo chatbot já possui, automaticamente, um email. Este email é formado sempre pelo identificador do bot + @blip.bot. Assim, um bot criado com o identificador "mailgunportal", terá um email mailgunportal@blip.bot. Para saber exatamente qual é o email do seu bot acesse no Portal o módulo Canais > Email, conforme imagem abaixo: Como enviar um email utilizando o Builder? Para enviar um email no Builder é bem simples, basta realizar uma requisição HTTP para a API interna do BLiP. Antes de enviar o email pense em qual o melhor momento do fluxo da conversa para fazer essa operação. Para exemplificar, vamos imaginar que seu bot faz a coleta de informações de possível leads em uma empresa. Em algum ponto do fluxo você precisará enviar um conteúdo em troca das informações obtidas dos usuários. Esse é um momento interessante para enviar um email, por exemplo. Após definido em qual ponto do fluxo o email será disparado, acesse o bloco correspondente e crie uma ação de Requisição HTTP (entrada ou saída, de acordo com o seu contexto) para a API do Blip com as seguintes informações: Nome da ação: Envio de email confirmação Método da requisição: POST URL: https://http.msging.net/messages Cabeçalhos: Key: Authorization Value: Key API-KEY-BOT Corpo: JSON com uma mensagem, de acordo com o protocolo LIME, com o tipo desejado (veja aqui todas as opções de conteúdos). { "to":"xpto%40xpto.com@mailgun.gw.msging.net", "type":"text/plain", "content":"Olá {{contact.name}}, acesse seu ebook no link {{link}}" } Repare que o destinatário do email deve ser informado no campo to do JSON que será enviado para a API do BLiP (destacado em azul). Neste exemplo, o email do destinatário é: xpto@xpto.com. Como todo Node do LIME possui o caracter @, é preciso subsituir o @ do email por seu código ASCII correspondente (%40). Além do email do destinatário é preciso identificar o canal de email (@mailgun.gw.msging.net), para que o BLiP saiba enviar sua mensagem corretamente. Para enviar um email para abcdef@foo.bar o campo to do JSON será: abcdef%40foo.bar@mailgun.gw.msging.net Além de montar a mensagem que será enviada por email e o seu respectivo destinatário, você precisará também da API-KEY-BOT. Para saber onde encontrar a API key do seu bot clique aqui. Observação: Atualmente o canal de email suporta apenas o tipo de conteúdo texto. Como enviar um email utilizando um dos SDKs? Para enviar um email através de um dos SDKs dos BLiP é muito fácil, basta enviar uma mensagem, conforme o exemplo abaixo lembrando de substituir no campo to o email do destinatário. Exemplo: Enviando um email para xpto@xpto.com com o conteúdo "Hello World": SDK JS client.sendMessage({ id: Lime.Guid(), type: "text/plain", to: "xpto%40xpto.com@mailgun.gw.msging.net", content: "Hello World" }); SDK C# using System; using System.Collections.Generic; using System.Threading; using System.Threading.Tasks; using Lime.Messaging.Contents; using Lime.Protocol; using Take.Blip.Client; //Replying a received message with a simple text message. public class PlainTextMessageReceiver : IMessageReceiver { private readonly ISender _sender; private readonly Settings _settings; public PlainTextMessageReceiver(ISender sender, Settings settings) { _sender = sender; _settings = settings; } public async Task ReceiveAsync(Message message, CancellationToken cancellationToken) { var document = new PlainText {Text = "Welcome to our service! How can I help you?"}; await _sender.SendMessageAsync(document, Node.Parse("xpto%40xpto.com@mailgun.gw.msging.net"), cancellationToken); } } Artigos relacionados Como enviar notificações WhatsApp via API do Blip Quais os tipos de contéudo suportados pelo Builder? Variáveis do Builder Texto rotativo com spintax Como gerenciar filas de atendimento no Blip Desk