Passer au contenu

Configuration des tables pour l’ingestion de données cloud

Utilisez cette page pour choisir comment l’ingestion de données cloud (CDI) lit vos données, et pour configurer une table source avec une colonne payload si vous utilisez cette méthode.

Choisir une option de définition des données

Lorsque vous créez une synchronisation à partir d’une source d’entrepôt de données, vous choisissez comment Braze lit vos données à l’étape Définition des données. Les options affichées dépendent du type de synchronisation.

Option Fonctionnement Disponible pour
Visual Saisissez une table ou une vue et mappez ses colonnes aux champs Braze dans le tableau de bord, sans écrire de SQL. Pour plus de détails, consultez Visual mapper. Synchronisations d’attributs, d’événements personnalisés et de déclencheurs Canvas sur les sources d’entrepôt de données
SQL Écrivez une requête sur votre source. Les colonnes renvoyées par votre requête deviennent des champs Braze. Pour plus de détails, consultez Éditeur SQL. Tous les types de synchronisation sur les sources d’entrepôt de données
Colonne payload Créez une table ou une vue dans votre source avec un identifiant accepté par Braze, des colonnes UPDATED_AT et payload, où payload contient un objet JSON au format /users/track. Créez ensuite une synchronisation CDI, sélectionnez Table ou Visual à l’étape Définition des données, puis saisissez le nom de la table. Pour les exigences, consultez les sections suivantes. Tous les types de synchronisation sur toutes les sources, y compris le stockage de fichiers

Comprendre la configuration de la table par rapport au formatage du payload

Pour les synchronisations de données utilisateur CDI qui utilisent une colonne payload, configurez les deux éléments suivants :

Couche Ce qu’elle contrôle
Configuration de la table source Colonnes requises, identifiants utilisateur et comportement de synchronisation UPDATED_AT
Formatage du payload Champs JSON dans payload, y compris la structure des objets pour les attributs, événements et achats

Braze lit d’abord les lignes de votre table source, puis valide le champ payload en fonction du type de données sélectionné.

Configurer votre table source

Pour les synchronisations de données utilisateur d’entrepôt de données qui utilisent une colonne payload, votre table ou vue source doit inclure :

  • UPDATED_AT
  • payload
  • Une ou plusieurs colonnes d’identifiant utilisateur prises en charge :
    • EXTERNAL_ID
    • ALIAS_NAME et ALIAS_LABEL
    • BRAZE_ID
    • EMAIL
    • PHONE

Chaque ligne ne doit inclure qu’un seul type d’identifiant à la fois, même si votre table contient plusieurs colonnes d’identifiant.

Exigences pour UPDATED_AT

  • Stockez les valeurs UPDATED_AT en UTC pour éviter les problèmes liés aux changements d’heure.
  • Braze synchronise les lignes dont la valeur UPDATED_AT est postérieure à la dernière valeur synchronisée.
  • Les lignes se trouvant exactement à l’horodatage limite peuvent être re-synchronisées si de nouvelles lignes partagent cet horodatage.

Pour des conseils sur les horodatages en double et les mises à jour incrémentales, consultez les Bonnes pratiques pour l’ingestion de données cloud.

Configurer la colonne payload

La valeur payload suit les mêmes formats d’objets utilisés par l’endpoint Braze /users/track pour le type de données sélectionné.

Type de données Référence de formatage
attributes Objet d’attributs utilisateur
events Objet d’événements
purchases Objet d’achats

Pour les attributs imbriqués, incluez les dates en utilisant le format décrit dans Capturer des dates en tant que propriétés d’objet.

Exemples de payload

Vous pouvez inclure des attributs personnalisés imbriqués dans la colonne payload pour une synchronisation d’attributs personnalisés.

{
      "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
        }
      }
}

Pour synchroniser des événements, un nom d’événement est requis. Formatez le champ time sous forme de chaîne ISO 8601 ou au format yyyy-MM-dd'T'HH:mm:ss:SSSZ. Si le champ time n’est pas présent, Braze utilise la valeur de la colonne UPDATED_AT comme heure de l’événement. Les autres champs, notamment app_id et properties, sont facultatifs.

Vous pouvez synchroniser un événement par ligne.

{
    "app_id" : "your-app-id",
    "name" : "rented_movie",
    "time" : "2013-07-16T19:20:45+01:00",
    "properties": {
        "movie": "The Sad Egg",
        "director": "Alex Smith"
    }
}

Pour synchroniser des événements d’achat, product_id, currency et price sont requis. Formatez le champ facultatif time sous forme de chaîne ISO 8601 ou au format yyyy-MM-dd'T'HH:mm:ss:SSSZ. Si le champ time n’est pas présent, Braze utilise la valeur de la colonne UPDATED_AT comme heure de l’événement. Les autres champs, notamment app_id, quantity et properties, sont facultatifs.

Vous pouvez synchroniser un événement d’achat par ligne.

{
    "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 }
        ]
    }
}

Pour synchroniser les statuts des groupes d’abonnement, incluez une ou plusieurs paires subscription_group_id et subscription_state dans chaque ligne.

{
    "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"
        }
      ]
}
New Stuff!