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 Condições de saída do Builder Como interagir com os usuários através do email Como salvar informações de um contato Criando mensagens interativas no WhatsApp Como verificar se existe atendente disponível no Builder