Configura webhooks para recibir notificaciones de eventos

Un webhook es una solicitud POST que SendPulse envía a tu servidor cuando ocurre un evento en tu cuenta, como un nuevo trato o un correo entregado. En la sección Webhooks, puedes configurar en un solo lugar las notificaciones del sistema CRM, Automatización, el creador de cursos en línea, el servicio de correo electrónico, SMS y SMTP.

Por ejemplo, una tienda en línea mantiene los pedidos en el sistema CRM y el inventario en su propio sistema contable. Con un webhook para los eventos de tratos, el sistema contable recibe cada trato pagado en cuestión de segundos y reserva los productos sin necesidad de exportaciones manuales.

Hablemos de cómo crear y probar un webhook, elegir eventos, verificar la firma de la solicitud y gestionar tus webhooks.

Beneficios y casos de uso

Los webhooks envían datos a tu servidor en el momento en que ocurre un evento, por lo que no necesitas exportar datos manualmente ni consultar la API periódicamente. En la sección Webhooks, puedes hacer lo siguiente:

  • Recibir eventos del sistema CRM, Automatización, el creador de cursos en línea, el servicio de correo electrónico, SMS y SMTP en una sola URL.
  • Elegir cuáles de los 70 eventos disponibles envía cada webhook.
  • Añadir encabezados de autorización y verificar la firma de cada solicitud para que tu servidor acepte únicamente solicitudes de SendPulse.
  • Enviar una solicitud de prueba antes de que ocurran eventos reales.
  • Consultar cada solicitud de los últimos 30 días en el registro de solicitudes y reintentar las solicitudes fallidas.

Así es como las empresas pueden utilizar los webhooks:

  • Una tienda en línea envía los eventos Etapa del trato modificada y Pago del trato completado a su sistema de gestión de pedidos, de modo que un trato pagado en el sistema CRM se convierte en un pedido confirmado sin trabajo manual.
  • Una agencia de marketing recopila los eventos Entregado, Correo abierto, Clic en un enlace del correo, Rebotes duros y Correo marcado como spam en su propio panel de análisis para informar a sus clientes sobre la entregabilidad.
  • Una escuela en línea recibe los eventos Estudiante inscrito en el curso y Estudiante completó el curso, y notifica a su equipo de soporte en una aplicación de mensajería cuando un estudiante se inscribe en un curso o lo completa.

Verifica los requisitos del webhook

Antes de crear un webhook, asegúrate de tener lo siguiente:

Una URL HTTPS pública en tu servidor La URL debe comenzar con https://, ser accesible desde internet, aceptar solicitudes POST con un cuerpo JSON y responder con un código de estado de éxito. SendPulse no admite URL http://, localhost ni direcciones de redes privadas o internas.
Las direcciones IP de SendPulse permitidas en tu firewall Si tu servidor solo acepta solicitudes de direcciones IP permitidas, añade las direcciones de la lista Direcciones IP de origen del webhook del formulario del webhook. La lista puede cambiar sin previo aviso, así que revísala cuando tu servidor deje de recibir solicitudes.
Acceso a la sección Webhooks El propietario de la cuenta tiene acceso de forma predeterminada. Un miembro del equipo necesita el permiso Configuración en el grupo Correo electrónico y campañas de marketing de su rol de usuario.

SendPulse envía cada evento como una solicitud POST independiente con un objeto JSON en el cuerpo. Para conocer los campos del cuerpo de la solicitud, consulta Consulta los detalles de una solicitud.

Los webhooks de chatbots y ventanas emergentes se configuran por separado, en cada chatbot o pop-up.

Crea un webhook

Un webhook vincula una URL de tu servidor con el conjunto de eventos que quieres recibir en esa URL. Cada webhook de tu cuenta necesita su propia URL.

Introduce la URL de tu webhook

Ve a Configuración de la cuenta > Webhooks y haz clic en Añadir webhook. Si aún no tienes webhooks, haz clic en Crear webhook.

En la página Nuevo webhook, introduce en el campo URL del webhook la dirección de tu servidor que recibirá las solicitudes, por ejemplo, https://api.example.com/webhooks/sendpulse.

Para consultar las direcciones IP desde las que SendPulse envía las solicitudes, expande la lista Direcciones IP de origen del webhook. Si tu servidor solo acepta solicitudes de direcciones permitidas, añádelas a tu firewall.

Añade encabezados de autorización

También puedes añadir encabezados que SendPulse incluirá en cada solicitud de este webhook, como un encabezado Authorization con un token que tu servidor verifique.

