Descripción general
Los Webhooks Web Push te permiten recibir notificaciones HTTP POST en tiempo real cada vez que los usuarios interactúan con tus notificaciones push. Cuando una notificación se muestra, se hace clic o se descarta, OneSignal automáticamente envía los datos de la notificación y cualquier parámetro personalizado a tu URL de webhook especificada. Beneficios clave:- Rastrea el engagement de notificaciones en tiempo real
- Activa flujos de trabajo automatizados basados en interacciones del usuario
- Sincroniza datos de notificaciones con tu plataforma de analytics
- Implementa lógica de negocio personalizada para eventos de notificaciones
Soporte de navegadores
| Navegador | Soporte de plataforma | Eventos de webhook disponibles |
|---|---|---|
| Chrome | macOS, Windows, Android | Todos los eventos (display, click, dismiss) |
| Firefox | macOS, Windows, Android | Eventos display y click |
| Safari | No soportado | Ninguno |
Eventos de webhook disponibles
notification.willDisplay
Se activa inmediatamente después de que aparece una notificación en la pantalla del usuario. Casos de uso: Rastrea tasas de entrega, registra datos de impresión, activa campañas de seguimientonotification.clicked
Se activa cuando un usuario hace clic en el cuerpo de la notificación o cualquier botón de acción. Casos de uso: Rastrea tasas de engagement, activa eventos de conversión, redirige usuarios a contenido específiconotification.dismissed
Se activa cuando un usuario descarta activamente una notificación o cuando expira automáticamente. Soporte de navegador: Solo Chrome Casos de uso: Rastrea tasas de descarte, optimiza el tiempo de notificaciones, prueba A/B de contenido de notificaciones Importante: Hacer clic en el cuerpo de la notificación o botones de acción NO activa el webhook dismissed.Métodos de configuración
- Configuración de Dashboard (Recomendado para la mayoría de usuarios)
- Integración con código personalizado
1
Navega a Settings > Web en tu dashboard de OneSignal
2
Habilita el toggle “Enable webhooks”
3
Ingresa tus URLs de webhook para cada evento que quieres rastrear

Habilita webhooks en la configuración de tu dashboard de OneSignal
Asegúrate de que tus URLs de webhook sean HTTPS (requerido por las políticas de seguridad de Chrome).
Configuración CORS
La configuracióncors determina qué encabezados y datos recibe tu endpoint de webhook:
cors: false(Recomendado): Configuración más simple, no se necesita configuración CORS en tu servidorcors: true: Proporciona encabezados adicionales pero requiere soporte CORS en tu servidor
cors: true:
- Necesitas el encabezado
Content-Type: application/json - Quieres el encabezado
X-OneSignal-Eventpara identificación de eventos más fácil - Tu servidor ya soporta CORS para solicitudes no simples
Formato de solicitud de webhook
Solicitud estándar (cors: false)
Tu endpoint de webhook recibe una solicitud POST con esta estructura de payload:Solicitud mejorada (cors: true)
Mismo payload que arriba, más estos encabezados adicionales:Referencia de campos del payload
| Campo | Tipo | Descripción | Siempre presente |
|---|---|---|---|
event | string | Tipo de evento que activó el webhook | ✅ |
notificationId | string | Identificador único de notificación OneSignal | ✅ |
heading | string | Título de la notificación | Solo si se proporciona |
content | string | Cuerpo del mensaje de notificación | Solo si se proporciona |
additionalData | object | Datos personalizados enviados con la notificación | Solo si se proporciona |
actionId | string | ID del botón de acción clickeado (string vacío = clic en cuerpo de notificación) | Solo eventos de clic |
url | string | URL de lanzamiento para la notificación | Solo si se proporciona |
subscriptionId | string | ID de usuario/suscripción de OneSignal | Solo CORS habilitado |
Mejores prácticas de implementación
Requisitos del endpoint de webhook
Seguridad:- Usa solo URLs HTTPS (las URLs HTTP serán bloqueadas por Chrome)
- Implementa autenticación/validación adecuada para tus endpoints de webhook
- Considera limitación de tasa para manejar notificaciones de alto volumen
- Devuelve estado HTTP 200 para procesamiento exitoso
- Responde dentro de 10 segundos para evitar timeouts
- Maneja llamadas de webhook duplicadas con gracia (implementa idempotencia)
Manejo de errores
Problemas comunes y soluciones
Los webhooks no se activan
Causas posibles:- Código de webhook no presente en todas las páginas con inicialización OneSignal
- El usuario no ha visitado una página con código de webhook después de agregarlo
- Requisito HTTPS no cumplido
- Servidor devolviendo códigos de estado no-200
Datos faltantes en webhooks
Causa: Los webhooks solo rastrean eventos para usuarios que visitan páginas con la configuración de webhook activa. Solución: Despliega código de webhook en todas las páginas con OneSignal, no solo páginas de destino específicas.Llamadas de webhook duplicadas
Causa: Problemas de red o comportamiento del navegador pueden causar solicitudes duplicadas. Solución: Implementa idempotencia usando el camponotificationId para deduplicar eventos.
Limitaciones de webhook
- Una URL de webhook por evento: No puedes establecer múltiples URLs de webhook para el mismo tipo de evento
- Solo HTTPS: Las URLs HTTP no funcionarán debido a restricciones de seguridad del navegador
- Rastreo de descarte solo Chrome: El evento
notification.dismissedsolo funciona en Chrome - Dependencia de página: Los usuarios deben visitar páginas con código de webhook activo para que el rastreo funcione
Probar tus webhooks
- Envía una notificación de prueba a través de tu dashboard de OneSignal
- Monitorea tu endpoint de webhook para solicitudes entrantes
- Verifica la estructura del payload que coincida con tus expectativas
- Prueba diferentes escenarios:
- Visualización de notificación
- Clic en cuerpo de notificación
- Clic en botones de acción (si están configurados)
- Descarte de notificaciones (solo Chrome)
Siguientes pasos
Después de configurar webhooks, considera:- Integración de Analytics: Reenvía datos de webhook a tu plataforma de analytics
- Segmentación de usuarios: Usa eventos de webhook para crear segmentos de usuarios basados en engagement
- Flujos de trabajo automatizados: Activa campañas de email o notificaciones de app basadas en interacciones de notificaciones push
- Pruebas A/B: Usa datos de webhook para medir la efectividad de diferentes estrategias de notificación