Saltar al contenido principal
Accede a los datos de event stream usando sintaxis Liquid. Envuelve cualquier campo en {{ }} para incluirlo en el cuerpo de tu Event Stream. Ver Ejemplos.
Los datos de mensajes para Journeys y envíos vía API se retienen durante 30 días. Los eventos de interacción (clics, aperturas, cancelaciones de suscripción) que ocurran después de 30 días pueden tener propiedades de mensaje en blanco. Para recuperar los datos, correlaciona el message.id del evento de interacción con el evento sent original, que contiene los datos completos del mensaje.

Propiedades de event

Cada evento incluye los campos principales a continuación. Los campos específicos de canal bajo event.data.* se incluyen solo cuando corresponde — ver Campos específicos de canal.
event.kind
string
El tipo de evento, combinando canal y acción (ej.: message.push.clicked, message.email.bounced). Ver la lista completa de valores en la referencia de event kind a continuación. Liquid: {{ event.kind }}
event.id
UUID
Un identificador único generado por OneSignal para cada evento individual en formato UUID v4. Usa este ID para rastreo de entrega idempotente. Para el identificador de mensaje o plantilla, usa message.id o message.template_id. Liquid: {{ event.id }}
event.timestamp
integer
Marca de tiempo UNIX del evento. Liquid: {{ event.timestamp }}
event.datetime
string
Hora legible del evento en UTC como cadena ISO 8601 (ej.: “2024-02-21T23:45:15.228Z”). Liquid: {{ event.datetime }}
event.app_id
UUID
El App ID de OneSignal. Liquid: {{ event.app_id }}
event.subscription_device_type
string
El tipo de suscripción (ej.: iOS, Android, Chrome, Email, SMS). Liquid: {{ event.subscription_device_type }}
event.subscription_id
UUID
El Subscription ID de OneSignal. Liquid: {{ event.subscription_id }}
event.onesignal_id
UUID
El User ID de OneSignal. Liquid: {{ event.onesignal_id }}
event.external_id
string
Tu User ID establecido como el alias External ID de OneSignal. Puede estar vacío si no se estableció. Liquid: {{ event.external_id }}

Campos específicos de canal

Estos campos event.data.* solo están presentes para ciertos tipos de evento.

Eventos de mensajes in-app

Incluidos con eventos message.iam.*. Ver Event Streams de mensajes in-app para detalles.
event.data.page_name
string
El nombre de la página o tarjeta del mensaje in-app que se mostró. Liquid: {{ event.data.page_name }}
event.data.page_id
string
Identificador único para la página o tarjeta del mensaje in-app que se mostró. Liquid: {{ event.data.page_id }}
event.data.target_name
string
El nombre del botón o elemento de bloque de imagen en el que se hizo clic. El elemento debe contener una acción de clic in-app. Liquid: {{ event.data.target_name }}
event.data.target_id
string
Identificador único para el botón o elemento de bloque de imagen en el que se hizo clic. Liquid: {{ event.data.target_id }}

Eventos de Live Activity

Incluidos con eventos message.live_activity.*.
event.data.live_activity_id
string
Identificador único para una Live Activity específica (ej.: “Knicks vs Cavs - Oct 22 7PM”). Liquid: {{ event.data.live_activity_id }}
event.data.live_activity_type
string
Etiqueta de agrupación para categorías de Live Activity (ej.: “Knicks_games”). Liquid: {{ event.data.live_activity_type }}

Eventos fallidos

Incluidos con eventos message.push.failed y message.email.failed.
event.data.failure_reason
string
El motivo por el que el mensaje no se pudo enviar. Ver Informes de mensajes Push o Informes de mensajes de Email para razones comunes. Liquid: {{ event.data.failure_reason }}

Referencia de event kind

