Skip to content

Aperçu de l’API

Cet article de référence couvre les bases de l’API, y compris la terminologie courante et un aperçu des clés de l’API REST, des autorisations et de la manière de les sécuriser.

Collection REST API de Braze

Collection Objectif
Catalogues Créer et gérer des catalogues et des éléments de catalogue à référencer dans vos Campaigns Braze.
Ingestion de données cloud Gérer vos intégrations et synchronisations d’entrepôt de données.
Listes et adresses e-mail Configurer et gérer la synchronisation bidirectionnelle entre Braze et vos systèmes d’e-mail.
Export Accéder à divers détails de vos Campaigns, Canvas, KPI, et plus encore, et les exporter.
Bibliothèque multimédia Gérer les ressources dans Braze.
Messages Planifier, envoyer et gérer vos Campaigns et Canvas.
Centre de préférences Créer votre centre de préférences et mettre à jour son style.
SCIM Gérer les identités des utilisateurs dans les applications et services cloud.
SMS Gérer les numéros de téléphone de vos utilisateurs dans vos groupes d’abonnement.
Groupes d’abonnement Lister et mettre à jour les groupes d’abonnement SMS et e-mail enregistrés dans le tableau de bord de Braze.
Modèles Créer et mettre à jour des modèles pour l’envoi d’e-mails et les Content Blocks.
Données utilisateur Identifier, suivre et gérer vos utilisateurs.

Définitions de l’API

Voici un aperçu des termes que vous pouvez rencontrer dans la documentation de la REST API de Braze.

Endpoints

Braze gère un certain nombre d’instances différentes pour notre tableau de bord et nos endpoints REST. Lorsque votre compte est provisionné, vous vous connectez à l’une des URL suivantes. Utilisez le bon endpoint REST en fonction de l’instance à laquelle vous êtes provisionné. En cas de doute, ouvrez un ticket d’assistance ou utilisez le tableau suivant pour faire correspondre l’URL du tableau de bord que vous utilisez au bon endpoint REST.

Pour trouver votre endpoint REST dans Braze :

  1. Connectez-vous à Braze et accédez à Paramètres > API et identifiants > Clés API.
  2. Sélectionnez une clé API existante ou sélectionnez Créer une clé API pour en créer une nouvelle.
  3. Copiez l’endpoint REST affiché dans cet onglet et utilisez cet endpoint pour vos requêtes API.
Instance URL Endpoint REST Endpoint SDK
US-01 https://dashboard-01.braze.com https://rest.iad-01.braze.com sdk.iad-01.braze.com
US-02 https://dashboard-02.braze.com https://rest.iad-02.braze.com sdk.iad-02.braze.com
US-03 https://dashboard-03.braze.com https://rest.iad-03.braze.com sdk.iad-03.braze.com
US-04 https://dashboard-04.braze.com https://rest.iad-04.braze.com sdk.iad-04.braze.com
US-05 https://dashboard-05.braze.com https://rest.iad-05.braze.com sdk.iad-05.braze.com
US-06 https://dashboard-06.braze.com https://rest.iad-06.braze.com sdk.iad-06.braze.com
US-07 https://dashboard-07.braze.com https://rest.iad-07.braze.com sdk.iad-07.braze.com
US-08 https://dashboard-08.braze.com https://rest.iad-08.braze.com sdk.iad-08.braze.com
US-10 https://dashboard.us-10.braze.com https://rest.us-10.braze.com sdk.us-10.braze.com
EU-01 https://dashboard-01.braze.eu https://rest.fra-01.braze.eu sdk.fra-01.braze.eu
EU-02 https://dashboard-02.braze.eu https://rest.fra-02.braze.eu sdk.fra-02.braze.eu
AU-01 https://dashboard.au-01.braze.com https://rest.au-01.braze.com sdk.au-01.braze.com
ID-01 https://dashboard.id-01.braze.com https://rest.id-01.braze.com sdk.id-01.braze.com
JP-01 https://dashboard.jp-01.braze.com https://rest.jp-01.braze.com sdk.jp-01.braze.com
KR-01 https://dashboard.kr-01.braze.com https://rest.kr-01.braze.com sdk.kr-01.braze.com

Limites de l’API

