Índice:
Enviar un email es una tarea común para cualquier persona que esté desarrollando un bot. Los emails de control, alertas o confirmación de información son algunos de los escenarios habituales para esta demanda. Blip abstrae todo el proceso de envío y recepción de email de tu bot.
¿Cuál es el email de mi bot?
En Blip, a cada chatbot se le asigna un email de forma automática. Este email siempre está formado por el identificador del bot + @blip.bot. De esa forma, un bot creado con el identificador mailgun, tendrá un email mailgun@blip.bot.
Para saber exactamente cuál es el email de tu bot, ve al Portal y selecciona el módulo Canales> Email, como se muestra en la siguiente imagen:
¿Cómo envío un email usando Builder?
Enviar un email en Builder es muy sencillo, basta con realizar una solicitud HTTP a la API interna de Blip. Antes de enviar el email piensa en el mejor momento del flujo de conversación para realizar esta operación.
Por ejemplo, imaginemos que tu bot recopila información de posibles clientes potenciales en una empresa. En algún momento del flujo, deberás enviar contenidos a cambio de la información que queremos obtener de los usuarios. Este es un momento ideal para enviar un email.
Luego de definir en qué punto del flujo se disparará el email, dirígete al bloque correspondiente y crea una acción de Solicitud HTTP (entrada o salida, según el contexto) para la API Blip con la siguiente información:
- Para saber dónde encontrar la clave API de tu bot, haz clic aquí
Nombre de la acción: envío de email de confirmación
Método de solicitud: POST
Nota: Use la URL con la identificación del contrato para consumir los puntos finales informados a continuación, su rendimiento y operación pueden verse afectados si no tiene la identificación del contrato, por lo que es esencial usar la URL con la identificación del contrato para usar las solicitudes http. |
URL: https://{{contractid}}.http.msging.net/messages
Encabezados:
-
Key: Authorization
-
Value: Key API-KEY-BOT
-
Cuerpo: JSON con un mensaje, según el protocolo LIME, con el tipo deseado (observa aquí todas las opciones de contenido).
{
"to":"xpto%40xpto.com@mailgun.gw.msging.net",
"type":"text/plain",
"content":"Olá {{contact.name}}, acesse seu ebook no link {{link}}"
}
Ten en cuenta que el destinatario del email debe estar informado en el campo “to do JSON” que será enviado a la API de Blip (resaltado en azul). En este ejemplo, el email del destinatario es: xpto@xpto.com.
Como cada Node de LIME tiene el carácter @, es necesario reemplazar el @ en el email con el código ASCII correspondiente (% 40). Además del email del destinatario, debes identificar el canal del email (@mailgun.gw.msging.net), para que Blip sepa cómo enviar tu mensaje correctamente.
Para enviar un email a abcdef@foo.bar, el campo to do JSON será: abcdef%40foo.bar@mailgun.gw.msging.net
Además de armar el mensaje que se enviará por email y su respectivo destinatario, también necesitarás el API-KEY-BOT.
Nota: actualmente el canal de email solo admite el tipo de contenido de texto.
¿Cómo envío un email electrónico usando uno de los SDK?
Enviar un email a través de uno de los SDK de Blip es muy fácil, simplemente envía un mensaje, como el ejemplo a continuación, recordando reemplazar en el campo el email del destinatario.
Ejemplo:
Enviando un email a xpto@xpto.com con el contenido "Hello World":
SDK de JS
client.sendMessage({
id: Lime.Guid(),
type: "text/plain",
to: "xpto%40xpto.com@mailgun.gw.msging.net",
content: "Hello World"
});
SDK de 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);
}
}