Para definiciones detalladas de cada métrica, ver el Glosario de métricas.
Tipo de evento de mensaje (OneSignal)Nombre del evento (en conjunto de datos)Descripción del evento
Push enviadomessage.push.sentNotificación push enviada exitosamente a los servicios push (FCM, APNS, etc.).
Push recibidomessage.push.receivedNotificación push recibida por el destinatario. No disponible en todas las plataformas. Ver Entrega confirmada para más detalles.
Push con clicmessage.push.clickedEl usuario tocó la notificación push para abrir la aplicación en el dispositivo.
Push fallidomessage.push.failedEl push falló al enviarse. Ver los Informes de mensajes Push para detalles.
Push canceladomessage.push.unsubscribedEl usuario canceló la suscripción push. Ver ¿Cuándo se actualizan los estados de suscripción push?.
Impresión In-Appmessage.iam.impressionMensaje In-App mostrado exitosamente en el dispositivo.
In-App con clicmessage.iam.clickedEl usuario tocó un elemento en el mensaje In-App.
Página In-App mostradamessage.iam.page_displayedSe mostró la página del mensaje In-App. Útil para rastrear carruseles.
Email enviadomessage.email.sentEmail enviado exitosamente.
Email recibidomessage.email.receivedEmail recibido por el destinatario.
Email abiertomessage.email.openedEl email fue abierto por el destinatario. Ver Informes de mensajes de Email para detalles.
Enlace de Email con clicmessage.email.clickedEl usuario tocó un enlace en el email.
Email canceladomessage.email.unsubscribedEl usuario canceló la suscripción del email mediante el enlace de cancelación.
Email reportado como spammessage.email.reported_as_spamEl usuario reportó el email como spam. Gmail requiere Google Postmaster Tools para rastrear. Ver Entregabilidad de email para más detalles.
Email rebotadomessage.email.bouncedEmail devuelto al remitente debido a error permanente. Ver Informes de mensajes de Email para detalles.
Email fallidomessage.email.failedEl email no pudo ser entregado. Ver Informes de mensajes de Email para detalles.
Email suprimidomessage.email.suppressedEl email no pudo ser enviado porque la dirección de email está en la lista de supresión.
SMS enviadomessage.sms.sentSMS enviado al destinatario.
SMS fallidomessage.sms.failedEl SMS falló al enviarse. Ver Informes de mensajes SMS para detalles.
SMS entregadomessage.sms.deliveredSMS entregado exitosamente.
SMS no entregadomessage.sms.undeliveredEl SMS no pudo ser enviado. Ver Informes de mensajes SMS para detalles.
Live Activity enviadamessage.live_activity.sentLive Activity enviada exitosamente a FCM/APNS.
Live Activity entregadamessage.live_activity.deliveredLive Activity recibida por el destinatario.
Live Activity canceladamessage.live_activity.unsubscribedUsuario canceló la suscripción a Live Activities.
Live Activity fallidamessage.live_activity.failedLa Live Activity falló al enviarse.
Live Activity clicadamessage.live_activity.clickedLive Activity clicada por el usuario.

Ejemplo de objeto de evento

Copia este template Liquid en el cuerpo de tu Event Stream para capturar todos los campos de evento:
JSON
{
  "event.kind": "{{ event.kind }}",
  "event.id": "{{ event.id }}",
  "event.timestamp": "{{ event.timestamp }}",
  "event.datetime": "{{ event.datetime }}",
  "event.app_id": "{{ event.app_id }}",
  "event.subscription_device_type": "{{ event.subscription_device_type }}",
  "event.subscription_id": "{{ event.subscription_id }}",
  "event.onesignal_id": "{{ event.onesignal_id }}",
  "event.external_id": "{{ event.external_id }}",
  "event.data.page_name": "{{ event.data.page_name }}",
  "event.data.page_id": "{{ event.data.page_id }}",
  "event.data.target_name": "{{ event.data.target_name }}",
  "event.data.target_id": "{{ event.data.target_id }}",
  "event.data.failure_reason": "{{ event.data.failure_reason }}"
}
Cómo se ve un evento de clic en push después del renderizado Liquid:
JSON
{
  "event.kind": "message.push.clicked",
  "event.id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "event.timestamp": 1708559115,
  "event.datetime": "2024-02-21T23:45:15.228Z",
  "event.app_id": "your-onesignal-app-id",
  "event.subscription_device_type": "iOS",
  "event.subscription_id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
  "event.onesignal_id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
  "event.external_id": "user_12345",
  "event.data.page_name": "",
  "event.data.page_id": "",
  "event.data.target_name": "",
  "event.data.target_id": "",
  "event.data.failure_reason": ""
}
Los campos específicos de canal como event.data.page_name están vacíos para los tipos de evento que no los incluyen.