Pour la plupart des API, Braze applique une limitation du débit par défaut de 250 000 requêtes par heure. Cependant, certains types de requêtes ont leur propre limite de débit pour mieux gérer les volumes élevés de données à travers la base de clients. Pour plus de détails, consultez Limites de débit de l’API

ID utilisateur

  • ID externe de l’utilisateur : Le external_id sert d’identifiant utilisateur unique pour lequel vous soumettez des données. Cet identifiant doit être le même que celui que vous avez défini dans le SDK de Braze afin d’éviter de créer plusieurs profils pour le même utilisateur.
  • ID utilisateur Braze : Le braze_id sert d’identifiant utilisateur unique défini par Braze. Vous pouvez utiliser cet identifiant pour supprimer des utilisateurs via la REST API en plus des external_ids.

Pour plus d’informations, consultez les articles suivants en fonction de votre plateforme : iOS, Android et Web.

À propos des clés REST API

Une clé REST API (REST Application Programming Interface) est un code unique que vous transmettez à une API pour authentifier l’appel API et identifier l’application ou l’utilisateur appelant. Vous accédez à l’API en effectuant des requêtes web HTTPS vers l’endpoint REST API de votre entreprise. Les clés REST API fonctionnent en tandem avec les clés d’identifiant d’application pour suivre, accéder, envoyer, exporter et analyser les données, afin de garantir que tout fonctionne correctement.

Les espaces de travail et les clés API vont de pair chez Braze. Les espaces de travail sont conçus pour héberger les versions d’une même application sur plusieurs plateformes. De nombreux clients utilisent également les espaces de travail pour contenir les versions gratuites et premium de leurs applications sur la même plateforme. Comme vous l’avez peut-être remarqué, ces espaces de travail utilisent également la REST API et possèdent leurs propres clés REST API. Ces clés peuvent être configurées individuellement pour inclure l’accès à des endpoints spécifiques de l’API. Chaque appel à l’API doit inclure une clé ayant accès à l’endpoint ciblé.

Nous désignons à la fois la clé REST API et la clé API de l’espace de travail par le terme api_key. L’api_key est incluse dans chaque requête en tant qu’en-tête de requête et sert de clé d’authentification vous permettant d’utiliser nos REST API. Ces REST API sont utilisées pour suivre les utilisateurs, envoyer des messages, exporter des données utilisateur, et bien plus encore. Lorsque vous créez une nouvelle clé REST API, vous devez lui accorder l’accès à des endpoints spécifiques. En attribuant des permissions spécifiques à une clé API, vous pouvez limiter précisément les appels qu’une clé API peut authentifier.

Panneau des clés REST API dans l'onglet Clés API.

Créer des clés REST API

Pour créer une nouvelle clé REST API :

  1. Allez dans Paramètres > API et identifiants.
  2. Sélectionnez Créer une clé API.
  3. Donnez un nom à votre nouvelle clé pour l’identifier facilement en un coup d’œil.
  4. Spécifiez les adresses IP autorisées et les sous-réseaux pour la nouvelle clé.
  5. Sélectionnez les permissions que vous souhaitez associer à votre nouvelle clé.

Permissions des clés REST API

Les permissions des clés API sont des autorisations que vous pouvez attribuer à un utilisateur ou un groupe pour limiter leur accès à certains appels API. Pour afficher votre liste de permissions de clés API, allez dans Paramètres > API et identifiants, puis sélectionnez votre clé API.

