Skip to content

Objet Attributs d’utilisateur

Une requête API contenant des champs dans l’objet attributes crée ou met à jour un attribut de ce nom avec la valeur indiquée dans le profil utilisateur spécifié.

Utilisez les noms de champs de profil utilisateur Braze (énumérés ci-après ou tout autre répertorié dans la section Champs de profil utilisateur Braze) pour mettre à jour ces valeurs spéciales sur le profil utilisateur dans le tableau de bord, ou ajoutez vos propres données d’attributs personnalisés à l’utilisateur.

Corps de l’objet

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{
  // One of "external_id" or "user_alias" or "braze_id" or "email" or "phone" is required
  "external_id" : (optional, string) see external user ID,
  "user_alias" : (optional, User alias object),
  "braze_id" : (optional, string) Braze user identifier,
  "email": (optional, string) User email address,
  "phone": (optional, string) User phone number,
  // Setting this flag to true puts the API in "Update Only" mode.
  // When using a "user_alias", "Update Only" defaults to true.
  "_update_existing_only" : (optional, boolean),
  // See note regarding anonymous push token imports
  "push_token_import" : (optional, boolean),
  // Braze User Profile Fields
  "first_name" : "Jon",
  "email" : "[email protected]",
  // Custom Attributes
  "my_custom_attribute" : value,
  "my_custom_attribute_2" : {"inc" : int_value},
  "my_array_custom_attribute":[ "Value1", "Value2" ],
  // Adding a new value to an array custom attribute
  "my_array_custom_attribute" : { "add" : ["Value3"] },
  // Removing a value from an array custom attribute
  "my_array_custom_attribute" : { "remove" : [ "Value1" ]},
}

Pour supprimer un attribut de profil, définissez-le sur null. Certains champs, tels que external_id et user_alias, ne peuvent pas être supprimés après avoir été ajoutés à un profil utilisateur.

Résolution des identifiants

À moins que vous n’effectuiez une importation anonyme de jetons de notification push, chaque objet d’attributs utilisateur doit inclure au moins un identifiant : external_id, user_alias, braze_id, email ou phone. Dans la mesure du possible, incluez un seul identifiant par objet afin d’éviter toute ambiguïté quant au profil utilisateur mis à jour ou créé.

Gardez les points suivants à l’esprit lors de l’utilisation d’identifiants :

  • external_id et user_alias sont mutuellement exclusifs. L’inclusion des deux dans le même objet d’attributs utilisateur renvoie une erreur. Pour ajouter un alias à un utilisateur qui possède déjà un external_id, utilisez l’endpoint /users/alias/new.
  • email a priorité sur phone. Si email et phone sont tous deux inclus dans le même objet, Braze utilise email comme identifiant. Cela signifie que les attributs sont appliqués au profil utilisateur associé à cette adresse e-mail, même si le numéro de téléphone appartient à un profil différent.

Mettre à jour les profils existants uniquement

Si vous souhaitez mettre à jour uniquement les profils utilisateur existants dans Braze, vous devez passer la clé _update_existing_only avec la valeur true dans le corps de votre requête. Si cette valeur est omise, Braze crée un nouveau profil utilisateur si l’external_id n’existe pas encore.

Importation de jetons de notification push

Avant d’importer des jetons de notification push dans Braze, vérifiez si cela est nécessaire. Lorsque les SDK de Braze sont mis en place, ils gèrent automatiquement les jetons de notification push sans qu’il soit nécessaire de les télécharger via l’API.

Si vous devez les télécharger via l’API, vous pouvez le faire pour des utilisateurs identifiés ou anonymes. Cela signifie que soit un external_id doit être présent, soit les utilisateurs anonymes doivent avoir l’indicateur push_token_import défini sur true.

Lorsque vous indiquez push_token_import comme true :

  • external_id et braze_id ne doivent pas être spécifiés
  • L’objet d’attribut doit contenir un jeton de notification push
  • Si le jeton existe déjà dans Braze, la requête est ignorée ; dans le cas contraire, Braze crée un profil utilisateur temporaire et anonyme pour chaque jeton afin de vous permettre de continuer à envoyer des messages à ces personnes.

