Objetos anidados en eventos personalizados
Esta página explica cómo enviar datos JSON anidados como propiedades de eventos personalizados y compras, y cómo utilizar esos objetos anidados en tu mensajería.
Puedes usar objetos anidados —objetos que están dentro de otro objeto— para enviar datos JSON anidados como propiedades de eventos personalizados y compras. Estos datos anidados se pueden utilizar para crear plantillas con información personalizada en mensajes, desencadenar envíos de mensajes y segmentar usuarios.
Consideraciones
- Los datos anidados son compatibles tanto con los eventos personalizados como con los eventos de compra, pero no con otros tipos de eventos.
- Los objetos de propiedades del evento que contienen valores de matriz u objeto pueden tener una carga útil de propiedades del evento de hasta 100 KB.
- Los esquemas de propiedades del evento no se pueden generar para eventos de compra.
- Los esquemas de propiedades del evento se generan mediante el muestreo de eventos personalizados de las últimas 24 horas.
Versiones mínimas del SDK
Las siguientes versiones del SDK son compatibles con los objetos anidados:
Paso 1: Generar un esquema
Puedes acceder a los datos anidados en tu evento personalizado generando un esquema para cada evento con propiedades de eventos anidados. Para generar un esquema:
- Ve a Configuración de datos > Eventos personalizados.
- Selecciona Gestionar propiedades para los eventos con propiedades anidadas.
- Selecciona el botón para generar el esquema. Para ver el esquema, selecciona el botón de más.

Si se envían nuevas propiedades en el futuro, no estarán en el esquema hasta que se regenere. Los esquemas pueden regenerarse cada 24 horas.
Paso 2: Usa el objeto anidado
Puedes hacer referencia a los datos anidados durante la segmentación y la personalización. Ten en cuenta que no se requiere un esquema. Consulta las siguientes secciones para ver ejemplos de uso:
- Cuerpo de la solicitud de API
- Plantillas Liquid
- Desencadenamiento de mensajes
- Segmentación
- Personalización
Cuerpo de la solicitud de API
A continuación se muestra un ejemplo de /users/track con un evento personalizado “Created Playlist”. Después de que se haya creado una lista de reproducción, captura las propiedades de la lista de reproducción enviando:
- Una solicitud de API que lista “songs” como una propiedad
- Un array de las propiedades anidadas de las canciones
...
"properties": {
"songs": [
{
"title": "Smells Like Teen Spirit",
"artist": "Nirvana",
"album": {
"name": "Nevermind",
"yearReleased": "1991"
}
},
{
"title": "While My Guitar Gently Weeps",
"artist": "the Beatles",
"album": {
"name": "The Beatles",
"yearReleased": "1968"
}
}
]
}
...
A continuación se muestra un ejemplo de /users/track con un evento personalizado “Ordered”. Después de que se haya completado un pedido, captura las propiedades de ese pedido enviando:
- Una solicitud de API que lista
r_detailscomo una propiedad - Las propiedades anidadas de ese pedido
...
"properties": {
"r_details": {
"name": "SandwichEmperor",
"identifier": "12345678",
"location" : {
"city": "Montclair",
"state": "NJ"
}
}
}
...

Para las propiedades de eventos personalizados anidados, si el año es menor que 0 o mayor que 3000, Braze no almacena estos valores en el usuario.
Plantillas Liquid
A continuación se muestra cómo crear una plantilla Liquid que haga referencia a las propiedades anidadas solicitadas en la solicitud de API anterior.
Uso de plantillas en Liquid en un mensaje desencadenado por el evento “Created Playlist”:
{{event_properties.${songs}[0].album.name}}: “Nevermind”
{{event_properties.${songs}[1].title}}: “While My Guitar Gently Weeps”
Uso de plantillas en Liquid en un mensaje desencadenado por el evento “Ordered”:
{{event_properties.${r_details}.location.city}}: “Montclair”
Desencadenamiento de mensajes
Para usar estas propiedades para desencadenar una Campaign, selecciona tu evento personalizado o compra, y luego añade un filtro de Propiedad anidada. Los desencadenantes de eCommerce Place Order y Update Cart (desencadenantes de eCommerce) aceptan los mismos tipos de filtro. Ten en cuenta que el desencadenamiento de mensajes aún no es compatible con mensajes dentro de la aplicación, pero las propiedades anidadas en la personalización Liquid en los mensajes se seguirán mostrando.
Desencadenar una Campaign con propiedades anidadas del evento “Created Playlist”:

