Objet Achat
Cet article explique les différents composants d’un objet Achat, comment l’utiliser correctement, les bonnes pratiques et des exemples dont vous pouvez vous inspirer.

L’ancien événement d’achat passe en mode maintenance. Les clients Braze existants peuvent continuer à utiliser les anciens événements d’achat. Ils continueront de fonctionner normalement, mais les nouvelles fonctionnalités seront désormais développées sur la base des événements recommandés pour le commerce électronique. Braze vous informera bien à l’avance avant qu’une date de fin de vie ne soit fixée. Les nouveaux clients Braze doivent utiliser les événements recommandés pour le commerce électronique, car les anciens événements d’achat ne seront pas disponibles.
Qu’est-ce qu’un objet d’achat ?
Un objet d’achat est un objet transmis via l’API lorsqu’un achat a été effectué. Chaque objet d’achat se trouve dans un tableau d’achats, et chaque objet correspond à un achat unique effectué par un utilisateur donné à un moment précis. L’objet d’achat comporte de nombreux champs qui permettent au backend de Braze de stocker et d’utiliser ces informations pour la customisation, la collecte de données et la personnalisation.
Corps de l’objet
{
// One of "external_id" or "user_alias" or "braze_id" or "email" or "phone" is required.
"external_id" : (optional, string) External user ID,
"user_alias" : (optional, User Alias Object) User alias object,
"braze_id" : (optional, string) Braze user identifier,
"email": (optional, string) User email address,
"phone": (optional, string) User phone number,
"app_id" : (optional, string) see App Identifier,
// See the following product_id naming conventions for clarification.
"product_id" : (required, string) identifier for the purchase, for example, Product Name or Product Category,
"currency" : (required, string) ISO 4217 Alphabetic Currency Code,
//Revenue from a purchase object is calculated as the product of quantity and price.
"price" : (required, float) value in the base currency unit (for example, Dollars for USD, Yen for JPY),
"quantity" : (optional, integer) the quantity purchased (defaults to 1, must be <= 100 -- currently, Braze treats a quantity _X_ as _X_ separate purchases with quantity 1),
"time" : (required, datetime as string in ISO 8601) Time of purchase,
// See the following purchase object explanation for clarification.
"properties" : (optional, Properties Object) properties of the event,
// Setting this flag to true puts the API in "Update Only" mode.
// When using a "user_alias", "Update Only" mode is always true.
"_update_existing_only" : (optional, boolean)
}

Les achats dont l’horodatage se situe dans le futur sont ramenés par défaut à l’heure actuelle. Cela garantit que les événements d’achat sont enregistrés avec un horodatage précis.
- ID utilisateur externe
- Identifiant d’application
- Wiki sur le code de devise ISO 4217
- Wiki sur le code temporel ISO 8601

Certaines paires d’identifiants ne peuvent pas être utilisées ensemble, et email est prioritaire sur phone lorsque les deux sont fournis. Pour plus de détails, consultez la section Résolution des identifiants.
ID de produit d’achat
Dans l’objet d’achat, le product_id est un identifiant de l’achat (par exemple Product Name ou Product Category) :
- Braze vous permet de stocker jusqu’à 5 000
product_iddans le tableau de bord. - Le
product_idpeut comporter jusqu’à 255 caractères.
Conventions de nommage
Chez Braze, nous proposons quelques conventions de nommage générales pour le product_id de l’objet d’achat. Lorsque vous choisissez un product_id, Braze vous suggère d’utiliser des noms simples, comme le nom ou la catégorie du produit (plutôt que des unités de gestion des stocks), afin de regrouper tous les articles enregistrés sous ce product_id.
Les produits sont ainsi plus faciles à identifier pour la segmentation et le déclenchement.
Enregistrer les achats au niveau de la commande
Si vous souhaitez enregistrer les achats au niveau de la commande plutôt qu’au niveau du produit, vous pouvez utiliser le nom ou la catégorie de la commande comme product_id (par exemple Online Order ou Completed Order).
Par exemple, pour enregistrer des achats au niveau de la commande dans le SDK Web :
POST https://YOUR_REST_API_URL/users/track
Content-Type: application/json
Authorization: Bearer YOUR-REST-API-KEY
{
"purchases" : [
{
"external_id" : "user1",
"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, }
]
}
}
]
}
Objet des propriétés d’achat
Les propriétés d’achat servent au filtrage et à la personnalisation Liquid dans les messages déclenchés par leurs événements d’achat parents. Par défaut, elles ne sont pas conservées dans le profil utilisateur Braze. Pour utiliser les valeurs des propriétés d’achat dans la segmentation, consultez la section Segmentation par propriétés d’événement. Cette fonctionnalité stocke les valeurs dans le profil utilisateur pendant une fenêtre d’analyse rétrospective pouvant aller jusqu’à 30 jours.
The properties values must be an object up to 50 KB where the keys are the property names and the values are the property values. Property names must be strings, 255 characters or fewer, with no leading dollar signs ($).
Property values can be any of the following data types:
| Data type | Description |
|---|---|
| Number | Integer or float |
| Boolean | Value true or false |
| Datetime | String in ISO 8601 or yyyy-MM-dd'T'HH:mm:ss:SSSZ format. Not supported within arrays. |
| String | 255 characters or fewer |
| Array | Supported; datetimes are not supported within arrays. |
| Object | Ingested as strings (not nested objects). For nested data, use a string value (for example, JSON serialized). |
The following keys are reserved and cannot be used as property names: time, product_id, quantity, event_name, price, and currency. Using a reserved key in the properties object returns the error “Invalid ‘properties’ field”.
Pour une référence consolidée des types de données des attributs personnalisés, des propriétés d’événement et des catalogues, consultez Types de données.
Propriétés d’achat
Vous pouvez utiliser les propriétés d’achat pour déclencher des messages et pour la personnalisation avec Liquid. Elles vous permettent aussi de segmenter en fonction de ces propriétés.

