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 Ação: Requisição HTTP Quais os tipos de contéudo suportados pelo Builder? Como funciona a distribuição de tickets Criando mensagens interativas