Après l’importation, lorsque chaque utilisateur lance la version de votre application compatible avec Braze, Braze transfère automatiquement son jeton de notification push importé vers son profil utilisateur Braze et supprime le profil temporaire.

Braze effectue une vérification mensuelle afin d’identifier tout profil anonyme marqué de l’indicateur push_token_import et ne disposant pas de jeton de notification push. Si le profil anonyme ne dispose plus d’un jeton de notification push, Braze supprime le profil. Toutefois, si le profil anonyme dispose toujours d’un jeton de notification push, ce qui indique que l’utilisateur réel ne s’est pas encore connecté à l’appareil avec ledit jeton, Braze ne prend aucune mesure.

Pour plus d’informations, consultez Migration des jetons de notification push.

Types de données des attributs personnalisés

Les types de données suivants peuvent être stockés en tant qu’attribut personnalisé :

Exemple de tableau d’objets

Ce tableau d’objets vous permet de créer des segments en fonction de critères spécifiques au sein des séjours et de personnaliser vos messages à l’aide des données de chaque séjour grâce aux modèles Liquid.

1
2
3
4
{"hotel_stays": [
  { "hotel_name": "Ocean View Resort", "check_in_date": "2023-06-15", "nights_stayed": 5 },
  { "hotel_name": "Mountain Lodge", "check_in_date": "2023-09-10", "nights_stayed": 3 }
]}

Champs de profil utilisateur Braze

Les paramètres linguistiques explicitement définis via cette API ont priorité sur les informations régionales que Braze reçoit automatiquement de l’appareil.

Exemple de requête d’attributs utilisateur

Cet exemple contient quatre objets d’attributs utilisateur, sur un total de 75 objets d’attributs autorisés par appel API.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
POST https://YOUR_REST_API_URL/users/track
Content-Type: application/json
Authorization: Bearer YOUR-REST-API-KEY
{
  "attributes" : [
    {
      "external_id" : "user1",
      "first_name" : "Jon",
      "has_profile_picture" : true,
      "dob": "1988-02-14",
      "music_videos_favorited" : { "add" : [ "calvinharris-summer" ], "remove" : ["nickiminaj-anaconda"] }
    },
    {
      "external_id" : "user2",
      "first_name" : "Jill",
      "has_profile_picture" : false,
      "push_tokens": [{"app_id": "Your App Identifier", "token": "abcd", "device_id": "optional_field_value"}]

    },
    {
      "user_alias" : { "alias_name" : "device123", "alias_label" : "my_device_identifier"},
      "first_name" : "Alice",
      "has_profile_picture" : false
    },
    {
      "external_id": "user3",
      "subscription_groups" : [{"subscription_group_id" : "subscription_group_identifier", "subscription_state" : "subscribed"}]
    }
  ]
}

Migration des jetons de notification push

Si vous envoyiez des notifications push avant d’intégrer Braze, que ce soit par vous-même ou via un autre fournisseur, la migration des jetons de notification push vous permet de continuer à envoyer des notifications push à vos utilisateurs disposant de jetons enregistrés.

Migration automatique via le SDK

Une fois le SDK Braze intégré, les jetons de notification push de vos utilisateurs abonnés sont automatiquement migrés lors de leur prochaine ouverture de l’application. Jusqu’à ce moment-là, il n’est pas possible d’envoyer des notifications push à ces utilisateurs via Braze.

Vous pouvez également migrer vos jetons de notification push manuellement, ce qui vous permet de réengager vos utilisateurs plus rapidement.

Considérations relatives aux jetons Web

En raison de la nature des jetons de notification push pour le Web, tenez compte des éléments suivants lors de la mise en œuvre du push pour le Web :

Migration manuelle via l’API

La migration manuelle des jetons de notification push consiste à importer ces clés précédemment créées dans votre plateforme Braze via l’API.

