Requisitos
- Contacta al equipo de ventas de OneSignal para obtener acceso.
- La URL o dirección IP debe ser válida y accesible mediante HTTP o HTTPS.
- Los endpoints deben ser públicamente enrutables — no detrás de un firewall ni en localhost.
- Los dominios deben tener un dominio de nivel superior válido (
.com,.org,.net, etc.).
Configuración
Una vez que tu Journey está creado, sigue estos pasos:- Navega a Datos > Webhooks en el panel de OneSignal.
- Haz clic para crear un nuevo webhook.
- Define lo siguiente:
- Método HTTP (generalmente
POST) - URL de destino
- Encabezados personalizados (por ejemplo, tokens de autenticación)
- Contenido del cuerpo (texto plano o JSON, opcionalmente usando Liquid)
- Método HTTP (generalmente

Encabezados no permitidos
No puedes establecer los siguientes encabezados:content-lengthreferermetadata-flavorx-google-metadata-requesthost- Cualquier encabezado que comience con
x-onesignal
Probar webhooks
También puedes probar tu endpoint manualmente usando una herramienta como curl:Personalización
Todos los campos de webhook soportan sintaxis Liquid, lo que te permite insertar dinámicamente datos de usuario y suscripción en la solicitud. Consulta Personalización de mensajes para la lista completa de propiedades disponibles.Referencia de datos de usuario
Las siguientes propiedades del objetouser están disponibles en campos de webhook mediante sintaxis Liquid:
| Propiedad | Tipo | Uso | ¿Disponible en prueba? |
|---|---|---|---|
| OneSignal ID | String | {{ user.onesignal_id }} | ✅ |
| External ID | String | {{ user.external_id }} | ✅ |
| Tags | Object | {{ user.tags.your_tag_key_here }} | ❌ |
| Language | String | {{ user.language }} | ✅ |
Agregar un webhook a un Journey
- Después de crear y probar tu webhook, abre tu Journey.
- Agrega un paso de Webhook donde sea necesario.
- Selecciona el webhook que configuraste anteriormente.

Depuración y registros
Estadísticas del webhook
Ve a la pestaña Estadísticas del webhook para ver el rendimiento de tu webhook. Esto incluye:- Total de eventos enviados
- Tendencias de tiempo de respuesta
- Distribución de código de estado

Pestaña de registros
Para información más detallada, la pestaña de Registros muestra:- Datos de solicitud/respuesta recientes
- Códigos de estado y mensajes de error
- Encabezados y cargas útiles (cuando aplique)

Lógica de reintento y comportamiento de deshabilitación
OneSignal reintenta solicitudes de webhook fallidas para errores recuperables (por ejemplo,429 Too Many Requests). Los reintentos ocurren con retrasos crecientes.
Si los reintentos fallan repetidamente, el webhook se marca como permanentemente fallido y no se hacen más intentos.
Deshabilitación automática
Si un webhook falla de forma consistente, OneSignal lo deshabilita para prevenir más problemas. Los administradores reciben alertas por correo electrónico y un banner en el panel antes y después de que se deshabilite un webhook. Identifica la causa raíz y prueba el webhook antes de volver a habilitarlo. Tu endpoint debe ser capaz de manejar el volumen de eventos que produce tu Journey. Revisa el volumen de envío de mensajes de tu aplicación para estimar el rendimiento que necesita tu API.Guía de rendimiento
- Los endpoints lentos o sobrecargados (especialmente los que devuelven respuestas
429) pueden activar la deshabilitación automática. - Registra eventos rápidamente y difiere el procesamiento adicional para evitar tiempos de espera.
- El volumen escala con la actividad del usuario — asegúrate de que tu endpoint pueda manejar el rendimiento máximo.
- Usa el valor
event.id(disponible como encabezado o en el cuerpo) para deduplicar eventos entrantes.
Mejores prácticas de confiabilidad
- Enruta primero a través de tu propio servidor, no directamente a servicios de terceros. Esto te da control sobre el registro, la autenticación, la limitación y la gestión de colas. Los servicios de terceros pueden limitar o bloquear solicitudes durante picos de volumen, y OneSignal no gestiona esos límites.
- Planifica para ráfagas. La ejecución del webhook ocurre inmediatamente cuando los usuarios alcanzan el paso. Si muchos usuarios llegan a un paso de webhook a la vez, OneSignal envía una ráfaga de solicitudes HTTP sin limitación de velocidad. Considera construir una capa de API ligera o proxy de cola que pueda ingerir webhooks de manera confiable, aplicar límites de velocidad o procesamiento por lotes, y enrutar solicitudes a tus servicios de terceros de manera apropiada.
- Revisa los límites de API de terceros. Las herramientas populares como Slack, Twilio y Segment ofrecen API HTTP públicas, pero tienen sus propios límites de velocidad, requisitos de autenticación y manejo de errores. Consulta su documentación antes de conectarte directamente.
Proteger tu webhook
Para verificar que las solicitudes provienen de OneSignal y no han sido alteradas:- Firma HMAC: Incluye un secreto compartido en la configuración del webhook. OneSignal firma cada solicitud con un encabezado HMAC que tu servidor puede validar antes de procesar la carga útil.
- Token de autenticación personalizado: Agrega un encabezado de autorización personalizado (por ejemplo,
Authorization: Bearer TU_TOKEN_SECRETO) y verifícalo del lado del servidor antes de aceptar la solicitud.
Preguntas frecuentes
¿Puedo usar webhooks para llamar a las API de OneSignal?
No. Los webhooks de Journey están diseñados únicamente para enviar datos a sistemas externos. No pueden llamar a las API de OneSignal. Para actualizar datos de OneSignal basándote en eventos de Journey, enruta el webhook a través de tu propio servidor y haz que tu servidor llame a la API de OneSignal.¿Por qué mi webhook fue deshabilitado automáticamente?
OneSignal deshabilita los webhooks que fallan de forma consistente para prevenir más problemas. Revisa la pestaña Registros para ver los detalles del error (códigos de estado, cuerpos de respuesta), corrige la causa raíz y prueba el webhook antes de volver a habilitarlo. Las causas comunes incluyen tiempo de inactividad del endpoint, errores de autenticación y limitación de velocidad.¿Cómo deduplico eventos de webhook?
Usa el valorevent.id (disponible como encabezado o en el cuerpo de la solicitud) para identificar eventos únicos. Almacena los ID de eventos procesados en tu servidor y omite cualquier duplicado. Esto es especialmente importante si los reintentos entregan el mismo evento más de una vez.
¿OneSignal limita la velocidad de las solicitudes de webhook?
No. OneSignal envía solicitudes de webhook inmediatamente cuando los usuarios alcanzan el paso, sin limitación de velocidad. Si muchos usuarios llegan a un paso de webhook a la vez, tu endpoint recibe una ráfaga de solicitudes. Construye tu endpoint para manejar el volumen máximo, o usa un proxy de cola para almacenar en búfer y procesar por lotes las solicitudes.¿Puedo probar webhooks sin lanzar un Journey?
Sí. Usa el botón Probar en la configuración del webhook para enviar una solicitud de muestra. Ten en cuenta que las etiquetas no están disponibles en las solicitudes de prueba — usa suscripciones de prueba en un Journey activo para una validación completa.Páginas relacionadas
Descripción general de Journeys
Introducción a los Journeys y cómo funcionan los flujos multicanal.
Acciones de Journey
Agrega pasos de espera, lógica de ramificación, ventanas de tiempo y rutas divididas.
Sintaxis Liquid
Referencia completa para plantillas Liquid en mensajes y webhooks de OneSignal.
Personalización de mensajes
Descripción general de todos los métodos de personalización incluyendo etiquetas, Liquid y contenido dinámico.