Expande la sección Encabezados adicionales y haz clic en Añadir encabezado. En el campo Nombre, introduce el nombre del encabezado y, en el campo Valor, introduce su valor.

Para añadir otro encabezado, vuelve a hacer clic en Añadir encabezado. Cada webhook puede tener hasta 10 encabezados.

Para eliminar un encabezado, haz clic en el ícono de la papelera junto a él.

El nombre de un encabezado puede contener entre 1 y 128 caracteres permitidos en los nombres de encabezados HTTP, y su valor puede contener entre 1 y 1024 caracteres ASCII imprimibles. No puedes añadir encabezados que SendPulse establece por su cuenta, como Content-Type y X-Signature.

Una vez que guardas el webhook, SendPulse oculta los valores de los encabezados en el formulario y en el registro de solicitudes. Para cambiar un valor más adelante, haz clic en Cambiar valor junto a él.

Selecciona los eventos

En la sección Eventos, selecciona los eventos que quieres recibir. Los eventos se agrupan por herramienta de SendPulse (CRM, Automatización, Cursos, Correo electrónico, SMS y SMTP) y, dentro de cada herramienta, por objeto, como Tratos o Tareas.

Para expandir un grupo, haz clic en la flecha junto a él. Después, selecciona la opción junto a un evento.

Para seleccionar todos los eventos de una herramienta o un objeto, selecciona la opción junto a su nombre.

El contador junto a cada grupo muestra cuántos de sus eventos están seleccionados, y el contador Seleccionados muestra el total. Para consultar todos los eventos y sus descripciones, ve a Elige los eventos que quieres recibir.

Haz clic en Guardar. Si no hay ningún evento seleccionado, aparece el mensaje Selecciona al menos un evento y el webhook no se guarda.

El webhook aparece en la lista Webhooks con el estado Activo. El webhook ya está listo y SendPulse envía cada evento seleccionado a tu URL como una solicitud POST independiente, normalmente unos segundos después de que ocurre.

SendPulse también genera una clave secreta para el webhook. Utiliza esta clave para verificar la firma de la solicitud.

Elige los eventos que quieres recibir

Un webhook puede enviar cualquier combinación de los siguientes 70 eventos. Los nombres de los eventos coinciden con la lista Eventos del formulario del webhook.

Algunos eventos tienen el mismo nombre en diferentes herramientas. Por ejemplo, Entregado existe en Correo electrónico, SMS y SMTP.

Selecciona el evento en la herramienta que necesitas. El campo scope del cuerpo de la solicitud muestra qué herramienta envió el evento.

CRM

Los eventos de CRM abarcan empresas, contactos, tratos y tareas del sistema CRM, y se agrupan en Empresas, Contactos, Tratos y Tareas en el formulario. SendPulse envía los siguientes eventos de CRM:

Empresa creada Se crea una empresa.
Empresa eliminada Se elimina una empresa.
Empresa actualizada Se modifican los datos de una empresa.
Contacto creado Se crea un contacto.
Contacto eliminado Se elimina un contacto.
Contacto actualizado Se modifican los datos de un contacto.
Trato creado Se crea un trato.
Trato eliminado Se elimina un trato.
Pago del trato completado Se completa el pago de un trato.
Estado del trato modificado Cambia el estado de un trato.
Etapa del trato modificada Un trato pasa a otra etapa de la canalización.
Trato actualizado Se modifican los datos de un trato.
Tarea creada Se crea una tarea.
Tarea eliminada Se elimina una tarea.
Estado de la tarea modificado Cambia el estado de una tarea.
Etapa de la tarea modificada Una tarea pasa a otra etapa.
Tarea actualizada Se modifican los datos de una tarea.

Automatización

Los eventos de Automatización abarcan los flujos y los correos enviados desde ellos. SendPulse envía los siguientes eventos de Automatización:

Correo de automatización entregado Se entrega al contacto un correo enviado desde un flujo.
Correo de automatización abierto El contacto abre un correo enviado desde un flujo.
Flujo de automatización iniciado Un contacto inicia un flujo.
Variable actualizada mediante Automatización Un flujo modifica el valor de una variable del contacto.

Cursos

Los eventos de Cursos abarcan cursos, estudiantes, formularios y lecciones del creador de cursos en línea. En el formulario, se agrupan en Cursos y Estudiantes; Formulario enviado y Lección creada aparecen por separado. SendPulse envía los siguientes eventos de Cursos:

Curso creado Se crea un curso.
Curso eliminado Se elimina un curso.
Curso lanzado Se lanza un curso.
Estudiante pagó el curso Un estudiante paga un curso.
Curso actualizado Se modifican los datos de un curso.
Estudiante recibió un certificado Un estudiante recibe un certificado.
Estudiante completó un formulario Un estudiante completa un formulario.
Estudiante completó una lección Un estudiante completa una lección.
Estudiante completó el curso Un estudiante completa un curso.
Estudiante eliminado Se elimina un estudiante.
Estudiante invitado al curso Se invita a un estudiante a un curso.
Estudiante registrado Se registra un nuevo estudiante.
Estudiante inscrito en el curso Un estudiante se inscribe en un curso.
Estudiante inició una lección Un estudiante inicia una lección.
Datos del estudiante actualizados Se modifican los datos de un estudiante.
Formulario enviado Se envía un formulario.
Lección creada Se crea una lección.

Correo electrónico

Los eventos de Correo electrónico abarcan suscriptores, etiquetas y campañas de correo del servicio de email. En el formulario, los eventos de etiquetas se agrupan en Etiquetas. SendPulse envía los siguientes eventos de Email:

Etiqueta añadida Se añade una etiqueta.
Etiqueta creada Se crea una etiqueta.
Etiqueta eliminada Se elimina una etiqueta.
Etiqueta vinculada Se asigna una etiqueta a un suscriptor o a una lista de correo.
Etiqueta desvinculada Se elimina una etiqueta de un suscriptor o de una lista de correo.
Etiqueta actualizada Se actualiza una etiqueta, por ejemplo, al cambiarle el nombre.
Suscriptor eliminado de la lista Se elimina un suscriptor de una lista de correo.
Entregado Se entrega un correo de una campaña a un suscriptor.
Rebotes duros No se entrega un correo de una campaña debido a un error permanente, como una dirección de correo electrónico inexistente.
Nuevo suscriptor Se añade un nuevo suscriptor a una lista de correo.
Correo abierto Un suscriptor abre un correo de una campaña.
Clic en un enlace del correo Un suscriptor hace clic en un enlace de un correo de una campaña.
Rebotes suaves No se entrega un correo de una campaña debido a un error temporal, como una bandeja de entrada llena.
Correo marcado como spam Un suscriptor marca un correo de una campaña como spam.
Estado de la campaña modificado Cambia el estado de una campaña, por ejemplo, cuando comienza el envío.
Suscriptor dado de baja Un suscriptor cancela su suscripción.

SMS

Los eventos de SMS abarcan campañas de SMS, la entrega de mensajes y los nombres de remitente. En el formulario, los eventos de campañas se agrupan en Campañas. SendPulse envía los siguientes eventos de SMS:

Campaña en moderación Se envía una campaña de SMS a moderación.
Campaña rechazada Un moderador rechaza una campaña de SMS.
Entregado Se entrega un SMS al destinatario.
Estado del remitente modificado Cambia el estado de un nombre de remitente.
Enviado Se envía un SMS al destinatario.
No entregado No se entrega un SMS al destinatario.
Dado de baja Un destinatario cancela su suscripción mediante el enlace de un SMS.

SMTP

Los eventos de SMTP abarcan los correos transaccionales enviados mediante SMTP o la API. SendPulse envía los siguientes eventos de SMTP:

Clic en un enlace El destinatario hace clic en un enlace del correo.
Entregado Se entrega el correo al destinatario.
Rebotes duros No se entrega el correo debido a un error permanente, como una dirección de correo electrónico inexistente.
Apertura El destinatario abre el correo.
Suscripción reactivada Un destinatario que había cancelado su suscripción vuelve a suscribirse mediante el método de la API Volver a suscribir a un destinatario.
Rebotes suaves No se entrega el correo debido a un error temporal, como una bandeja de entrada llena o un problema con el servidor de correo del destinatario.
Marcado como spam El destinatario marca el correo como spam y cancela su suscripción.
No entregado No se entrega el correo al destinatario.
Dado de baja El destinatario cancela su suscripción a futuros correos.

Verifica la firma de la solicitud

SendPulse firma cada solicitud con la clave secreta del webhook para que tu servidor pueda rechazar solicitudes falsificadas. SendPulse genera la clave cuando guardas el webhook.

Para obtener la clave, en la lista Webhooks, haz clic en los tres puntos junto al webhook y selecciona Editar. En el campo Clave secreta, haz clic en el ícono del ojo para mostrar la clave y en el ícono de copiar para copiarla.

Guarda la clave en tu servidor, nunca en el código del lado del cliente.

