Configuración de tablas de ingesta de datos en la nube
Usa esta página para elegir cómo la ingesta de datos en la nube (CDI) lee tus datos y para configurar una tabla de origen con una columna
PAYLOADsi utilizas ese método.
Elige una opción de definición de datos
Cuando creas una sincronización desde un almacén de datos, en el paso Definición de datos eliges cómo lee Braze tus datos. Las opciones disponibles dependen del tipo de sincronización.
| Opción | Cómo funciona | Disponible para |
|---|---|---|
| Visual | Introduce una tabla o vista y asigna sus columnas a campos de Braze en el panel, sin escribir SQL. Para más detalles, consulta Asignador visual. | Sincronizaciones de atributos de usuario, eventos personalizados y desencadenantes de Canvas en almacenes de datos. |
| SQL | Escribe una consulta sobre tu origen. Las columnas que devuelve tu consulta se convierten en campos de Braze. Para más detalles, consulta Editor SQL. | Todos los tipos de sincronización en almacenes de datos. |
Columna PAYLOAD |
Crea una tabla o vista en tu origen con columnas de identificadores aceptados por Braze, UPDATED_AT y PAYLOAD, donde PAYLOAD contiene un objeto JSON en un formato de la REST API de Braze, como /users/track para sincronizaciones de atributos de usuario. Después, crea una sincronización de CDI, selecciona Tabla o Visual en el paso Definición de datos e introduce el nombre de la tabla. Para conocer los requisitos, consulta las secciones siguientes. |
Todos los tipos de sincronización en todos los orígenes, incluido el almacenamiento de archivos. |
Orientación sobre la organización de datos
Cada sincronización de CDI actualiza un tipo de datos a la vez, como atributos de usuario, eventos personalizados, eventos de compra o artículos del catálogo. Cuando configures tus tablas o vistas de origen, organiza tus datos según cómo planeas sincronizarlos:
- Una tabla por tipo de datos: Crear tablas o vistas independientes para cada tipo de datos (por ejemplo,
user_attributes,custom_events,purchases) te ofrece una separación clara y facilita la administración de distintos horarios de sincronización y definiciones de datos. - Tabla de origen compartida: Si usas los modos de asignación visual o SQL, varias sincronizaciones pueden extraer datos de la misma tabla de origen. Por ejemplo, una sincronización de atributos y una sincronización de eventos pueden consultar la misma tabla, pero igualmente creas sincronizaciones independientes en el panel de Braze: una para atributos y otra para eventos. Cada sincronización asigna o consulta solo las columnas que necesita.
Elige el enfoque que mejor se adapte a tu canalización de datos y a la cantidad de casos de uso que administras. Ambos patrones funcionan a medida que tus casos de uso crecen.
Comprender la configuración de la tabla en comparación con el formato de la carga útil
Para las sincronizaciones de datos de usuario de CDI que usan una columna PAYLOAD, configura ambos elementos:
| Capa | Qué controla |
|---|---|
| Configuración de la tabla de origen | Columnas obligatorias, identificadores de usuario y comportamiento de sincronización de UPDATED_AT |
| Formato de la carga útil | Campos JSON en PAYLOAD, incluida la estructura de objetos para atributos, eventos y compras |
Braze lee primero las filas de tu tabla de origen y luego valida el campo PAYLOAD según el tipo de datos seleccionado.
Configura tu tabla de origen
Para las sincronizaciones de datos de usuario desde un almacén de datos que utilizan una columna PAYLOAD, tu tabla o vista de origen debe incluir:
UPDATED_ATPAYLOAD- Una o más columnas de identificador de usuario compatibles:
EXTERNAL_IDALIAS_NAMEyALIAS_LABELBRAZE_IDEMAILPHONE
Cada fila debe incluir un solo tipo de identificador a la vez, aunque tu tabla contenga varias columnas de identificador.
Requisitos de UPDATED_AT
- Almacena los valores de
UPDATED_ATen UTC para evitar problemas con el horario de verano. - Braze sincroniza las filas cuyo
UPDATED_ATes posterior al último valor sincronizado. - Las filas con la marca de tiempo límite exacta pueden volver a sincronizarse si hay filas nuevas que comparten esa marca de tiempo.
Para obtener orientación sobre marcas de tiempo duplicadas y actualizaciones incrementales, consulta Prácticas recomendadas para la ingesta de datos en la nube.

Los orígenes de almacenamiento de archivos tienen requisitos de configuración diferentes y no admiten UPDATED_AT. Para más detalles, consulta la sección Formatos de archivo requeridos en la página de tu origen: Amazon S3, Google Cloud Storage o Azure Blob Storage.
Configurar la columna PAYLOAD
El valor de PAYLOAD sigue los mismos formatos de objeto que usa el endpoint /users/track de Braze para el tipo de datos seleccionado.
| Tipo de datos | Referencia de formato |
|---|---|
attributes |
Objeto de atributos de usuario |
events |
Objeto de eventos |
purchases |
Objeto de compras |
Para los atributos anidados, incluye las fechas con el formato descrito en Capturar fechas como propiedades de objetos.
Ejemplos de carga útil
Puedes incluir atributos personalizados anidados en la columna de carga útil para una sincronización de atributos personalizados.
{
"most_played_song": {
"song_name": "Solea",
"artist_name": "Miles Davis",
"album_name": "Sketches of Spain",
"genre": "Jazz",
"play_analytics": {
"count": 1000,
"top_10_listeners": true
}
}
}
Para sincronizar eventos, se requiere un nombre de evento. Formatea el campo time como una cadena ISO 8601 o con el formato yyyy-MM-dd'T'HH:mm:ss:SSSZ. Si el campo time no está presente, Braze usa el valor de la columna UPDATED_AT como hora del evento. Los demás campos, incluidos app_id y properties, son opcionales.
Puedes sincronizar un evento por fila.
{
"app_id" : "your-app-id",
"name" : "rented_movie",
"time" : "2013-07-16T19:20:45+01:00",
"properties": {
"movie": "The Sad Egg",
"director": "Alex Smith"
}
}
Para sincronizar eventos de compra, se requieren product_id, currency y price. Formatea el campo opcional time como una cadena ISO 8601 o con el formato yyyy-MM-dd'T'HH:mm:ss:SSSZ. Si el campo time no está presente, Braze usa el valor de la columna UPDATED_AT como hora del evento. Los demás campos, incluidos app_id, quantity y properties, son opcionales.
Puedes sincronizar un evento de compra por fila.
{
"app_id" : "11ae5b4b-2445-4440-a04f-bf537764c9ad",
"product_id" : "Completed Order",
"currency" : "USD",
"price" : 219.98,
"time" : "2013-07-16T19:20:30+01:00",
"properties" : {
"products" : [ { "name": "Monitor", "category": "Gaming", "product_amount": 19.99 },
{ "name": "Gaming Keyboard", "category": "Gaming ", "product_amount": 199.99 }
]
}
}
Para sincronizar los estados de los grupos de suscripción, incluye uno o más pares de subscription_group_id y subscription_state en cada fila.
{
"subscription_groups" : [
{
"subscription_group_id": "subscription_group_identifier_1",
"subscription_state": "unsubscribed"
},
{
"subscription_group_id": "subscription_group_identifier_2",
"subscription_state": "subscribed"
},
{
"subscription_group_id": "subscription_group_identifier_3",
"subscription_state": "subscribed"
}
]
}