Permission Endpoint Description
users.track /users/track Enregistrer des attributs utilisateur, des événements personnalisés et des achats.
users.delete /users/delete Supprimer n’importe quel utilisateur.
users.alias.new /users/alias/new Créer un nouvel alias pour un utilisateur existant.
users.identify /users/identify Identifier un utilisateur uniquement alias avec un ID externe.
users.export.ids /users/export/ids Interroger les informations de profil utilisateur par ID utilisateur.
users.export.segment /users/export/segment Interroger les informations de profil utilisateur par Segment.
users.merge /users/merge Fusionner deux utilisateurs existants entre eux.
users.external_ids.rename /users/external_ids/rename Modifier l’ID externe d’un utilisateur existant.
users.external_ids.remove /users/external_ids/remove Supprimer l’ID externe d’un utilisateur existant.
users.alias.update /users/alias/update Mettre à jour un alias pour un utilisateur existant.
users.export.global_control_group /users/export/global_control_group Interroger les informations de profil utilisateur dans le groupe de contrôle global.
Permission Endpoint Description
messages.send /messages/send Envoyer un message immédiat à des utilisateurs spécifiques.
messages.schedule.create /messages/schedule/create Planifier l’envoi d’un message à un moment spécifique.
messages.schedule.update /messages/schedule/update Mettre à jour un message planifié.
messages.schedule.delete /messages/schedule/delete Supprimer un message planifié.
messages.schedule_broadcasts /messages/scheduled_broadcasts Interroger tous les messages diffusés planifiés.
messages.live_activity.update /messages/live_activity/update Mettre à jour une activité en direct iOS.
Permission Endpoint Description
campaigns.trigger.send /campaigns/trigger/send Déclencher l’envoi d’une Campaign existante.
campaigns.trigger.schedule.create /campaigns/trigger/schedule/create Planifier l’envoi d’une Campaign avec une distribution déclenchée par API.
campaigns.trigger.schedule.update /campaigns/trigger/schedule/update Mettre à jour une Campaign planifiée avec une distribution déclenchée par API.
campaigns.trigger.schedule.delete /campaigns/trigger/schedule/delete Supprimer une Campaign planifiée avec une distribution déclenchée par API.
campaigns.list /campaigns/list Interroger une liste de Campaigns.
campaigns.data_series /campaigns/data_series Interroger les analyses d’une Campaign sur une période donnée.
campaigns.details /campaigns/details Interroger les détails d’une Campaign spécifique.
sends.data_series /sends/data_series Interroger les analyses d’envoi de messages sur une période donnée.
sends.id.create /sends/id/create Créer un ID d’envoi pour le suivi des envois en masse.
campaigns.url_info.details /campaigns/url_info/details Interroger les détails d’URL d’une variante de message spécifique au sein d’une Campaign. Cette permission est disponible uniquement pour les espaces de travail avec l’aliasage de lien activé. Si cette permission n’est pas disponible dans votre espace de travail, contactez votre gestionnaire de compte Braze.
transactional.send /transactional/v1/campaigns/{campaign_id}/send Permet d’envoyer des messages transactionnels en utilisant l’endpoint de messagerie transactionnelle.
Permission Endpoint Description
canvas.trigger.send /canvas/trigger/send Déclencher l’envoi d’un Canvas existant.
canvas.trigger.schedule.create /canvas/trigger/schedule/create Planifier l’envoi d’un Canvas avec une distribution déclenchée par API.
canvas.trigger.schedule.update /canvas/trigger/schedule/update Mettre à jour un Canvas planifié avec une distribution déclenchée par API.
canvas.trigger.schedule.delete /canvas/trigger/schedule/delete Supprimer un Canvas planifié avec une distribution déclenchée par API.
canvas.list /canvas/list Interroger une liste de Canvas.
canvas.data_series /canvas/data_series Interroger les analyses d’un Canvas sur une période donnée.
canvas.details /canvas/details Interroger les détails d’un Canvas spécifique.
canvas.data_summary /canvas/data_summary Interroger les résumés d’analyses d’un Canvas sur une période donnée.
canvas.url_info.details /canvas/url_info/details Interroger les détails d’URL d’une variante de message spécifique au sein d’une étape Canvas. Cette permission est disponible uniquement pour les espaces de travail avec l’aliasage de lien activé. Si cette permission n’est pas disponible dans votre espace de travail, contactez votre gestionnaire de compte Braze.
Permission Endpoint Description
segments.list /segments/list Interroger une liste de Segments.
segments.data_series /segments/data_series Interroger les analyses d’un Segment sur une période donnée.
segments.details /segments/details Interroger les détails d’un Segment spécifique.
Permission Endpoint Description
purchases.product_list /purchases/product_list Interroger une liste de produits achetés dans votre application.
purchases.revenue_series /purchases/revenue_series Interroger les dépenses totales par jour dans votre application sur une période donnée.
purchases.quantity_series /purchases/quantity_series Interroger le nombre total d’achats par jour dans votre application sur une période donnée.
Permission Endpoint Description
events.list /events/list Interroger une liste d’événements personnalisés.
events.data_series /events/data_series Interroger les occurrences d’un événement personnalisé sur une période donnée.
Permission Endpoint Description
sessions.data_series /sessions/data_series Interroger les sessions par jour sur une période donnée.
Permission Endpoint Description
kpi.dau.data_series /kpi/dau/data_series Interroger les utilisateurs actifs uniques par jour sur une période donnée.
kpi.mau.data_series /kpi/mau/data_series Interroger le nombre total d’utilisateurs actifs uniques sur une fenêtre glissante de 30 jours sur une période donnée.
kpi.new_users.data_series /kpi/new_users/data_series Interroger les nouveaux utilisateurs par jour sur une période donnée.
kpi.uninstalls.data_series /kpi/uninstalls/data_series Interroger les désinstallations d’application par jour sur une période donnée.
Permission Endpoint Description
templates.email.create /templates/email/create Créer un nouveau modèle d’e-mail dans le tableau de bord.
templates.email.info /templates/email/info Interroger les informations d’un modèle spécifique.
templates.email.list /templates/email/list Interroger une liste de modèles d’e-mail.
templates.email.update /templates/email/update Mettre à jour un modèle d’e-mail stocké dans le tableau de bord.
Permission Description
sso.saml.login Configurer la connexion initiée par le fournisseur d’identité. Pour plus d’informations, consultez Connexion initiée par le fournisseur de services (SP).
Permission Endpoint Description
content_blocks.info /content_blocks/info Interroger les informations d’un modèle spécifique.
content_blocks.list /content_blocks/list Interroger une liste de Content Blocks.
content_blocks.create /content_blocks/create Créer un nouveau Content Block dans le tableau de bord.
content_blocks.update /content_blocks_update Mettre à jour un Content Block existant dans le tableau de bord.
Permission Endpoint Description
preference_center.get /preference_center/v1/{preferenceCenterExternalId} Obtenir un centre de préférences.
preference_center.list /preference_center/v1/list Lister les centres de préférences.
preference_center.update /preference_center/v1

