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

Collection Objectif
Catalogues Créez et gérez des catalogues et des éléments de catalogue à référencer dans vos Campaigns Braze.
Ingestion de données cloud Gérez les intégrations et les synchronisations de votre entrepôt de données.
Listes et adresses e-mail Configurez et gérez la synchronisation bidirectionnelle entre Braze et vos systèmes d’e-mail.
Exporter Accédez à divers détails de vos Campaigns, Canvas, indicateurs clés de performance, et plus encore, et exportez-les.
Bibliothèque multimédia Gérez les ressources au sein de Braze.
Messages Planifiez, envoyez et gérez vos Campaigns et Canvas.
Centre de préférences Créez votre centre de préférences et mettez à jour son style.
SCIM Gérez les identités des utilisateurs dans les applications et services basés sur le cloud.
SMS Gérez les numéros de téléphone de vos utilisateurs dans vos groupes d’abonnement.
Groupes d’abonnement Répertoriez et mettez à jour les groupes d’abonnement SMS et e-mail stockés dans le tableau de bord de Braze.
Modèles Créez et mettez à jour des modèles pour les envois de messages par e-mail et les Content Blocks.
Données utilisateur Identifiez, suivez et gérez vos utilisateurs.

Définitions relatives aux API

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

Endpoints

Braze gère un certain nombre d’instances différentes pour notre tableau de bord et nos endpoints REST. Une fois votre compte provisionné, vous vous connectez à l’une des URL suivantes. Utilisez le bon endpoint REST en fonction de l’instance qui vous a été attribuée. 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 localiser votre endpoint REST dans Braze :

  1. Connectez-vous à Braze et accédez à Settings > APIs and Identifiers > API Keys.
  2. Sélectionnez une clé API existante ou choisissez Create API Key pour en générer 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 sont soumis à leur propre limite de débit afin de mieux gérer les volumes élevés de données au sein de la base client. Pour plus d’informations, consultez les limites de débit de l’API.

ID utilisateur

  • ID externe : Le external_id sert d’identifiant utilisateur unique pour lequel vous soumettez des données. Cet identifiant doit être identique à celui que vous avez défini dans le SDK 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 l’API REST, 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 afin d’authentifier l’appel et d’identifier l’application ou l’utilisateur à l’origine de la requête. Vous accédez à l’API via des requêtes Web HTTPS vers l’endpoint de l’API REST 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, et ainsi garantir le bon fonctionnement de l’ensemble.

Chez Braze, les espaces de travail et les clés API vont de pair. Les espaces de travail sont conçus pour héberger des versions de la même application sur plusieurs plateformes. De nombreux clients utilisent également des espaces de travail pour contenir des versions gratuites et premium de leurs applications sur la même plateforme. Comme vous pouvez le constater, ces espaces de travail utilisent également l’API REST et possèdent leurs propres clés API REST. 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 concerné.

Nous désignons à la fois la clé API REST et la clé API de l’espace de travail sous le terme api_key. Le api_key est inclus dans chaque requête en tant qu’en-tête de requête et sert de clé d’authentification vous permettant d’utiliser nos API REST. Ces API REST sont utilisées pour suivre les utilisateurs, envoyer des messages, exporter des données utilisateur, etc. Lorsque vous créez une nouvelle clé API REST, vous devez lui accorder l’accès à des endpoints spécifiques. En affectant des autorisations spécifiques à une clé API, vous pouvez limiter précisément les appels qu’elle 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 Settings > APIs and Identifiers.
  2. Sélectionnez Create API Key.
  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 cette nouvelle clé.
  5. Sélectionnez les autorisations que vous souhaitez associer à votre nouvelle clé.

Autorisations de clé API REST

Les autorisations de clés API sont des droits que vous pouvez affecter à un utilisateur ou un groupe pour limiter leur accès à certains appels API. Pour afficher la liste des autorisations de votre clé API, allez dans Settings > APIs and Identifiers, et sélectionnez votre clé API.

