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 à diverses informations sur 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 utilisateur 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 Répertorier et mettre à jour les groupes d’abonnement SMS et e-mail stocké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é. Si vous n’êtes pas sûr, 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-le 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 limite de 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 afin de 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 : L’external_id sert d’identifiant unique pour l’utilisateur 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 API REST

Une clé API REST (clé d’interface de programmation d’applications REST) 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 utilisant des requêtes web HTTPS vers l’endpoint REST API de votre entreprise. Les clés API REST fonctionnent en tandem avec les clés d’identifiant d’application pour suivre, accéder, envoyer, exporter et analyser les données afin de s’assurer 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 pouvez le constater, ces espaces de travail utilisent également la REST API et disposent de leurs propres clés API REST. Ces clés peuvent être individuellement limitées 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é API REST et la clé API d’espace de travail sous le nom api_key. La api_key est incluse dans chaque requête en tant qu’en-tête de requête et sert de clé d’authentification qui vous permet 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é API REST, 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 API REST dans l'onglet Clés API.

Créer des clés API REST

Pour créer une nouvelle clé API REST :

  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 d’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 API REST

Les permissions de clé API sont des permissions 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é API, allez dans Paramètres > API et identifiants, et sélectionnez votre clé API.

Permission Endpoint Description
users.track /users/track Enregistrer les attributs utilisateur, les événements personnalisés et les 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 alias uniquement avec un ID externe.
users.export.ids /users/export/ids Interroger les informations du profil utilisateur par ID utilisateur.
users.export.segment /users/export/segment Interroger les informations du profil utilisateur par Segment.
users.merge /users/merge Fusionner deux utilisateurs existants.
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 du 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 à une heure 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 de diffusion 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 variation de message spécifique au sein d’une Campaign.
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écapitulatifs des 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 variation de message spécifique au sein d’une étape Canvas.
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 le total d’argent dépensé 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 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 sur 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é sur 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 service (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 sur le tableau de bord.
content_blocks.update /content_blocks_update Mettre à jour un Content Block existant sur 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 et 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 API REST

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

L’onglet Clés API inclut 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 activée pour la liste d’autorisation IP de Braze.

La liste des permissions de clé 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 clé et sélectionnez Supprimer.

Une clé API nommée « Dernière utilisation » avec l'icône de corbeille mise en évidence, affichant « Supprimer ».

Sécurité des clés API REST

Les clés API sont utilisées pour authentifier un appel API. Lorsque vous créez une nouvelle clé API REST, 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 API REST 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 d’aucune 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 un meilleur contrôle de la sécurité 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 API REST et des clés API SDK

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

  Clés API REST Clés API SDK
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 du code côté client, des dépôts publics ou des applications utilisateur. Conçues pour être publiques. Intégrées dans le binaire de votre application ou visibles dans le JavaScript du navigateur web, similairement à un identifiant de suivi Google Analytics.
Solution en cas d’exposition Révoquez immédiatement la clé et créez un remplacement dans Paramètres > API et identifiants > Clés API. Une clé API REST 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é API SDK ne peut qu’ingérer des données et récupérer les messages côté client (tels que les In-App Messages et les Content Cards). Elle ne peut pas exporter des données utilisateur, envoyer des messages en votre nom ou modifier des Campaigns.

Liste d’autorisation 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é API REST donnée. C’est ce qu’on appelle la liste d’autorisation (allowlisting ou whitelisting). Pour autoriser des adresses IP ou des sous-réseaux spécifiques, ajoutez-les dans la section Whitelist IPs lors de la création d’une nouvelle clé API REST :

Option pour autoriser des adresses IP lors de la création d'une clé API.

Si vous n’en spécifiez aucune, les requêtes pourront ê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’a pas été 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 ne sont pas sensibles à la casse, donc Authorization et authorization sont équivalents. Il en va de même pour les autres en-têtes de requête standard, tels que Content-Type. Envoyez la casse que votre client HTTP produit.

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 (sécurité de la couche de transport) 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) Transfère les paquets vers l’infrastructure applicative. Les NLB opèrent au niveau de la couche 4, ce qui signifie qu’il n’y a pas de proxy au niveau de la couche 7. Les paquets sont transmis sans inspection ni modification au niveau HTTP.
4 NGINX ingress Met fin à la connexion TLS interne et route 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 la requête restent chiffrées en transit.

Ressources supplémentaires

Bibliothèque client Ruby

Si vous déployez Braze avec Ruby, vous pouvez utiliser la bibliothèque client Ruby pour réduire le temps d’importation de vos données. Une bibliothèque client est un ensemble 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!