Skip to content

Archivage des messages

L’archivage des messages vous permet d’enregistrer une copie des messages envoyés aux utilisateurs à des fins d’archivage ou de conformité dans votre compartiment AWS S3, votre conteneur Azure Blob Storage ou votre compartiment Google cloud storage.

Cet article explique comment configurer l’archivage des messages, les références de payload JSON et répond aux questions fréquemment posées.

L’archivage des messages est disponible en tant que fonctionnalité supplémentaire. Pour commencer à archiver vos messages, veuillez contacter votre Customer Success Manager Braze.

Fonctionnement

Lorsque cette fonctionnalité est activée, Braze écrit un fichier JSON compressé (gzip) pour chaque message envoyé à un utilisateur via les canaux que vous avez sélectionnés (e-mail, SMS/MMS ou notification push). Braze écrit ces fichiers vers votre destination d’exportation de données par défaut. Cela inclut tous les types de campagnes pour chaque canal, y compris les campagnes d’e-mails transactionnels envoyées via l’API d’e-mails transactionnels.

Ce fichier contiendra les champs définis sous Références de fichier et reflétera les messages finaux modélisés envoyés à l’utilisateur. Toutes les valeurs modélisées définies dans votre campagne (par exemple, {{${first_name}}}) afficheront la valeur finale que l’utilisateur a reçue en fonction des informations de son profil. Vous pouvez ainsi conserver une copie du message envoyé pour satisfaire aux exigences de conformité, d’audit ou d’assistance client.

Si vous configurez des identifiants pour plusieurs fournisseurs de stockage cloud, l’archivage des messages n’exportera que vers celui marqué comme destination d’exportation de données par défaut. Si aucune destination par défaut n’est explicitement définie et qu’un compartiment AWS S3 est connecté, l’archivage des messages sera chargé dans ce compartiment.

Le JSON sera enregistré dans votre compartiment de stockage en utilisant la structure de clé suivante :

sent_messages/{channel, one of: email, push, sms}/{MD5 digest of downcased: email address, push token, or E.164 phone number}/{campaign or Canvas step API ID}/{dispatch ID}.json.gz

Un fichier exemple peut ressembler à ceci :

sent_messages/email/819baa08d8d7e77e19d4666f5fc6050b/ee965cb2-8934-4b0a-acf1-91c899c2f915/651fd10b282850b39e1169c13975234b.json.gz

Configuration de l’archivage des messages

Cette section vous guide dans la configuration de l’archivage des messages pour votre espace de travail. Avant de continuer, confirmez que votre entreprise a acheté et activé l’archivage des messages.

Étape 1 : Connecter un compartiment de stockage cloud

Si vous ne l’avez pas encore fait, connectez un compartiment de stockage cloud à Braze. Pour connaître les étapes, consultez la documentation de notre partenaire sur Amazon S3, Azure Blob Storage ou Google Cloud Storage.

Étape 2 : Sélectionner les canaux pour l’archivage des messages

La page des paramètres d’archivage des messages contrôle quels canaux enregistreront une copie des messages envoyés dans votre compartiment de stockage cloud.

Pour sélectionner des canaux :

  1. Accédez à Paramètres > Archivage des messages.
  2. Sélectionnez vos canaux.
  3. Sélectionnez Enregistrer les modifications.

La page d'archivage des messages propose trois canaux à sélectionner : Email, Push et SMS.

Références de fichier

Voici les références de la payload JSON transmise à votre compartiment de stockage cloud à chaque envoi de message. Consultez notre dépôt d’exemples de code pour des fichiers d’exemple d’archive de messages.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{
  "version": 1 //numerical version of the JSON structure
  "to": PhoneNumber, ("+15555555555"),
  "body": Body ("Hi there!"),
  "subscription_group": SubscriptionGroupExternalId,
  "provider": StringOfProviderName,
  "media_urls": ArrayOfString, // indicates a message is MMS
  "sent_at": UnixTimestamp,
  "dispatch_id": DispatchIdFromBraze,
  "campaign_id": CampaignApiId, // may not be available
  "canvas_id": CanvasApiId, // may not be available
  "canvas_step_id": CanvasStepApiId, // may not be available
  "canvas_variation_id" : CanvasVariationApiId, // may not be available
  "message_variation_id": MessagVariationApiId, // may not be available
  "user_id": String,
  "campaign_name": String, // will only be available if the message is from a campaign
  "canvas_name": String, // will only be available if the message is from Canvas
  "canvas_step_name": String, // will only be available if the message is from a Canvas
  "external_id": String
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
  "version": 1, //numerical version of the JSON structure
  "to": PushToken,
  "payload": JsonOfEntirePushPayload,
  "platform": one of "android_push" | "ios_push" | "kindle_push" | "web_push",
  "app_id": ApiKeyOfApp,
  "sent_at": UnixTimestamp,
  "dispatch_id": DispatchIdFromBraze,
  "campaign_id": CampaignApiId, // may not be available
  "canvas_id": CanvasApiApiId, // may not be available
  "canvas_step_id": CanvasStepApiId, // may not be available
  "canvas_variation_id" : CanvasVariationApiId, // may not be available
  "message_variation_id": MessagVariationApiId, // may not be available
  "user_id": String,
  "campaign_name": String, // will only be available if the message is from a campaign
  "canvas_name": String, // will only be available if the message is from a Canvas
  "canvas_step_name": String, // will only be available if the message is from a Canvas
  "external_id": String
}