/preference_center/v1/{preferenceCenterExternalID}
Créer ou mettre à jour un centre de préférences.
preference_center.user.get /preference_center/v1/{preferenceCenterExternalId}/url/{userId} Obtenir un lien de centre de préférences pour un utilisateur.
Permission Endpoint Description
subscription.status.set /subscription/status/set Définir le statut du groupe d’abonnement.
subscription.status.get /subscription/status/get Obtenir le statut du groupe d’abonnement.
subscription.groups.get /subscription/user/status Obtenir le statut des groupes d’abonnement auxquels des utilisateurs spécifiques sont explicitement abonnés ou désabonnés.
Permission Endpoint Description
sms.invalid_phone_numbers /sms/invalid_phone_numbers Interroger les numéros de téléphone invalides.
sms.invalid_phone_numbers.remove /sms/invalid_phone_numbers/remove Supprimer le marqueur de numéro de téléphone invalide des utilisateurs.
Permission Endpoint Description
catalogs.add_items /catalogs/{catalog_name}/items Ajouter plusieurs éléments à un catalogue existant.
catalogs.update_items /catalogs/{catalog_name}/items Mettre à jour plusieurs éléments dans un catalogue existant.
catalogs.delete_items /catalogs/{catalog_name}/items Supprimer plusieurs éléments d’un catalogue existant.
catalogs.get_item /catalogs/{catalog_name}/items/{item_id} Obtenir un seul élément d’un catalogue existant.
catalogs.update_item /catalogs/{catalog_name}/items/{item_id} Mettre à jour un seul élément dans un catalogue existant.
catalogs.create_item /catalogs/{catalog_name}/items/{item_id} Créer un seul élément dans un catalogue existant.
catalogs.delete_item /catalogs/{catalog_name}/items/{item_id} Supprimer un seul élément d’un catalogue existant.
catalogs.replace_item /catalogs/{catalog_name}/items/{item_id} Remplacer un seul élément d’un catalogue existant.
catalogs.create /catalogs Créer un catalogue.
catalogs.get /catalogs Obtenir une liste de catalogues.
catalogs.delete /catalogs/{catalog_name} Supprimer un catalogue.
catalogs.get_items /catalogs/{catalog_name}/items Obtenir un aperçu des éléments d’un catalogue existant.
catalogs.replace_items /catalogs/{catalog_name}/items Remplacer des éléments dans un catalogue existant.
Permission Endpoint Description
sdk_authentication.create /app_group/sdk_authentication/create Créer une nouvelle clé d’authentification SDK pour votre application.
sdk_authentication.primary /app_group/sdk_authentication/primary Marquer une clé d’authentification SDK comme clé principale pour votre application.
sdk_authentication.delete /app_group/sdk_authentication/delete Supprimer une clé d’authentification SDK pour votre application.
sdk_authentication.keys /app_group/sdk_authentication/keys Obtenir toutes les clés d’authentification SDK pour votre application.

