- Eventos de mensajes push (enviados, recibidos, clicados, fallidos, cancelación de suscripción)
- Eventos de email (enviados, abiertos, clicados, rebotados, cancelación de suscripción, etc.)
- Eventos de SMS (enviados, fallidos, cancelación de suscripción, etc.)
- Eventos de mensajes in-app (impresión, clicados, etc.)
- Eventos de Live Activity (enviados, entregados, entrega confirmada, fallidos, cancelación de suscripción, clicados)
Casos de uso comunes
- Centralizar datos de participación — Transmite eventos a un CRM, CDP o almacén de datos para que la actividad multicanal (aperturas, clics, rebotes) esté en un solo lugar en lugar de distribuida entre herramientas desconectadas.
- Análisis, informes y cumplimiento — Almacena cada evento de mensaje en un almacén para análisis de tendencias, auditoría o conservación de registros normativos.
- Monitorear la desvinculación — Rastrea cancelaciones de suscripción, rebotes y descartes en tus propios sistemas para detectar riesgos de retención temprano.
- Activar flujos de trabajo externos — Dispara automatizaciones en otras herramientas cuando un usuario abre o hace clic en un mensaje (p. ej., actualizar una puntuación de leads, iniciar una secuencia de seguimiento).
- Reemplazar sincronizaciones por lotes e integraciones adicionales — Reacciona a eventos en tiempo real y conecta OneSignal directamente a tu destino, reduciendo herramientas intermediarias y costos de mantenimiento.
Cómo poner en marcha a tu equipo técnico
Configurar Event Streams es un esfuerzo conjunto entre el propietario de marketing/producto (quien decide qué eventos importan y a dónde van) y el equipo de ingeniería (que construye el endpoint receptor y configura el stream). Esto es lo que involucra el lado de ingeniería:- Decidir sobre un destino y alcance — Acordar dónde deben llegar los eventos (tu propia API, un almacén de datos, un CDP, etc.), qué tipos de eventos transmitir (push, email, SMS, IAM, Live Activity) y una estimación del volumen de mensajes para que el endpoint tenga el tamaño adecuado.
- Configurar un endpoint HTTP — Construir o configurar un endpoint públicamente accesible que acepte solicitudes POST. Debe registrar eventos rápidamente sin procesamiento pesado para mantener los tiempos de respuesta bajos. Consulta Reintentos / Deshabilitación para las expectativas de rendimiento y lo que sucede cuando el endpoint se queda atrás.
- Configurar el Event Stream en OneSignal — En Datos > Event Streams, selecciona eventos, establece la URL y los encabezados de autenticación, y define el cuerpo JSON usando los campos de Datos de Event Streams con sintaxis Liquid.
- Probar de extremo a extremo — Usa webhook.site para verificar la forma del payload y los encabezados antes de cambiar a tu endpoint de producción (consulta Pruebas).
Configuración
Puedes configurar un nuevo event stream para tu aplicación de OneSignal bajo Datos > Event Streams > Nuevo Event Stream.
- Una URL o dirección IP válida para un endpoint HTTP(S) públicamente accesible
- Las URLs y direcciones IP deben ser enrutables públicamente
- Los dominios deben incluir un dominio de nivel superior reconocido (por ejemplo, “.com”, “.net”)
Selección de eventos
Asigna un nombre a tu Event Stream y haz clic en Seleccionar Eventos.

Filtros de event stream
Puedes refinar opcionalmente los eventos especificando los identificadores de uno o más mensajes o plantillas, lo que te permite recibir solo eventos relacionados con mensajes específicos.

Configurar el Event Stream
Selecciona el método HTTP, la URL y agrega encabezados para el event stream. Aquí es donde debe configurarse la autenticación para asegurar la comunicación segura entre OneSignal y tus sistemas. La URI y los encabezados pueden contener sintaxis liquid que provendrá tanto de las propiedades del usuario como de las propiedades del event stream.Encabezados de autenticación
Puedes agregar encabezados de autenticación para validar que las solicitudes a tu endpoint son genuinamente de OneSignal. Los métodos de autenticación comunes incluyen:- Encabezado de autorización: Agrega un encabezado
Authorization, dondeYOUR_TOKENes proporcionado por tu sistema o un tercero como:Basic {{YOUR_TOKEN}}Bearer {{YOUR_TOKEN}}ApiKey {{YOUR_API_KEY}}
- Encabezados personalizados: También puedes agregar encabezados personalizados como:
X-API-Key: {{YOUR_API_KEY}}
Probando tu configuración
Si buscas una forma fácil de probar, usa webhook.site. Encuentra “Your unique URL” en el centro de la página. Copia esa URL y úsala en el campo URL de tu configuración de event stream.
Encabezados no permitidos
Los siguientes encabezados están restringidos y no se pueden establecer.content-lengthreferermetadata-flavorx-google-metadata-requesthostx-onesignal*
Cuerpo
El cuerpo de un event stream será JSON. El JSON del cuerpo puede definirse como pares clave/valor individuales o como un bloque de código editable. Para cambiar el método de entrada, usa el primer menú desplegable bajo el encabezado del cuerpo y selecciona el cuerpo personalizado.

Personalización
Puedes personalizar todos los campos en tu Event Stream con Datos de Event Streams predefinidos. Estos datos se pueden agregar usando Sintaxis Liquid. Esto te da la flexibilidad de usar event streams para casi cualquier caso de uso.Consulta Datos de Event Streams para una lista de todos los datos de eventos, mensajes y usuarios disponibles para personalización.
Ejemplo de cuerpo
Selecciona el “Cuerpo Personalizado” en el menú desplegable:JSON