La condición de desencadenamiento songs[].album.yearReleased “is” “1968” coincidirá con un evento en el que cualquiera de las canciones tenga un álbum lanzado en 1968. Usamos la notación de corchetes [] para recorrer arrays, y coincide si cualquier elemento del array recorrido coincide con la propiedad del evento.

El filtro no es igual a solo coincide si ninguna de las propiedades de tu array es igual al valor proporcionado.
Por ejemplo, supongamos que Canvas A tiene el filtro de propiedad anidada de evento personalizado basado en acción es igual a “smartwatch”, y Canvas B tiene el filtro de propiedad anidada de evento personalizado basado en acción no es igual a “simphone”. Si tienes “smartwatch” y “simphone” en tus propiedades, ambos Canvas se desencadenarán. Pero si tienes “simphone” o “sim only” en cualquier propiedad, ningún Canvas se desencadenará.
Desencadenar una Campaign con propiedades anidadas del evento “Ordered”:

r_details.name: “SandwichEmperor”
r_details.location.city: “Montclair”

Si la propiedad de tu evento contiene los caracteres [] o ., escápalos envolviéndolos entre comillas dobles. Por ejemplo, "songs[].album".yearReleased coincidirá con un evento con la propiedad literal "songs[].album".
Segmentación
Para segmentar usuarios basándote en propiedades de eventos anidados, debes usar extensiones de segmento. Después de que hayas generado un esquema, el explorador de objetos anidados se mostrará en la sección de segmentación.

La segmentación usa la misma notación que el desencadenamiento (consulta Desencadenamiento de mensajes).
Para editar o crear extensiones de segmento, necesitarás el permiso “Edit Segments”.
Personalización
Usando el modal Agregar personalización, selecciona Propiedades avanzadas de eventos como el tipo de personalización. Esto permite la opción de añadir propiedades de eventos anidados después de que se haya generado un esquema.

Probar objetos anidados en mensajes
La herramienta Vista previa y prueba del panel no admite la adición de datos simulados para objetos anidados ni atributos personalizados anidados. Para probar mensajes que hacen referencia a datos anidados a través de Liquid, puedes previsualizar mensajes con atributos anidados como un usuario existente que tenga ese atributo anidado, o previsualizar mensajes con propiedades de eventos personalizados lanzando una campaña en vivo a usuarios de prueba.
Atributos personalizados anidados
- Importa los atributos anidados al perfil de usuario de prueba a través de la API.
- En tu Campaign o Canvas, ve a Vista previa y prueba.
- Selecciona Previsualizar como usuario y busca al usuario de prueba. El Liquid se resolverá utilizando los atributos anidados reales del perfil de ese usuario.
Propiedades de eventos anidados
Las propiedades de eventos anidados no se pueden previsualizar en el panel porque requieren un desencadenador de evento en vivo. Para probar:
- Crea un paso en Campaign o Canvas que se dirija solo a tus usuarios de prueba y que se desencadene por (o haga referencia a) el evento personalizado con propiedades anidadas.
- Lanza la campaña a tu audiencia de prueba.
- Registra el evento personalizado con la carga útil del objeto anidado en el perfil de tu usuario de prueba (usando la API o el SDK).
- Verifica que el mensaje se renderice correctamente con los valores de las propiedades anidadas.
Preguntas frecuentes
¿El uso de objetos anidados registra puntos de datos adicionales?
No hay cambios en la forma en que registramos los puntos de datos como resultado de agregar esta capacidad. La segmentación basada en objetos anidados utiliza extensiones de segmento, lo cual no consume puntos de datos adicionales.
¿Cuántos datos anidados se pueden enviar?
Si una o más propiedades del evento contienen datos anidados, la carga útil máxima para todas las propiedades combinadas de un evento es de 100 KB. Cualquier solicitud que supere ese límite de tamaño será rechazada.