Variations de la structure de la payload push

L’archivage des messages capture la payload du message elle-même, mais n’inclut pas les métadonnées de distribution envoyées à FCM ou aux APN. Ces métadonnées de distribution comprennent :

  • Jetons d’appareil
  • Paramètres de priorité
  • Durée de vie (TTL)
  • Identifiants de réduction (collapse IDs)
  • En-têtes APN
  • Horodatages d’expiration
  • Autres champs de configuration de distribution

Ces champs servent d’instructions de distribution au fournisseur de notifications push. Ils ne sont généralement pas considérés comme faisant partie du contenu du message.

Par exemple :

  • Les notifications push iOS peuvent présenter des structures différentes pour les notifications enrichies (où aps.alert est un objet contenant des champs tels que title et body) et les notifications simples (où aps.alert est une chaîne de caractères).
  • Les notifications push Android (par exemple, FCM) utilisent des messages de données avec des clés personnalisées. La structure de la payload peut inclure différents champs facultatifs en fonction de la configuration du message, tels que des boutons push, des carrousels ou des métadonnées supplémentaires.

De plus, les envois de test depuis le tableau de bord peuvent générer des structures de payload différentes de celles des messages de production.

Le format de la payload JSON peut varier d’un message à l’autre et évoluer au fil du temps. Lors de l’analyse des payloads push archivées, ne présumez pas d’une structure fixe et ne vous attendez pas à ce que les mêmes champs soient toujours présents. Implémentez une logique d’analyse flexible capable de traiter divers formats de payload.

Foire aux questions

Quelle création de modèles n’est pas incluse dans la payload ?

Les modifications effectuées après que le message a quitté Braze ne seront pas répercutées dans le fichier enregistré dans votre compartiment de stockage cloud. Cela inclut les modifications apportées par nos partenaires de distribution d’e-mails, comme l’encapsulation des liens pour le suivi des clics et l’insertion de pixels de suivi.

Quels sont les messages sous la valeur « unassociated » dans le chemin de campagne ?

Lorsqu’un message est envoyé en dehors d’une campagne ou d’un Canvas, l’ID de la campagne dans le nom du fichier sera « unassociated ». Cela se produit lorsque vous envoyez des messages de test depuis le tableau de bord, lorsque Braze envoie des réponses automatiques par SMS/MMS ou lorsque les messages envoyés via l’API ne spécifient pas d’ID de campagne.

Comment obtenir plus d’informations sur cet envoi ?

Vous pouvez utiliser le external_id ou le dispatch_id en combinaison avec le user_id pour croiser le message modélisé avec nos données Currents afin d’obtenir plus d’informations, comme l’horodatage de distribution, si l’utilisateur a ouvert ou cliqué sur le message, etc.

Comment les nouvelles tentatives sont-elles gérées ?

Si votre compartiment de stockage cloud est inaccessible, Braze effectuera jusqu’à trois tentatives avec une gigue de backoff. Les nouvelles tentatives liées à la limite de débit AWS S3 sont automatiquement gérées par Braze.

Que se passe-t-il si mes identifiants ne sont pas valides ?

Si vos identifiants de stockage cloud deviennent invalides à un moment donné, Braze ne pourra pas enregistrer de messages dans votre compartiment de stockage cloud, et ces messages seront perdus. Nous vous recommandons de configurer vos préférences de notification pour Amazon Web Services, Google Cloud Services ou Azure (Microsoft Cloud Services) afin de recevoir des alertes en cas de problèmes liés aux identifiants.

Pourquoi l’horodatage sent_at de mon fichier d’archive diffère-t-il légèrement de l’horodatage d’envoi dans Currents ?

La copie rendue est téléchargée immédiatement avant l’envoi du message à l’utilisateur. En raison des délais de téléchargement vers le stockage cloud, il peut y avoir un décalage de quelques secondes entre l’horodatage sent_at de la copie rendue et l’heure réelle de l’envoi.

Puis-je créer un nouveau compartiment spécifiquement pour l’archivage des messages tout en conservant le compartiment actuel utilisé pour les données Currents ?

Non. Si vous souhaitez créer ces compartiments spécifiques, soumettez vos commentaires sur le produit.

Les données archivées sont-elles écrites dans un dossier dédié dans un compartiment existant, de la même manière que les exportations de données Currents sont structurées ?

Les données sont écrites dans une section sent_messages du compartiment. Reportez-vous à la section Fonctionnement pour plus de détails.

Puis-je utiliser l’archivage des messages pour regrouper les fichiers dans différents espaces de travail ?

Non. L’archivage des messages ne prend pas en charge le regroupement des fichiers par espace de travail. Vous pouvez en revanche déterminer à quel espace de travail appartient l’ID de l’API de la campagne ou de l’étape du canvas, puis les regrouper en fonction de cette information.

New Stuff!