When you view segmentable purchase properties in Data Settings > Products, the list displays property keys (names such as “color” or “brand”), not the actual property values (such as “red” or “Nike”).
Conventions de nommage
Notez que cette fonctionnalité est activée par produit, et non par achat. Par exemple, si vous avez un grand nombre de produits distincts qui possèdent tous les mêmes propriétés, la segmentation risque d’être superflue.
Dans ce cas, nous vous recommandons d’utiliser des noms de produits au « niveau du groupe » plutôt que des identifiants au niveau de la transaction lorsque vous définissez vos structures de données. Par exemple, une société de vente de billets de train devrait avoir des produits comme « aller simple », « aller-retour » et « multi-villes », et non des transactions spécifiques comme « transaction 123 » ou « transaction 046 ». Autre exemple : pour l’événement d’achat « nourriture », il est préférable de définir les propriétés « gâteau » et « sandwich ».

Les produits peuvent être ajoutés via la REST API de Braze. Par exemple, si vous envoyez un appel à l’endpoint /users/track en incluant un nouvel ID d’achat, Braze crée automatiquement un produit dans la section Paramètres des données > Produits du tableau de bord.
Exemple d’objet d’achat
POST https://YOUR_REST_API_URL/users/track
Content-Type: application/json
Authorization: Bearer YOUR-REST-API-KEY
{
"purchases" : [
{
"external_id" : "user1",
"app_id" : "11ae5b4b-2445-4440-a04f-bf537764c9ad",
"product_id" : "backpack",
"currency" : "USD",
"price" : 40.00,
"time" : "2013-07-16T19:20:30+01:00",
"properties" : {
"color" : "red",
"monogram" : "ABC",
"checkout_duration" : 180,
"size" : "Large",
"brand" : "Backpack Locker"
}
},
{
"external_id" : "user1",
"app_id" : "11ae5b4b-2445-4440-a04f-bf537764c9ad",
"product_id" : "pencil",
"currency" : "USD",
"price" : 2.00,
"time" : "2013-07-17T19:20:20+01:00",
"properties" : {
"number" : 2,
"sharpened" : true
}
},
{
"user_alias" : { "alias_name" : "device123", "alias_label" : "my_device_identifier"},
"app_id" : "11ae5b4b-2445-4440-a04f-bf537764c9ad",
"product_id" : "pen",
"currency" : "USD",
"price" : 2.50,
"time" : "2013-07-17T19:20:20+01:00",
"properties" : {
"color" : "blue",
}
}
]
}
Objets d’achat, objets d’événement et webhooks
Dans cet exemple, une personne a acheté un sac à dos avec les propriétés suivantes : couleur, monogramme, durée de paiement, taille et marque. Vous pouvez ensuite créer des Segments à partir de ces propriétés à l’aide des propriétés d’événement d’achat ou envoyer des messages personnalisés sur un canal avec Liquid. Par exemple : « Bonjour Ann F., merci d’avoir acheté ce sac à dos rouge de taille moyenne pour 40,00 $ ! Merci d’avoir fait vos achats chez Backpack Locker ! »
Si vous souhaitez enregistrer, stocker et suivre des propriétés pour la segmentation, vous devez les configurer comme attributs personnalisés. Pour ce faire, utilisez les extensions de segments, qui vous permettent de cibler les utilisateurs en fonction d’un événement personnalisé ou d’un comportement d’achat stocké pendant toute la durée de vie de leur profil utilisateur.