Autorisation Endpoint Description
users.track /users/track Enregistrer les attributs utilisateur, les événements personnalisés et les achats.
users.delete /users/delete Supprimer un 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 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.
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.
Autorisation Endpoint Description
messages.send /messages/send Envoyer un message immédiat à des utilisateurs spécifiques.
messages.schedule.create /messages/schedule/create Planifier un message à envoyer à une heure précise.
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.
Autorisation 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 l’API.
campaigns.trigger.schedule.update /campaigns/trigger/schedule/update Mettre à jour une Campaign planifiée avec une distribution déclenchée par l’API.
campaigns.trigger.schedule.delete /campaigns/trigger/schedule/delete Supprimer une Campaign planifiée avec une distribution déclenchée par l’API.
campaigns.list /campaigns/list Interroger la liste des Campaigns.
campaigns.data_series /campaigns/data_series Interroger les données analytiques 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 données analytiques des envois 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 de messages.
campaigns.url_info.details /campaigns/url_info/details Interroger les détails des URL d’une variation de message donnée dans une Campaign.
transactional.send /transactional/v1/campaigns/{campaign_id}/send Permet d’envoyer des messages transactionnels via l’endpoint de messagerie transactionnelle.
Autorisation 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 l’API.
canvas.trigger.schedule.update /canvas/trigger/schedule/update Mettre à jour un Canvas planifié avec une distribution déclenchée par l’API.
canvas.trigger.schedule.delete /canvas/trigger/schedule/delete Supprimer un Canvas planifié avec une distribution déclenchée par l’API.
canvas.list /canvas/list Interroger la liste des Canvas.
canvas.data_series /canvas/data_series Interroger les données analytiques de 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 cumuls des données analytiques de Canvas sur une période donnée.
canvas.url_info.details /canvas/url_info/details Interroger les détails des URL d’une variation de message spécifique au sein d’une étape du Canvas.
Autorisation Endpoint Description
segments.list /segments/list Interroger la liste des Segments.
segments.data_series /segments/data_series Interroger les données analytiques de Segments sur une période donnée.
segments.details /segments/details Interroger les détails d’un Segment spécifique.
Autorisation Endpoint Description
purchases.product_list /purchases/product_list Interroger la liste des produits achetés dans votre application.
purchases.revenue_series /purchases/revenue_series Interroger le montant total 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.
Autorisation Endpoint Description
events.list /events/list Interroger la liste des événements personnalisés.
events.data_series /events/data_series Interroger les occurrences d’un événement personnalisé sur une période donnée.
Autorisation Endpoint Description
sessions.data_series /sessions/data_series Interroger les sessions par jour sur une période donnée.
Autorisation 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 des 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’applications par jour sur une période donnée.
Autorisation 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 la liste des 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.
Autorisation Description
sso.saml.login Configurer l’identification initiée par le fournisseur d’identité. Pour plus d’informations, reportez-vous à l’identification initiée par le fournisseur de services (SP).
Autorisation Endpoint Description
content_blocks.info /content_blocks/info Interroger les informations d’un modèle spécifique.
content_blocks.list /content_blocks/list Interroger la liste des 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.
Autorisation Endpoint Description
preference_center.get /preference_center/v1/{preferenceCenterExternalId} Obtenir un centre de préférences.
preference_center.list /preference_center/v1/list Répertorier 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 le lien d’un centre de préférences pour un utilisateur.
Autorisation 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.
Autorisation Endpoint Description
sms.invalid_phone_numbers /sms/invalid_phone_numbers Interroger les numéros de téléphone non valides.
sms.invalid_phone_numbers.remove /sms/invalid_phone_numbers/remove Supprimer le marqueur de numéro de téléphone non valide des utilisateurs.
Autorisation 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 élément unique d’un catalogue existant.
catalogs.update_item /catalogs/{catalog_name}/items/{item_id} Mettre à jour un élément unique dans un catalogue existant.
catalogs.create_item /catalogs/{catalog_name}/items/{item_id} Créer un élément unique dans un catalogue existant.
catalogs.delete_item /catalogs/{catalog_name}/items/{item_id} Supprimer un élément unique d’un catalogue existant.
catalogs.replace_item /catalogs/{catalog_name}/items/{item_id} Remplacer un élément unique 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.
Autorisation 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.

Gestion des clés API REST