Propiedades de message

El objeto message describe el mensaje enviado al usuario final, incluyendo su ID, plantilla, contenido y URLs.
message.id
UUID
El ID de mensaje generado por OneSignal. Liquid: {{ message.id }}
message.name
string
El nombre del mensaje tal como se estableció en el dashboard o usando la propiedad name de la API. Liquid: {{ message.name }}
message.title
object
El título del mensaje push o asunto de email. Para push, devuelve un objeto localizado como {'en':'Your title'}. Para email, devuelve la línea de asunto como cadena simple. Establecido via dashboard o propiedades headings / email_subject de la API. Liquid: {{ message.title }}
message.contents
object
El contenido del mensaje push o SMS (recortado a 50 caracteres). El contenido de email (email_body) no se proporciona. Establecido via dashboard o propiedad contents de la API. Liquid: {{ message.contents }}
message.template_id
UUID
El ID de plantilla para un mensaje enviado mediante Journeys o la propiedad template_id de la API. Liquid: {{ message.template_id }}
message.url
string
La URL de lanzamiento del mensaje cuando se usa una sola URL agnóstica para web y app. Ver URLs, Links y Deep Links. Liquid: {{ message.url }}
message.app_url
string
La URL de lanzamiento específica de la app cuando se usan URLs separadas de web y app. Ver URLs, Links y Deep Links. Liquid: {{ message.app_url }}
message.web_url
string
La URL de lanzamiento específica de la web cuando se usan URLs separadas de web y app. Ver URLs, Links y Deep Links. Liquid: {{ message.web_url }}
message.live_activity_event_kind
string
El tipo de acción de Live Activity: start, update o end. Solo presente para eventos message.live_activity.*. Liquid: {{ message.live_activity_event_kind }}

Ejemplo de objeto de mensaje

Copia este template Liquid en el cuerpo de tu Event Stream para capturar todos los campos de mensaje:
JSON
{
  "message.id": "{{ message.id }}",
  "message.name": "{{ message.name }}",
  "message.title": "{{ message.title }}",
  "message.contents": "{{ message.contents }}",
  "message.template_id": "{{ message.template_id }}",
  "message.url": "{{ message.url }}",
  "message.app_url": "{{ message.app_url }}",
  "message.web_url": "{{ message.web_url }}"
}
Una notificación push:
JSON
{
  "message.id": "f3c9cd09-10d7-4f59-b9bc-66e16607f1d5",
  "message.name": "weekly-promo-push",
  "message.title": "{'en':'Flash Sale: 50% Off Today'}",
  "message.contents": "{'en':'Shop now and save on select items'}",
  "message.template_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "message.url": "https://example.com/sale",
  "message.app_url": "",
  "message.web_url": ""
}
Un mensaje de email — message.title es la línea de asunto como cadena simple, y message.contents está vacío porque el contenido del cuerpo del email no se incluye en los datos del Event Stream:
JSON
{
  "message.id": "e2d3c4b5-a6f7-8901-bcde-f12345678901",
  "message.name": "onboarding-welcome-email",
  "message.title": "Welcome to Acme — here's how to get started",
  "message.contents": "",
  "message.template_id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
  "message.url": "",
  "message.app_url": "",
  "message.web_url": ""
}

Propiedades de user

El objeto user contiene datos a nivel de perfil del usuario que recibió el mensaje.
user.onesignal_id
string
El OneSignal ID del usuario. Liquid: {{ user.onesignal_id }}
user.external_id
string
El External ID del usuario. Liquid: {{ user.external_id }}
user.tags
object
Las etiquetas del usuario. Accede al objeto completo con {{ user.tags }} o a una etiqueta específica con {{ user.tags.your_tag }}. Usa un valor predeterminado para manejar etiquetas faltantes: {{ user.tags.your_tag | default: '' }}.
user.language
string
El código de idioma del usuario. Liquid: {{ user.language }}

Propiedades de subscription