Si la clave se filtra, haz clic en el ícono de regenerar del campo Clave secreta. SendPulse sustituye la clave inmediatamente, sin confirmación, y firma la siguiente solicitud con la nueva clave, así que actualiza la clave en tu servidor de inmediato.

Para verificar una solicitud, calcula un hash HMAC-SHA256 del cuerpo de la solicitud sin procesar utilizando la clave secreta como una cadena de texto. Codifica el hash como una cadena hexadecimal en minúsculas y compáralo con el valor del encabezado X-Signature, que se envía como sha256=<hash>.

Calcula el hash sobre el cuerpo exactamente como lo recibiste, antes de analizar el JSON. Un cuerpo analizado y serializado de nuevo genera un hash diferente.

Envía una solicitud de prueba

Antes de que ocurran eventos reales, verifica que tu servidor acepte solicitudes de SendPulse.

Para enviar una solicitud de prueba, en la lista Webhooks, haz clic en los tres puntos junto al webhook y selecciona Editar. En la página Editar webhook, haz clic en Solicitud de prueba debajo de la lista Eventos.

SendPulse envía a la URL de tu webhook una solicitud POST con el tipo de evento test, sin datos del evento, con tus encabezados adicionales y la firma. Junto al botón, puedes ver el código de estado que devolvió tu servidor y el tiempo de respuesta, como 200 · 244 ms.

Un punto verde indica una solicitud exitosa y un punto rojo indica un error, por ejemplo, 405 · 87 ms.

Si la solicitud falla, corrige el problema de tu servidor y vuelve a hacer clic en Solicitud de prueba.

El botón Solicitud de prueba solo aparece para un webhook guardado. Las solicitudes de prueba no aparecen en el registro de solicitudes.

Para conocer las causas habituales de los errores de las solicitudes, consulta Soluciona problemas con los webhooks.

Gestiona tus webhooks

La sección Webhooks muestra todos los webhooks de tu cuenta como tarjetas. Cada tarjeta muestra la URL del webhook, los eventos seleccionados como etiquetas con el ícono de la herramienta y el estado Activo o Inactivo.

Para encontrar un webhook, haz clic en Filtrar. Introduce parte de su URL en el campo Buscar, selecciona una herramienta en la lista Servicio o selecciona Activo o Inactivo en la lista Estado, y haz clic en Aplicar.

Para volver a mostrar todos los webhooks, haz clic en Restablecer.

Para abrir las acciones de un webhook, haz clic en los tres puntos de su tarjeta. Las siguientes acciones están disponibles:

Editar Cambia la URL, los encabezados, los eventos o el estado, consulta o regenera la clave secreta y envía una solicitud de prueba.
Registro Abre el registro de solicitudes del webhook.
Desactivar

Detén el envío de solicitudes sin eliminar el webhook.

SendPulse conserva la configuración y el registro de solicitudes de un webhook desactivado.

Activar Reanuda el envío de solicitudes.
Eliminar

Elimina el webhook de forma permanente después de confirmar la acción en el cuadro de diálogo.

El registro de solicitudes de un webhook eliminado no está disponible.

También puedes activar o desactivar el webhook con la opción Estado de la página Editar webhook.

Los webhooks que creaste para el servicio de correo electrónico y SMTP en la antigua sección Configuración de la cuenta > API y webhooks se migran automáticamente a esta lista. Puedes encontrarlos por su URL. Siguen funcionando y las solicitudes de sus eventos también contienen los datos en el formato anterior. Para obtener más información, consulta Consulta los detalles de una solicitud.

Ahora, cada evento llega como una solicitud independiente con un objeto JSON en el cuerpo, en lugar de un arreglo. Si tu servidor espera un arreglo de eventos, actualiza tu controlador como se describe en Tu controlador dejó de procesar eventos después de la migración.

Ahora tu servidor recibe notificaciones de eventos de SendPulse en tiempo real.

Para comprobar que los eventos llegan a tu servidor y ver cómo responde, consulta el registro de solicitudes.

Aprende a crear un rol de usuario personalizado para los miembros del equipo que gestionan webhooks y configura webhooks para chatbots y ventanas emergentes.

También puedes enviar eventos a plataformas sin código como Make y n8n. Para crear y gestionar webhooks desde tu propio sistema, utiliza la API REST.

Califica este artículo sobre

"Configura webhooks para recibir notificaciones de eventos"

Opinión de los usuarios: 5 / 5 (8)

Anterior

Consulta el registro de solicitudes y reintenta solicitudes de webhooks

Siguiente

Generar claves para integraciones

Pruebe SendPulse hoy mismo gratis