Webhooks de salida
Los webhooks son un mecanismos para permitir que Acumbamail se comunique con una plataforma online de tu propiedad. Básicamente, lo que tienes que hacer es proporcionar una URL que sea capaz de leer los datos que Acumbamail le va a enviar cuando se produzcan determinados eventos. Puedes elegir qué eventos quieres recibir para así provocar menos carga a tu servidor.
Puedes hacer uso de los webhooks con cualquiera de nuestros planes de pago.
En este artículo
Para qué sirven los webhooks
Los webhooks tienen muchas utilidades, la principal es mantener la sincronización entre tu base de datos y Acumbamail. También se pueden utilizar para tener más información sobre el engagement de tus emails en tu CRM, guardando información de qué clientes abren tus emails. Básicamente son lo contrario a una API, en una API puedes realizar llamadas para hacer que se produzcan determinadas acciones. En un webhook recibirás llamadas cuando se produzcan determinadas acciones. Únicamente tienes que crear una URL en tu sistema web que te permita recibir los eventos que Acumbamail va a enviar.
Hay dos tipos de webhooks, los que sirven para email transaccional y los que se utilizan para el envío de campañas. En el caso de las campañas, el webhook se configurará para cada una de las listas, ya que pueden proceder de distintas bases de datos, permitiendo así configurar varios webhooks para una campaña, uno para cada una de las listas a las que se envíe dicha campaña. Los webhooks que se disparan en el caso del email transaccional se configurarán para toda la cuenta completa. A continuación tienes un listado de los eventos que podrás recibir en tus webhooks, no es obligatorio que elijas todos, podrás recibir únicamente los que te resulten de interés. También se indica en la tabla qué webhooks funcionan únicamente en el servicio de campañas y cuáles en el de email transaccional.
Evento | Se dispara cuando | Campañas | Email transaccional |
Alta | Un suscriptor se da de alta en una lista. | Sí | No |
Baja | Un suscriptor se da de baja en una lista | Sí | No |
Hard bounce | Se envía un email a una dirección que no existe | Sí | Sí |
Queja | Un receptor marca un email como correo no deseado | Sí | Sí |
Apertura | Un receptor abre un email | Sí | Sí |
Click | Un receptor hace click en un email | Sí | Sí |
Configurar webhooks para listas
Para configurar un webhook en una lista debes ir al menú de listas dentro de Boletines y elegir una de tus listas. Una vez dentro de la propia lista, debes ir a la pestaña de Avanzado.
La opción de webhooks estará por defecto desactivada, haz clic en Configurar para empezar el proceso. Una vez hecho esto, aparecerá ante ti la página que te permitirá configurar los eventos que se enviarán a tu URL de procesamiento de webhooks. La página es esta:
En ella debes introducir la URL de tu sistema que procesará los webhooks, será la misma para todos los eventos y tendrás que seleccionar los eventos que quieres recibir. Una vez hecho esto, puedes activar o desactivar el webhook cuando lo desees utilizando el botón a continuación. Ten en cuenta que este webhook solamente funcionará para los suscriptores que pertenezcan a la lista, por lo que debes configurarlo en cada una de las listas que quieras sincronizar.
Configurar webhooks para email transaccional
Para configurar los webhooks para el email transaccional, dirígete al apartado de SMTP del menú de la parte izquierda y, una vez desplegado SMTP, debes seleccionar la opción Webhook:
Una vez hecho esto verás una página muy similar a la de listas, que te permitirá introducir la URL de tu sistema que procesará el webhook y, a continuación, seleccionar los eventos que se enviarán a dicha URL y activar el webhook:
Ten en cuenta que en el servicio de email transaccional los eventos que recibirán son menos, ya que el evento de Alta y Baja de suscriptor no tiene sentido en este servicio, al no haber suscriptores.
Cómo procesar un webhook
Cuando se produzca un evento, se realizará una llamada a la URL que hayas configurado, una petición POST. Esta URL debe estar preparada para recibir los eventos, y estos se enviarán en formato JSON, que estará incluido en el cuerpo de la petición que realizaremos. Tienes que tener en cuenta que, si tu volumen de envíos es elevado, recibirás un gran número de peticiones en esa URL, por lo que debe estar preparada para recibir los eventos correctamente. Este objeto JSON puede tener de uno a muchos eventos, que serán los que se han producido desde que se lanzó la anterior petición, y tendrá la siguiente forma:
Para cada evento hay una serie de información relevante. A continuación, incluimos la información que contiene cada tipo de evento:
Alta
Parámetro | Valor | |
event | subscribes | |
El email del suscriptor | ||
timestamp | Fecha en formato UNIX timestamp (en segundos) | |
list_id | Identificador único de la lista en la que ha sido suscrito | |
subscriber_fields | Diccionario en formato JSON con los campos del desuscriptor. E.g, {"email": example@example.com, "name": "Mike"} | |
Baja
Parámetro | Valor | |
event | unsubscribes | |
El email del suscriptor desuscrito | ||
timestamp | Fecha en formato UNIX timestamp (en segundos) | |
campaign_id | Identificador único de la campaña en la que se ha desuscrito | |
list_id | Identificador único de la lista en la que ha sido desuscrito | |
subscriber_fields | Diccionario en formato JSON con los campos del desuscriptor. E.g, {"email": example@example.com, "name": "Mike"} | |
Entregado
Parámetro | Valor | |
event | delivered | |
El email del suscriptor | ||
timestamp | Fecha en formato UNIX timestamp (en segundos) | |
Hard Bounce
Parámetro | Valor |
event | hard_bounces |
el email del suscriptor | |
timestamp | Fecha en formato UNIX timestamp (en segundos) |
bounce_reason | Proporciona la razón por la que ha dado error |
Soft Bounce
Parámetro | Valor |
event | soft_bounces |
el email del suscriptor | |
timestamp | Fecha en formato UNIX timestamp (en segundos) |
Queja
Parámetro | Valor |
event | complaints |
El email del suscriptor | |
timestamp | Fecha en formato UNIX timestamp (en segundos) |
Apertura
Parámetro | Valor |
event | opens |
El email del suscriptor | |
timestamp | Fecha en formato UNIX timestamp (en segundos) |
Clic
Parámetro | Valor |
event | clicks |
El email del suscriptor | |
timestamp | Fecha en formato UNIX timestamp (en segundos) |