Estas propiedades describen la suscripción que recibió el mensaje.
user.subscription.id
string
El OneSignal ID de la suscripción. Liquid: {{ user.subscription.id }}
user.subscription.app_id
string
El OneSignal App ID. Liquid: {{ user.subscription.app_id }}
user.subscription.subscription_token
string
El token específico de plataforma de la suscripción. Para Email, es la dirección de email. Para SMS, un número de teléfono en formato E.164. Para Push, el token push. Liquid: {{ user.subscription.subscription_token }}
user.subscription.session_count
number
Total de sesiones registradas para esta suscripción. Liquid: {{ user.subscription.session_count }}
user.subscription.language
string
El código de idioma establecido en la suscripción. Liquid: {{ user.subscription.language }}
user.subscription.game_version
string
La versión de app o juego reportada por la suscripción. Liquid: {{ user.subscription.game_version }}
user.subscription.last_active
number
Timestamp UNIX de la sesión más reciente de la suscripción. Liquid: {{ user.subscription.last_active }}
user.subscription.play_time
number
Tiempo total de juego registrado para esta suscripción, en segundos. Liquid: {{ user.subscription.play_time }}
user.subscription.amount_spent
number
Monto total de compras in-app registrado para esta suscripción. Liquid: {{ user.subscription.amount_spent }}
user.subscription.created_at
number
Timestamp UNIX de cuando se creó la suscripción. Liquid: {{ user.subscription.created_at }}
user.subscription.subscribed
boolean
Si la suscripción está actualmente activa. Liquid: {{ user.subscription.subscribed }}
user.subscription.sdk
string
La versión del OneSignal SDK en el dispositivo de la suscripción. Liquid: {{ user.subscription.sdk }}
user.subscription.device_model
string
El modelo de hardware del dispositivo (ej.: “iPhone14,2”, “Pixel 7”). Liquid: {{ user.subscription.device_model }}
user.subscription.device_os
string
El sistema operativo y versión del dispositivo (ej.: “iOS 17.2”, “Android 14”). Liquid: {{ user.subscription.device_os }}

Páginas relacionadas

Event Streams

Configura Event Streams, incluyendo setup, templates de cuerpo y depuración.

Uso de sintaxis Liquid

Referencia de sintaxis Liquid para personalizar cuerpos de Event Stream.

Event Streams de mensajes in-app

Detalles sobre datos de eventos de mensajes in-app y rastreo de carruseles.

Glosario de métricas

Definiciones de todas las métricas de eventos de mensaje entre canales.

Preguntas frecuentes

¿Por qué faltan o están en blanco algunos datos de evento?

Los datos de mensajes para Journeys y envíos vía API se retienen durante 30 días. Si un usuario interactúa con un mensaje (clic, apertura, cancelación de suscripción) más de 30 días después de enviarse, las propiedades de mensaje asociadas pueden estar en blanco. Para solucionar esto, correlaciona el message.id del evento de interacción con el evento sent original, que contiene los datos completos del mensaje.

¿Cuál es la diferencia entre event.id y message.id?

event.id es un identificador único para el evento individual (ej.: un clic específico). message.id es el identificador del mensaje que fue enviado — múltiples eventos pueden compartir el mismo message.id (por ejemplo, un evento sent y un evento clicked para la misma notificación push).

¿Cuál es el formato de message.title para push vs email?

Para notificaciones push, message.title devuelve un objeto localizado como {'en':'Your title'}. Para email, devuelve la línea de asunto como cadena simple. El formato depende del canal.

¿Los Eventos Personalizados están incluidos en Event Streams?

No. Event Streams contiene eventos de mensaje (enviado, clicado, abierto, rebotado, etc.) — no Eventos Personalizados. Los Eventos Personalizados son acciones del usuario que envías a OneSignal. Event Streams exporta datos de entrega y participación de mensajes desde OneSignal.

¿Cómo hago referencia a una etiqueta específica en el cuerpo de mi Event Stream?

Usa {{ user.tags.your_tag_key }} con la clave de etiqueta exacta. Para evitar errores cuando una etiqueta no está definida, agrega un valor predeterminado: {{ user.tags.your_tag_key | default: '' }}. Ver Uso de sintaxis Liquid para más detalles.