Gérer les clés REST API

Vous pouvez afficher les détails ou supprimer les clés REST API existantes depuis Paramètres > API et identifiants > onglet Clés API. Notez que vous ne pouvez pas modifier les clés REST API après les avoir créées.

L’onglet Clés API comprend les informations suivantes pour chaque clé :

Champ Description
Nom de la clé API Le nom donné à la clé lors de sa création.
Identifiant La clé API.
Créée par L’adresse e-mail de l’utilisateur qui a créé la clé. Ce champ affiche « N/A » pour les clés créées avant juin 2023.
Date de création La date à laquelle cette clé a été créée.
Dernière utilisation La date à laquelle cette clé a été utilisée pour la dernière fois. Ce champ affiche « N/A » pour les clés qui n’ont jamais été utilisées.

Pour afficher les détails d’une clé API, survolez la clé et sélectionnez Voir. Cela inclut toutes les permissions de cette clé, les adresses IP autorisées (le cas échéant), et si cette clé est inscrite au système d’autorisation IP de Braze.

La liste des permissions de clés API dans le tableau de bord de Braze.

Notez que lors de la suppression d’un utilisateur, Braze ne supprime pas les clés API associées que cet utilisateur a créées. Pour supprimer une clé, survolez-la et sélectionnez Supprimer.

Une clé API nommée « Last Seen » avec l'icône de corbeille en surbrillance, affichant « Supprimer ».

Sécurité des clés REST API

Les clés API sont utilisées pour authentifier un appel API. Lorsque vous créez une nouvelle clé REST API, vous devez lui accorder l’accès à des endpoints spécifiques. En attribuant des permissions spécifiques à une clé API, vous pouvez limiter précisément les appels qu’une clé API peut authentifier.

Étant donné que les clés REST API permettent l’accès à des endpoints REST API potentiellement sensibles, sécurisez ces clés et ne les partagez qu’avec des partenaires de confiance. Elles ne doivent jamais être exposées publiquement. Par exemple, n’utilisez pas cette clé pour effectuer des appels AJAX depuis votre site web et ne l’exposez pas de toute autre manière publique.

Une bonne pratique de sécurité consiste à n’accorder à un utilisateur que l’accès nécessaire à l’accomplissement de ses tâches : ce principe peut également être appliqué aux clés API en attribuant des permissions à chaque clé. Ces permissions vous offrent une meilleure sécurité et un meilleur contrôle sur les différentes zones de votre compte.

Si vous exposez accidentellement une clé, vous pouvez la supprimer depuis la console de développement. Pour obtenir de l’aide avec ce processus, ouvrez un ticket de support.

Sécurité des clés REST API et des clés SDK API

Les clés REST API et les clés SDK API ont des profils de sécurité différents.

  Clés REST API Clés SDK API
Objectif Authentification côté serveur pour la REST API (envoi de messages, exportation de données, gestion des utilisateurs) Identification côté client pour le SDK Braze (ingestion de données, In-App Messages, Content Cards)
Visibilité Doivent rester privées. Ne jamais les exposer dans le code côté client, les dépôts publics ou les applications utilisateur. Conçues pour être publiques. Intégrées dans le binaire de votre application ou visibles dans le JavaScript du navigateur web, similaires à un ID de suivi Google Analytics.
Solution en cas d’exposition Révoquer immédiatement la clé et en créer une nouvelle dans Paramètres > API et identifiants > Clés API. Une clé REST API exposée peut être utilisée pour envoyer des messages, exporter des données utilisateur ou modifier les paramètres du compte. Aucune action requise. Une clé SDK API ne peut qu’ingérer des données et récupérer les messages côté client (comme les In-App Messages et les Content Cards). Elle ne peut pas exporter de données utilisateur, envoyer des messages en votre nom, ni modifier des Campaigns.

