Mailrelay v3 Webhooks para conectar con sistemas externos

Mailrelay , Invited guest @ Mailrelay

Recientemente hemos añadido una nueva funcionalidad a la nueva versión de Mailrelay, los webhooks.

Los webhooks permiten realizar conexiones en tiempo real con sistemas externos, y actualmente hay posibilidad de definir:

  1. Cuando un suscriptor se añade a un grupo
  2. Cuando se elimina del grupo
  3. O cuando se da de baja

¿Para que nos pueden servir estos webhooks?

Te pongo un ejemplo muy sencillo, imagina que tu empresa gestiona todos los contactos, clientes, en un CRM propio donde tiene todos sus datos, compras anteriores, etc. Y para enviarles las campañas de email, exportan estos contactos y los importan a Mailrelay, desde donde envían.

El problema, hasta ahora, era que, aunque en Mailrelay los contactos pueden darse de baja a través de los enlaces en la newsletter, para darlos de baja del CRM (u otro sistema externo) había que utilizar el API o hacerlo de forma manual.

Con la nueva opción de webhooks es más fácil enviar una petición y gestionarla mediante programación desde el lado del CRM.

En este post vamos a ver como definir y probar el funcionamiento de los webhook.

· Definiendo un webhook para las bajas

Los webhooks se definen en la sección de Automatizaciones:

webhooks y automatizaciones Mailrelay v3

Una vez en esta sección, crearemos una nueva automatización:

nueva automatización para definir un webhook

La automatización que vamos a crear es de tipo «personalizado» (la otra opción es la de cumpleaños, pero esa no nos interesa ahora):

crear un webhook con Mailrelay

A partir de aquí tendremos que realizar la definición básica de la automatización.

Vamos a comentar los parámetros más importantes después de la siguiente imagen:

definición de automatizaciones mailrelay v3

Tenemos estas opciones:

  1. Nombre: este es solo el nombre interno del trigger, puedes llamarlo como prefieras
  2. Todos los suscriptores: podríamos definir un grupo concreto, pero para este ejemplo selecciono a todos

Tras definir esos puntos tendremos que «Añadir trigger», para definir la acción que desencadenará el evento.

Elegiremos la opción de «Actividad Del Suscriptor»:

webhook por actividad del suscriptor

Dentro de todas las opciones de actividad del suscriptor tenemos:

evento de baja de los contactos

Utilizaremos el evento de cancelación de la suscripción, que es el que nos interesa en este momento, pero sería posible definir eventos para cuando se añade un suscriptor a un grupo, o es eliminado (sin hacer baja) de un grupo:

webhook baja de un grupo

Al trigger le añadiremos el nombre que deseemos y, algo importante:

  1. Webhook url: es decir, la URL a la que se va a enviar la petición, cuando se curse una baja de un contacto.
  2. La petición se envía en el array GET normalmente, no en el POST

La URL destino del webhook es una URL de nuestra web donde podemos recibir la información enviada por Mailrelay, con información del contacto que ha realizado la baja, y tratar dicha información de la forma que necesitemos.

Una vez hecho eso te queda Validar y aplicar:

validar y aplicar webhook

Y ya por último, para crear todo el automatismo, hacer click en el botón «crear automatización»:

crear automatización

De esa forma ya estaría todo listo, y solo queda que desde el lado del CRM o software se gestionen las llamadas que serán lanzadas cuando ocurra alguna baja.

· Probando el webhook con herramientas de test

Es posible que desees probar el webhook sin tener todavía la programación del lado de tu software, para ello puedes utilizar un servicio como el de RequestBin:

requestbin

En esta pantalla solo tienes que hacer click en el botón «Create a RequestBin», te recomiendo también que lo crees de forma privada.

Una vez hecho eso, verás una pantalla similar a la siguiente:

requestbin url

Puedes copiar esa URL, y pegarla cuando estés creando el webhook:

creando un webhook de prueba

Solo tenemos que poner la URL en la casilla del formulario, y luego podemos lanzar una prueba desde el botón «Webhook de prueba»:

lanzamiento de webhook de prueba

Si aceptamos el mensaje el webhook se enviará, y podremos ver la petición en RequestBin:

requestbin

Es una petición de ejemplo, pero guarda la misma estructura que una petición real:

{«unsubscribe_event»:{«source»:»web»,»ip»:»192.168.1.1″,»email»:»[email protected]»,»reason»:null,
«description»:null,»created_at»:»2019-06-14T10:48:41.510+02:00″},
«time»:»2019-06-14T10:48:41.511+02:00″,»automation_trigger_id»:0,»subscriber»:{«id»:null,»email»:»[email protected]»,
«name»:null,»score»:null,»status»:»inactive»,
«subscribed_at»:null,»subscribed_with_acceptance»:false,»subscribe_ip»:null,
«unsubscribed»:false,»unsubscribed_at»:null,»unsubscribe_ip»:null,
«unsubscribe_sent_email_id»:null,»address»:null,»city»:null,»state»:null,
«country»:null,»birthday»:null,»website»:null,»bounced»:false,»reported_spam»:false,
«local_ban»:false,»global_ban»:false,»created_at»:»2019-06-14T10:48:41.507+02:00″,»updated_at»:»2019-06-14T10:48:41.507+02:00″,
«custom_fields»:{}}}

De forma que puedes conocer esa estructura para tratarla en tu sistema.

También puedes realizar peticiones reales si guardas el automatismo, y generas una baja real.

Esas las verás en RequestBin pero ya con la información real del contacto.

Automatizaciones al añadir el contacto y cambio de grupo

· Automatizaciones al añadir el contacto y cambio de grupo

Hasta ahora hemos hablado de crear un trigger para la baja, pero también existen otras acciones, como cuando se añade un nuevo contacto, es decir, cuando se registra un nuevo contacto.

La diferencia es que en estos casos, al contrario que en la baja tenemos opción de enviar un email también en respuesta, por lo tanto el webhook aparece en un desplegable:

webhook añadir contacto

Realmente esta es la única diferencia, pues por lo demás se comporta exactamente igual.

Ten en cuenta que dentro de una automatización, puedes crear todos los triggers que necesites. Así que puedes tener un trigger que mande un email al contacto cuando se registre, y otro trigger que envíe un webhook, no hay problema.

Esperamos que esta nueva funcionalidad te sea de utilidad.

Comentarios

  1. Hola, buenas tardes. Hay una manera de ¿recibir un webhook desde otra plataforma por ejemplo para agregar un nuevo contacto y agregarlo a un grupo?
    En el ejemplo solo es para enviar webhook pero no para recibir.
    Muchas gracias.
    Un Saludo!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *