Como enviar email pelo bot através do Builder 26 de maio de 2023 20:20 Atualizado índice: Qual é o e-mail do meu bot? Como enviar um e-mail utilizando o Builder? Como enviar um e-mail utilizando um dos SDKs? Enviar um e-mail é uma tarefa comum para quem está desenvolvendo um bot. E-mail 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 e-mails para o seu bot. Qual é o e-mail do meu bot? No Blip, todo chatbot já possui, automaticamente, um e-mail. Este e-mail é formado sempre pelo identificador do bot + @blip.bot. Assim, um bot criado com o identificador "mailgunportal", terá um e-mail mailgunportal@blip.bot. Para saber exatamente qual é o e-mail do seu bot acesse no Portal o módulo Canais > E-mail, conforme imagem abaixo: Como enviar um e-mail utilizando o Builder? Para enviar um e-mail no Builder é bem simples, basta realizar uma requisição HTTP para a API interna do BLIP. Antes de enviar o e-mail 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 e-mail, por exemplo. Após definido em qual ponto do fluxo o e-mail 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: Para saber onde encontrar a API key do seu bot clique aqui. Nome da ação: Envio de e-mail confirmação Método da requisição: POST Observação: Utilize a url com id do contrato para consumir os endpoints informados abaixo, sua performance e funcionamento podem ser impactados caso não esteja com id do contrato, portanto, é fundamental utilizar a url com o id do contrato para utilizar as requisições http! URL: https://{{contractid}}.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 e-mail deve ser informado no campo to do JSON que será enviado para a API do BLIP(destacado em azul). Neste exemplo, o e-mail do destinatário é: xpto@xpto.com. Como todo Node do LIME possui o caráter @, é preciso substituir o @ do e-mail por seu código ASCII correspondente (%40). Além do e-mail do destinatário é preciso identificar o canal de e-mail (@mailgun.gw.msging.net), para que o BLIP saiba enviar sua mensagem corretamente. Para enviar um e0mail 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 e-mail e o seu respectivo destinatário, você precisará também da API-KEY-BOT. Observação: Atualmente o canal de e-mail suporta apenas o tipo de conteúdo texto. Como enviar um e-mail utilizando um dos SDKs? Para enviar um e-mail 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 e-mail 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); } } Para mais informações, acesse a discussão sobre o assunto em nossa comunidade ou os vídeos no nosso canal. 😃 Artigos relacionados Como encontrar a API-KEY do meu bot? Como interagir com os usuários através do email Variáveis do Builder O que é o WhatsApp Flows? Mensagens Ativas - Códigos de erro