Mise en liste d’autorisation des adresses IP pour l’API

Pour une sécurité renforcée, vous pouvez spécifier une liste d’adresses IP et de sous-réseaux autorisés à effectuer des requêtes REST API pour une clé REST API donnée. C’est ce qu’on appelle la mise en liste d’autorisation (ou whitelisting). Pour autoriser des adresses IP ou des sous-réseaux spécifiques, ajoutez-les à la section Whitelist IPs lors de la création d’une nouvelle clé REST API :

Option de mise en liste d'autorisation des adresses IP lors de la création d'une clé API.

Si vous n’en spécifiez aucune, les requêtes peuvent être envoyées depuis n’importe quelle adresse IP.

Authentification et sécurité de l’API

Authentification par jeton Bearer

Braze authentifie les requêtes de l’API REST à l’aide de la clé API REST transmise en tant que jeton Bearer dans l’en-tête de requête Authorization. Lorsque vous envoyez une requête, incluez votre clé API au format suivant :

1
Authorization: Bearer YOUR_REST_API_KEY

À chaque requête, Braze effectue les vérifications de validation côté serveur suivantes :

  1. Validité du jeton : Vérifie que la clé API REST existe dans Braze et qu’elle est active (par exemple, qu’elle n’est pas révoquée ou désactivée).
  2. Autorisation du jeton : Confirme que la clé API dispose des permissions requises pour l’endpoint demandé.

Si l’authentification échoue, l’API renvoie une réponse d’erreur avec un code de statut HTTP. Par exemple, 401 Unauthorized indique une clé invalide ou manquante, tandis que 403 Forbidden indique que la clé ne dispose pas des permissions nécessaires pour l’endpoint demandé. Pour en savoir plus, consultez la section Erreurs API.

Casse des en-têtes de requête

Les noms d’en-têtes HTTP sont insensibles à la casse, donc Authorization et authorization sont équivalents. Il en va de même pour les autres en-têtes de requête standard, comme Content-Type. Envoyez la casse produite par votre client HTTP.

Braze accepte également toute casse du schéma Bearer (Bearer, bearer ou BEARER). Envoyez la clé API REST exactement telle qu’elle a été émise.

Sécurité au niveau du réseau

Les requêtes de l’API REST vers Braze sont protégées par le chiffrement TLS (Transport Layer Security) sur l’ensemble du chemin de la requête. Le tableau suivant décrit le flux réseau d’une requête API depuis votre serveur vers Braze :

Étape Composant Description
1 Votre serveur Initie une requête HTTPS avec chiffrement TLS.
2 Cloudflare Met fin à la connexion TLS du client et applique les protections au niveau du réseau.
3 Network Load Balancer (NLB) Transmet les paquets à l’infrastructure applicative. Les NLB opèrent au niveau de la couche 4, ce qui signifie qu’il n’y a pas de proxy de couche 7. Les paquets sont transmis sans inspection ni modification au niveau HTTP.
4 NGINX ingress Met fin à la connexion TLS interne et achemine la requête.
5 Unicorn (serveur d’application) Traite la requête authentifiée.

Le chiffrement TLS couvre chaque maillon de la chaîne. Votre serveur se connecte à Cloudflare via TLS, et Cloudflare établit une connexion TLS distincte à travers le NLB vers le NGINX ingress, de sorte que votre clé API et les données de requête restent chiffrées en transit.

Ressources supplémentaires

Bibliothèque client Ruby

Si vous déployez Braze en utilisant Ruby, vous pouvez utiliser la bibliothèque client Ruby pour réduire votre temps d’importation de données. Une bibliothèque client est une collection de code spécifique à un langage de programmation — dans ce cas, Ruby — qui facilite l’utilisation d’une API.

La bibliothèque client Ruby prend en charge les endpoints User.

New Stuff!