Migrez par programmation les jetons iOS (APNs) et Android (FCM) vers votre plateforme en utilisant l’endpoint users/track. Vous pouvez migrer à la fois les utilisateurs identifiés (utilisateurs avec un ID externe associé) et les utilisateurs anonymes (utilisateurs sans ID externe).

Spécifiez l’app_id de votre application lors de la migration des jetons de notification push pour associer le jeton approprié à l’application correspondante. Chaque application (iOS, Android, etc.) possède son propre app_id, disponible dans la section Identification de la page Clés API. Assurez-vous d’utiliser le bon app_id pour chaque plateforme.

Pour les utilisateurs identifiés, définissez l’indicateur push_token_import sur false (ou omettez le paramètre) et spécifiez les valeurs external_id, app_id et token dans l’objet attributes utilisateur.

Par exemple :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
curl --location --request POST 'https://rest.iad-01.braze.com/users/track' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR-API-KEY-HERE' \
--data-raw '{
  "attributes" : [
    {
      "push_token_import" : false,
      "external_id": "example_external_id",
      "country": "US",
      "language": "en",
      "YOUR_CUSTOM_ATTRIBUTE": "YOUR_VALUE",
      "push_tokens": [
        {"app_id": "APP_ID_OF_OS", "token": "PUSH_TOKEN_STRING"}
      ]
    }
  ]
}'

Lors de l’importation de jetons de notification push provenant d’autres systèmes, un external_id n’est pas toujours disponible. Dans ce cas, définissez votre indicateur push_token_import sur true et spécifiez les valeurs app_id et token. Braze crée un profil utilisateur temporaire et anonyme pour chaque jeton afin de vous permettre de continuer à envoyer des messages à ces personnes. Si le jeton existe déjà dans Braze, la requête est ignorée.

Par exemple :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
curl --location --request POST 'https://rest.iad-01.braze.com/users/track' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR-API-KEY-HERE' \
--data-raw '{
  "attributes": [
    {
      "push_token_import" : true,
      "email": "[email protected]",
      "country": "US",
      "language": "en",
      "YOUR_CUSTOM_ATTRIBUTE": "YOUR_VALUE",
      "push_tokens": [
        {"app_id": "APP_ID_OF_OS", "token": "PUSH_TOKEN_STRING", "device_id": "DEVICE_ID"}
      ]
    },

    {
      "push_token_import" : true,
      "email": "[email protected]",
      "country": "US",
      "language": "en",
      "YOUR_CUSTOM_ATTRIBUTE_1": "YOUR_VALUE",
      "YOUR_CUSTOM_ATTRIBUTE_2": "YOUR_VALUE",
      "push_tokens": [
        {"app_id": "APP_ID_OF_OS", "token": "PUSH_TOKEN_STRING", "device_id": "DEVICE_ID"}
      ]
    }
  ]
}'

Après l’importation, lorsque l’utilisateur anonyme lance la version de votre application compatible avec Braze, Braze transfère automatiquement son jeton de notification push importé vers son profil utilisateur Braze et supprime le profil temporaire.

Braze effectue une vérification mensuelle afin d’identifier tout profil anonyme marqué de l’indicateur push_token_import et ne disposant pas de jeton de notification push. Si le profil anonyme ne dispose plus d’un jeton de notification push, Braze supprime le profil. Toutefois, si le profil anonyme dispose toujours d’un jeton de notification push, ce qui indique que l’utilisateur réel ne s’est pas encore connecté à l’appareil avec ledit jeton, Braze ne prend aucune mesure.

Importation de jetons de notification push Android

Si vous devez envoyer des notifications push Android à vos utilisateurs avant que l’intégration du SDK Braze ne soit terminée, utilisez des paires clé-valeur pour valider les notifications push.

Vous devez disposer d’un récepteur pour gérer et afficher les charges utiles de notification push. Pour notifier le récepteur de la charge utile, ajoutez les paires clé-valeur nécessaires à la campagne push. Les valeurs de ces paires dépendent du partenaire push spécifique que vous utilisiez avant Braze.

New Stuff!