Vous pouvez afficher les détails des clés API REST existantes ou les supprimer depuis Settings > APIs and Identifiers > onglet API Keys. Notez que vous ne pouvez pas modifier les clés API REST une fois qu’elles ont été créées.

L’onglet API Keys contient les informations suivantes pour chaque clé :

Champ Description
API Key Name Nom donné à la clé lors de sa création.
Identifier La clé API.
Created By 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 Created Date de création de cette clé.
Last Seen Date de la dernière utilisation de cette clé. 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 View. Vous y trouverez toutes les autorisations dont dispose cette clé, les adresses IP inscrites sur la liste d’autorisations (le cas échéant) et si cette clé est inscrite sur la liste d’autorisations d’adresses IP de Braze.

La liste des autorisations de la clé API dans le tableau de bord de Braze.

Notez que lorsque vous supprimez un utilisateur, Braze ne supprime pas les clés API associées créées par cet utilisateur. Pour supprimer une clé, survolez-la et sélectionnez Delete.

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

Sécurité des clés API REST

Les clés API servent à authentifier les appels API. Quand vous créez une nouvelle clé API REST, vous devez lui accorder l’accès à des endpoints spécifiques. En affectant des autorisations spécifiques à une clé API, vous pouvez limiter précisément les appels qu’elle peut authentifier.

Étant donné que les clés API REST permettent d’accéder à des endpoints API REST potentiellement sensibles, sécurisez ces clés et partagez-les uniquement 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 les accès nécessaires à l’accomplissement de son travail. Ce principe s’applique également aux clés API en affectant des autorisations à chaque clé. Ces autorisations vous offrent une meilleure sécurité et un meilleur contrôle sur les différentes parties de votre compte.

Si vous divulguez accidentellement une clé, vous pouvez la supprimer depuis la console de développement. Pour obtenir de l’aide, ouvrez un ticket d’assistance.

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

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

  Clés API REST Clés API SDK
Objectif Authentification côté serveur pour l’API REST (envoi de messages, export 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, de manière similaire à un identifiant de suivi Google Analytics.
Solution en cas d’exposition Révoquez immédiatement la clé et créez-en une nouvelle dans Settings > APIs and Identifiers > API Keys. 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 des messages côté client (tels que 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.

Liste d’adresses IP autorisées

Pour renforcer la sécurité, vous pouvez établir une liste des adresses IP et sous-réseaux exclusivement autorisés à envoyer des requêtes API REST pour une clé API REST donnée. C’est ce qu’on appelle la liste d’autorisations (ou liste blanche). Pour autoriser des adresses IP ou des sous-réseaux spécifiques, indiquez-les dans la section Whitelist IPs lors de la création d’une nouvelle clé API REST :

Option permettant d'autoriser une liste d'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 API REST à l’aide de la clé API REST transmise sous forme de jeton Bearer dans l’en-tête Authorization de la requête. Lorsque vous envoyez une requête, incluez votre clé API dans le format suivant :

1
Authorization: Bearer YOUR_REST_API_KEY

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

  1. Validité du jeton : Vérifie que la clé API REST existe dans Braze et qu’elle est active (c’est-à-dire qu’elle n’a pas été révoquée ou désactivée).
  2. Autorisation du jeton : Confirme que la clé API dispose des autorisations requises pour l’endpoint demandé.

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

Sécurité au niveau du réseau

Les requêtes API REST adressées à 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 de votre serveur vers Braze :

Étape Composant Description
1 Votre serveur Lance une requête HTTPS avec chiffrement TLS.
2 Cloudflare Met fin à la connexion TLS du client et applique des protections au niveau du réseau.
3 Équilibreur de charge réseau (NLB) Transmet les paquets à l’infrastructure applicative. Les NLB fonctionnent 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 transférés sans inspection ni modification au niveau HTTP.
4 Ingress NGINX Met fin à la connexion TLS interne et achemine la requête.
5 Unicorn (serveur d’applications) 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 via le NLB vers l’ingress NGINX, de sorte que votre clé API et vos données de requête restent chiffrées pendant le transit.

Ressources complémentaires

Bibliothèque client Ruby

Si vous implémentez 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 une collection de code spécifique à un langage de programmation — ici Ruby — qui facilite l’utilisation d’une API.

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

New Stuff!