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.
o