Cómo funciona la personalización
Puedes agregar datos personalizados a mensajes, plantillas, Webhooks de Journey y Event Streams usando sintaxis Liquid. Los datos pueden provenir de:- Feeds de datos: Datos en tiempo real desde tus APIs.
- Eventos personalizados: Eventos de usuario en tiempo real para personalizar mensajes de Journey.
- Propiedades y etiquetas: Valores integrados de usuario, journey, mensaje, plantilla, app u organización.
- API:
custom_data: Datos personalizados que pasas directamente a nuestra API de Create Message. - Contenido dinámico: Personalización basada en CSV a través de cargas del panel.
Consideraciones clave
La personalización ayuda a los usuarios a conectarse más profundamente con tu aplicación, potencialmente aumentando la participación y los ingresos. Los ejemplos comunes son poner el nombre de la persona o información específica (como artículos de carrito abandonado) en un mensaje, pero los casos de uso son infinitos. ¿Cuál es el objetivo? ¿Qué deseas enviar en el mensaje? Ejemplos:- Agregar una propiedad de usuario como nombre o ID
- Mostrar factura o OTP
- Enviar contenido dinámico desde un CSV
- ¿Los datos están almacenados en OneSignal como una propiedad o una etiqueta?
- ¿Los datos están almacenados en tu propia base de datos?
- ¿Necesitas pasar datos desde tu backend a OneSignal?
- Mensajes únicos: ¿Enviar el mensaje desde tu servidor o a través del panel de OneSignal?
- Mensajes recurrentes: ¿Usando Journeys u otros flujos de trabajo automatizados?
- Objetivo: Enviar una contraseña de un solo uso para ayudar a un usuario a iniciar sesión.
- Datos:
- OTP almacenado en tu backend.
- Nombre de usuario almacenado en OneSignal como una etiqueta.
- ID externo almacenado en OneSignal como una propiedad.
- Envío:
- Desde tu servidor usando nuestra API REST.
- Desde un flujo de trabajo automatizado usando Journeys.
Un tutorial detallado de este ejemplo está disponible en el tutorial de ejemplo de verificación, Magic Link y OTP.Consulta más ejemplos de tutoriales a continuación.
Fuentes de datos
Opciones disponibles para personalización.Contenido dinámico
Esta guía actual sobre personalización explica cómo agregar contenido dinámico a tus mensajes, plantillas, Journeys y Event Streams. OneSignal también proporciona una forma de cargar un CSV de datos para personalizar los mensajes basados en datos de tu propia base de datos. Consulta Contenido dinámico para más detalles.Feeds de datos
Los Feeds de datos son una forma de extraer datos en tiempo real desde tus APIs directamente a los mensajes en el momento del envío. Solo conecta una plantilla a tu fuente de datos y extraeremos los datos de tu servidor e inyectarlos en el mensaje.Eventos personalizados
Haz referencia a Eventos personalizados dentro de las plantillas utilizadas en Journeys. Dependiendo de la configuración del Journey, puede almacenar uno o más eventos personalizados en nombre del usuario. Puedes usar sintaxis Liquid para mostrar propiedades de estos eventos almacenados, o para mostrar condicionalmente partes de tu mensaje basándose en los eventos.- Los Journeys activados por eventos almacenarán el evento que causó que el usuario entrara al Journey
- Cualquier Journey que use nodos Wait Until almacenará eventos personalizados cuando coincidan con una condición.
- Propiedades de eventos personalizados
- Ejemplo de estructura de evento personalizado
- Usando eventos en plantillas
journey.first_event
Para Journeys activados por eventos, este siempre será el evento que causó que el usuario entrara al Journey.Si la regla de entrada del Journey no está activada por eventos, entonces este será el primer evento que coincida con una condición Wait Until.
journey.last_event
El evento personalizado más reciente almacenado. Si solo hay un evento personalizado almacenado, entonces
first_event y last_event devolverán lo mismo.journey.event.most_recent_event_name
El evento más reciente con un nombre dado (reemplaza
most_recent_event_name con el nombre del evento que deseas referenciar). Si el mismo evento se usa varias veces, esto devolverá la instancia más reciente. Ejemplo: purchase.Para caracteres especiales (ej. espacios), usa notación hash si el nombre del evento contiene caracteres no alfanuméricos. Por ejemplo, si el nombre del evento es “order status”, puedes referenciarlo con
journey.event["order status"].journey.all_events
Proporciona un array de todos los eventos almacenados para este Journey para el usuario, en el orden en que se recibieron. Puedes usar bucles for para iterar sobre ellos.
first_event y last_event son abreviaciones de all_events[0] y all_events[-1], respectivamente.Propiedades
Campos predefinidos guardados en OneSignal.Propiedades de usuario y suscripción
Sigue los pasos proporcionados según dónde necesites acceder a los datos.- Propiedades disponibles en mensajes y plantillas
- Propiedades disponibles en Webhooks de Journey y Event Streams
Usa el objeto Si tienes etiquetas
subscription para acceder a propiedades en el nivel de suscripción en mensajes y plantillas. Las etiquetas también se pueden acceder directamente a través del nombre de la clave. Por ejemplo:first_name: Jon y level: 5 para el usuario A y first_name: Jeff y level: 100 para el usuario B, cada uno verá su nombre y nivel en el mensaje. De lo contrario, verán los valores predeterminados.subscription.external_id
El ID externo asociado con la suscripción.
subscription.email
La dirección de correo electrónico de la suscripción de correo electrónico a la que se envía el mensaje.
subscription.phone_number
El número de teléfono de la suscripción de SMS a la que se envía el mensaje.
subscription.language
El código de idioma del usuario.
subscription.unsubscribe_token
El token utilizado con la API de cancelar suscripción de correo electrónico con token.
liquid
Propiedades de Journey
El objetojourney es útil para rastrear el nombre del Journey o referenciar eventos personalizados dentro de las plantillas utilizadas en Journeys.
journey.name
El nombre del Journey.
JSON
Propiedades de mensaje
El objetomessage es útil para acceder a custom_data enviado desde tu backend o para rastrear propiedades del mensaje con Event Streams.
message.id
El ID del mensaje de OneSignal.
JSON
message.name
El nombre del mensaje.
JSON
message.template_id
El ID de plantilla de OneSignal.
JSON
Propiedades de plantilla
El objetotemplate es útil para acceder a detalles sobre la plantilla utilizada para enviar el mensaje.
template.id
El ID de plantilla de OneSignal.
JSON
template.name
El nombre de la plantilla.
JSON
Propiedades de OneSignal
Los objetosapp y org son útiles para acceder a detalles sobre la aplicación y organización que envió el mensaje.
app.id
El ID de aplicación de OneSignal.
JSON
app.name
El nombre de la aplicación de OneSignal.
JSON
org.id
El ID de organización de OneSignal.
JSON
org.name
El nombre de la organización de OneSignal.
JSON
API custom_data
Agrega personalización directamente desde tu backend usando custom_data y nuestra API de Create message.
Pasos:
- Crea una plantilla
- Usa sintaxis Liquid con el formato
{{ message.custom_data.key }} - Envía una solicitud API con el objeto
custom_dataytemplate_id
Ejemplo: JSON plano
Template
API Request
El cliente ve:
- “Tu factura para Widget está lista.”
- La URL final:
https://your-domain.com/invoice=463246732
Ejemplo: Datos de array
Template
API Request
El cliente ve:
- “¡Tu sweater te está esperando!”
- La imagen:
https://.../sweater.png
Ejemplo: Personalización masiva
Para personalizar un solo mensaje para muchos usuarios en una solicitud:Template
API Request
El cliente ve:
- “Hola John, tienes 150 puntos. Tu nivel es Gold.”
- “Hola Sarah, tienes 200 puntos. Tu nivel es Platinum.”
Tutoriales
Tutorial de ejemplo de verificación, Magic Link y OTP
Envía correos electrónicos de verificación, enlaces mágicos por SMS, contraseñas de un solo uso o URLs personalizadas.
Contenido de carrito abandonado
Envía listas de datos a los usuarios como en un carrito abandonado o tabla de clasificación.
Mensajes transaccionales
Envía cualquier tipo de mensaje transaccional a través de cualquier canal.
Ejemplos de mensajes dentro de la aplicación
Muestra mensajes personalizados dentro de la aplicación basados en etiquetas.