Usando Sintaxis Liquid en JSON
Cuando usas sintaxis Liquid dentro de JSON, el uso apropiado de comillas depende del tipo de datos: Directrices para formateo JSON- Cadenas → Deben envolverse en comillas.
- Números → No envolver en comillas.
- Objetos → No deben envolverse en comillas.
Las líneas de comentario
// en los ejemplos Correctos a continuación son solo para legibilidad. Elimínalas en el cuerpo real de tu Event Stream — el JSON estricto no permite comentarios //.- Cadenas
- Números y Booleanos
- Objetos
✅ Correcto — envolver en comillas:❌ Incorrecto — la falta de comillas produce JSON inválido:
JSON
JSON
- Usa verificaciones directas de idioma: Siempre verifica
user.languagedirectamente en los condicionales, no en variables comouserLang, para mejor compatibilidad. - Comienza simple: Empieza con frases básicas, luego agrega complejidad gradualmente.
- Evita el anidamiento excesivo: Mantén los condicionales planos para prevenir problemas de análisis.
- Prueba la puntuación básica primero: Comienza con oraciones simples y puntuación antes de usar caracteres especiales.
- Usa respaldos: Asegura un idioma predeterminado (por ejemplo, inglés) en caso de traducciones faltantes.
- Apégate a claves estándar: Usa claves estándar de OneSignal como
content/title/enpara confiabilidad.
Para detalles y opciones sobre cómo personalizar tus mensajes usando sintaxis Liquid, consulta nuestra Guía de Uso de Sintaxis Liquid.
Resultados y depuración
Monitoreo del rendimiento de tu Event Stream y solución de problemas: Pestaña de informe — Muestra los totales de todos los tiempos, el estado actual de tu event stream y un gráfico de series temporales de códigos de respuesta HTTP a lo largo del tiempo.| Respuesta | Significado |
|---|---|
| 2xx | El evento fue recibido exitosamente por tu endpoint. |
| 4xx / 5xx | Tu endpoint devolvió un error. Revisa la pestaña Registros para el código de estado específico y el cuerpo de la respuesta. |
| Tiempo de espera | Tu endpoint no respondió dentro de la ventana permitida. OneSignal cerró la conexión y trató la entrega como fallida. |

Reintentos / Deshabilitación
Comportamiento de reintentos — Cuando una solicitud falla con un estado recuperable (p. ej.429), OneSignal reintenta con retrasos crecientes. Si los reintentos para un solo evento siguen fallando, ese evento se marca como permanentemente fallido y no se reintenta más.
Deshabilitación automática — Si tu endpoint devuelve fallos sostenidos en muchos eventos, OneSignal puede deshabilitar todo el event stream. Cuando esto sucede:
- Los administradores de la aplicación y la organización reciben un correo electrónico cuando el volumen de fallos se vuelve significativo (antes de deshabilitar) y nuevamente cuando el stream se deshabilita.
- También aparece un banner en la página de índice de Event Streams en el panel.
- Soluciona el problema subyacente, prueba con la pestaña Registros o webhook.site y vuelve a habilitar el stream.
- Registra eventos rápidamente — Escribe el evento entrante en una cola o almacén de datos sin procesamiento inline pesado.
- Evita respuestas lentas y 429s — Los tiempos de respuesta consistentemente lentos o las respuestas de límite de tasa hacen que los eventos se acumulen, lo que lleva a OneSignal a deshabilitar el stream.
- Dimensiona para tu volumen de envío — Si envías 100k mensajes, espera hasta 100k eventos por tipo de evento seleccionado. Revisa el volumen de mensajes de tu plan y aprovisiona en consecuencia.
event.id único. Inclúyelo en un encabezado o en el cuerpo JSON para que tu sistema pueda deduplicar si el mismo evento se reintenta o reproduce.
Consejos para el éxito
- Apunta los streams a tus propios servidores primero. Puedes conectarte directamente a una API de terceros, pero el depurado, el manejo de límites de tasa y la gestión de volumen son más difíciles cuando no controlas el extremo receptor.
- Almacena en búfer antes de enviar a terceros. OneSignal envía eventos tan rápido como los usuarios los activan — un envío grande puede producir una ráfaga que abruma los límites de tasa externos o aumenta los costos (especialmente con proveedores de SMS). Construye un servicio ligero que acepte eventos, los ponga en cola y los reenvíe a APIs externas a un ritmo que controles.
- Consulta los documentos de la API de terceros. Muchos servicios exponen APIs HTTP públicas a las que puedes apuntar con un event stream. Busca sus documentos sobre autenticación, formato de payload aceptado y límites de tasa antes de configurar tu stream.
Limitaciones de datos de eventos de mensajes
Los datos de mensajes enviados mediante nuestros Journeys o API solo están disponibles en OneSignal durante 30 días. Esto significa que cualquier evento de mensaje (como clics, aperturas, cancelaciones de suscripción, etc.) que ocurra 30+ días después de que se envió el mensaje de Journey o API, no estará disponible en el event stream. Esto puede aparecer como datos en blanco o faltantes en tus análisis. Para solucionar esta limitación, puedes correlacionar elmessage.id de estos eventos de clic/apertura/cancelación de suscripción con el evento sent original que tiene el mismo message.id. El evento sent original debería tener los datos de mensaje relevantes (título, plantilla, etc.).
Pruebas
Guía de pruebas de extremo a extremo usando webhook.site. Pega Your unique URL en el campo URL del Event Stream con el método POST.


- Host: la dirección IP de donde provino la solicitud. Consulta Descripción general de la API REST para una lista de IPs posibles.
- Request Content los datos enviados dentro del cuerpo del event stream.