Vous êtes ici :
Configurer les événements dans B2C Commerce (pilote)
Utilisez l’événementiel dans B2C Commerce pour recevoir des notifications lorsque certains événements de traitement ou de données se produisent dans votre environnement Commerce Cloud. Vous activez les types d’événements et configurez les connecteurs dans Business Manager. B2C Commerce achemine les événements directement vers les connecteurs configurés.
Éditions requises
| Disponible avec : B2C Commerce |
L’événementiel fournit des notifications lorsque des modifications spécifiques se produisent dans B2C Commerce afin que vous puissiez déclencher des processus métier dans des systèmes externes, par exemple, l’invalidation du cache en dehors de la plate-forme, la synchronisation des données avec des systèmes de recherche ou de commande externes, ou l’exécution de workflows de commande ou de marketing en aval. Il permet d’assurer la précision des boutiques en ligne, de réduire le suivi manuel de la fin des opérations de la plateforme et de découpler votre logique métier des opérations de la plateforme. Cette fonction est particulièrement utile pour les implémentations de boutiques hybrides ou sans interface utilisateur. Le concours complet est destiné aux développeurs clients et aux merchandisers qui réagissent aux événements de la plateforme.
L’événementiel prend en charge deux cas d’utilisation principaux : notifier vos propres systèmes (ou services externes) lorsque des événements de données ou de traitement se produisent dans B2C Commerce, et notifier d’autres services Commerce Cloud. B2C Commerce ne diffuse les événements qu’aux destinations que vous configurez. Pour le pilote, il n’y a pas de bus d’événement séparé ; B2C Commerce achemine les événements directement vers vos connecteurs configurés (tels que les webhooks) à partir de la plateforme.
Vous activez les types d’événements qui vous intéressent pour votre client, puis configurez un ou plusieurs connecteurs, par exemple, une URL de webhook, dans Business Manager. Lorsqu’un événement activé se produit, B2C Commerce l’envoie de manière asynchrone à chaque connecteur configuré. Seuls les types d’événements activés sont envoyés, et uniquement aux connecteurs que vous avez configurés. Si vous ne configurez aucun connecteur pour un type d’événement, aucune notification n’est envoyée pour ce type.
Types d’événements: le framework prend en charge les événements de données et les événements de traitement. Pour l’étendue pilote actuelle, les types d’événements initiaux sont des événements de traitement de réplication. Les deux types d’événements de réplication sont disponibles avec la version 26.6 de B2C Commerce.
| Identifiant d’événement | Description | Lorsqu’il est tiré |
|---|---|---|
sf.cc.replication.completed |
La réplication s’est terminée avec succès | Lorsqu’un processus de réplication atteint l’état TERMINÉ |
sf.cc.replication.failed |
Échec de la réplication | Lorsqu’un processus de réplication atteint l’état FAILED |
En-têtes HTTP: tous les événements de réplication incluent les en-têtes standard de la plateforme Commerce Cloud.
| En-tête | Description | Exemple |
|---|---|---|
x-sf-cc-horodatage |
Horodatage ISO-8601 lors de la génération de l’événement | 2026-03-11T13:31:13.755934395Z |
x-sf-cc-id-instance-id |
Identifiant de l’instance (minuscules) | zzzz_prd |
x-sf-cc-id-site-id |
Identifiant du site (vide pour les opérations au niveau de l’organisation) | RefArch ou "" |
id-corrélation-x-sf-cc |
ID de corrélation pour le suivi entre les systèmes | 550e8400-e29b-41d4-a716-446655440000 |
x-sf-cc-id-événementiel |
Identificateur de type d’événement | sf.cc.replication.completed |
Structure de la charge utile JSON: tous les événements de réplication incluent ces champs communs.
| Champ | Type | Requis | Description |
|---|---|---|---|
Processid | string | Oui | Identificateur unique pour le processus de réplication |
Uuid | string | Oui | UUID du processus de réplication |
type | string | Oui | Type de processus de réplication (voir Types de processus) |
targetSystem | string | Oui | Nom du système cible, généralement Development ou Production |
État | string | Oui | État actuel du processus (voir états du processus) |
isDataReplication (Réplication isData) | booléen | Oui | vrai pour la réplication de données, faux pour la réplication de code |
Succès | booléen | Oui | Vrai pour les événements terminés, Faux pour les événements ayant échoué |
description | string | Non | Description du processus de réplication fournie par l’utilisateur |
codeVersion (en anglais) | string | Non | Identificateur de version de code pour les réplications de code |
Groupes de réplication | Array | Oui | Liste des groupes de réplication inclus (voir Groupes de réplication) |
Startdate | string | Oui | Horodatage ISO-8601 lorsque le processus a démarré |
endDate | string | Oui | Horodatage ISO-8601 de la fin du processus |
Champ spécifique à l’échec: les événements ayant échoué (sf.cc.replication.failed) incluent errorState, un code d’état d’erreur lisible par machine.
Types de processus: le champ type indique l’opération de réplication.
| Valeur de réplication des données | Description |
|---|---|
RéplicationPublication | Transfert de données et publication immédiate |
Réplication | Transfert de données uniquement (réplication en deux étapes) |
Publication | Publication des données précédemment transférées |
Annuler | Annuler une réplication précédente |
| Valeur de réplication du code | Description |
|---|---|
CodeReplicationPublication | Transfert de code et publication immédiate |
Réplication de code | Transfert de code uniquement |
Publication du code | Publication du code précédemment transféré |
CodeAnnuler | Annuler une réplication de code précédente |
États du processus: le champ d’état indique l’état du processus.
| Valeur | Description |
|---|---|
ATTENTE | Le processus est créé et prêt à démarrer |
INITIALISATION | Le processus se prépare à s’exécuter |
EXÉCUTION | Le processus est en cours |
FINALISER | Le processus est en cours de finalisation |
TERMINÉ | Le processus s’est terminé avec succès |
ÉCHOUÉ | Échec du processus |
CANCELED est obsolète et ne devrait pas apparaître dans les nouveaux événements.Groupes de réplication: le tableau replicationGroups décrit ce qui a été répliqué.
| Champ | Type | Requis | Description |
|---|---|---|---|
id | string | Oui | Identificateur de groupe lisible par machine |
type | string | Oui | Champ d’application du groupe : ORGANISATION, SITE ou RÉFÉRENTIEL |
Domaine | string | Non | Nom de domaine pour les groupes délimités par le référentiel |
Identifiants de groupe au niveau de l’organisation
| Identifiant | Description |
|---|---|
ORGANIZATION_CATALOG | Tous les catalogues |
ORGANIZATION_CATALOG_STATIC | Contenu statique pour tous les catalogues |
ORGANIZATION_CSC_SETTINGS | Paramètres du Customer Service Center |
ORGANIZATION_CSRF_WHITELIST_PIPELINES | Nœuds de départ/pipelines de liste blanche CSRF |
ORGANIZATION_CUSTOMERLIST | Toutes les listes de clients |
ORGANIZATION_CUSTOM_OBJECT | Objets personnalisés de l’organisation |
ORGANIZATION_TYPE_DEFINITION | Types d’objets personnalisés et extensions système |
ORGANIZATION_REFERENCE_DATA | Données de géolocalisation |
ORGANIZATION_LIBRARY | Toutes les bibliothèques partagées |
ORGANIZATION_OAUTH_PROVIDERS | Fournisseurs OAuth |
PARAMÈTRES_OCAPI_ORGANISATION | Paramètres OCAPI généraux |
ORGANIZATION_PAGE_META_TAGS | Définitions de balise méta pour la page |
ORGANIZATION_PREFERENCE | Préférences de l’organisation |
ORGANIZATION_PREFERENCE_CUSTOM | Préférences personnalisées uniquement |
ORGANIZATION_PREFERENCE_SYSTEM | Préférences système uniquement |
ORGANIZATION_PRICE_BOOK | Toutes les listes de prix |
ORGANIZATION_SITE | Tous les sites |
ORGANIZATION_STATIC_CONTENT | Contenu statique global |
ORGANIZATION_WEBDAV_CLIENT_PERMISSIONS | Autorisations du client WebDAV |
ORGANIZATION_SORTING | Règles de tri globales |
ORGANIZATION_PAYMENTS_CONFIG | Configuration des paiements |
ORGANIZATION_ASSIGNMENT | Devoirs et critères de qualification |
Identifiants de groupe au niveau du site
| Identifiant | Description |
|---|---|
SITE_ABTEST | Tests A/B et expériences |
SITE_ABTEST_ONLY | Tests A/B uniquement |
SITE_ACTIVEDATAFEED | Définitions de flux Active Data |
SITE_CACHE_SETTINGS | Paramètres de cache |
SITE_CONTENT | Bibliothèque de contenu |
SITE_COUPON | Bons de réduction |
SITE_CUSTOMER_GROUP | Groupes de clients |
SITE_CUSTOM_OBJECT | Objets personnalisés spécifiques au site |
SITE_DYNAMIC | Contenu dynamique |
PARAMÈTRES_OCAPI_SITE | Paramètres OCAPI du site |
SITE_PAYMENT_METHOD | Configuration du paiement |
SITE_PREFERENCE | Préférences de site |
SITE_PREFERENCE_SYSTEM | Préférences système du site |
SITE_PREFERENCE_CUSTOM | Préférences personnalisées du site |
SITE_PROMOTION | Campagnes et promotions |
SITE_SEARCH_INDEX | Index de recherche |
SITE_SHIPPING_METHOD | Modes de livraison |
SITE_SLOT | Slots de contenu |
SITE_SORTING | Tri spécifique au site |
SITE_SOURCECODE | Codes source |
SITE_STORE | Boutiques |
SITE_TAX | Paramètres de gestion des taxes |
SITE_URL | URL de la boutique en ligne |
SITE_URL_CATEGORY | URL de catalogue |
SITE_URL_FOLDER | URL de contenu |
SITE_URL_PIPELINE | URL de pipeline |
SITE_URL_REDIRECT | Redirections des URL |
Identifiants de groupe au niveau du référentiel
| Identifiant | Description |
|---|---|
CATALOGUE | Catalogue spécifique (le domaine contient le nom du catalogue) |
CATALOG_STATIC | Contenu statique spécifique du catalogue |
SITE | Site spécifique (le domaine contient le nom du site) |
BIBLIOTHÈQUE | Bibliothèque spécifique (le domaine contient le nom de la bibliothèque) |
PRICE_BOOK | Liste de prix spécifique (le domaine contient le nom de la liste de prix) |
États d’erreur: les événements ayant échoué incluent des valeurs errorState lisibles par machine.
| Valeur | Description |
|---|---|
ERROR_INITIALIZATION | Le processus de réplication n’a pas pu être initialisé |
ERROR_STAGING_PROCESS_CREATION | Impossible de créer un processus de mise en scène |
ErreurInterneLive | Erreur interne dans le système cible |
ErreurInterneModifier | Erreur interne dans le système source |
ErreurNonStagedParentSites | Le contenu sélectionné appartient à des sites qui n’ont pas encore été répliqués |
ErrorConnectLiveSystem (ErreurConnectLiveSystem) | Impossible de se connecter au système cible |
ErrorCreatingLiveStagingProcess | Echec de l’initialisation du processus dans le système cible |
ErreurExécutionModificationStagingPipeline | Erreur interne dans le pipeline du système source |
ErreurLiveStagingProcessKilled | Processus abandonné dans le système cible |
ErrorEditingStagingProcessKilled | Processus abandonné dans le système source |
ErrorStagingProcessCancelled | Le processus a été annulé |
NoStagingProcessCreated | Le processus n’a pas pu être initialisé |
ErrorStagingProcessModeNotSupported | Mode de traitement non pris en charge |
ErrorTableLocked | Table de base de données verrouillée |
ErreurInitialisationStagingProcessors | Impossible d’initialiser les processeurs |
ErrorCallingLivePipeline | Échec de la connexion au système cible |
ErrorSynonymState | État interne critique non valide sur la cible |
ErreurAcquisitionEditingLocks | Impossible d’acquérir des verrous dans le système source |
ErreurAcquisitionLiveLocks | Impossible d’acquérir des verrous dans le système cible |
Préparation à l’erreur | Échec de la préparation dans le système source |
ErrorRefreshCache | Échec de l’actualisation du cache dans le système cible |
ErreurRéplication | Échec du transfert de données vers le système cible |
PublicationErreur | Échec de la publication des données transférées |
Configurer les types d’événements
Après avoir configuré les connecteurs, examinez et activez les types d’événements pour votre locataire. Les exemples de charges utiles suivants montrent les données d’événement que votre connecteur reçoit pour les événements de réplication terminés, échoués et de code.
Événement de réplication réussi
{
"eventType » : « sf.cc.replication.completed »,
"timestamp » : « 2026-03-11T13:31:13.755934395Z »,
"tenantId » : « zzzz_stg »,
"payload » : {
"processId » : « 12345 »,
"uuid » : "550e8400-e29b-41d4-a716-446655440000",
"type": « ReplicationPublication »,
"targetSystem » : « Production »,
"état » : « COMPLETED »,
"isDataReplication » : true,
"success » : true,
"description » : « Mise à jour hebdomadaire du catalogue »,
"replicationGroups » : [
{
"id » : « ORGANIZATION_CATALOG »,
"type » : « ORGANISATION"
},
{
"id » : « CATALOGUE »,
"type » : « REPOSITORY »,
"domain » : « storefront-catalog-m-en"
}
],
"startDate » : « 2026-03-11T13:31:03Z »,
"endDate » : "2026-03-11T13:31:13.727Z"
}
}
Échec de l’événement de réplication
{
"eventType": "sf.cc.replication.failed",
"timestamp": "2026-03-11T14:22:18.442Z",
"tenantId": "zzzz_prd",
"payload": {
"processId": « 12346 »,
"uuid » : "660e8400-e29b-41d4-a716-446655440001",
"type": « Réplication »,
"targetSystem » : « Production »,
"état » : "FAILED",
"isDataReplication": true,
"success": false,
"description": « Mise à jour de contenu d’urgence »,
"errorState » : "ErrorConnectLiveSystem",
"replicationGroups": [
{
"id": « SITE_CONTENT »,
"type » : « SITE"
},
{
"id » : « SITE »,
"type » : « REPOSITORY »,
"domain » : « RefArch"
}
],
"startDate » : « 2026-03-11T14:22:15Z »,
"endDate » : "2026-03-11T14:22:18.442Z"
}
}
Événement de réplication de code
{
"eventType » : « sf.cc.replication.completed »,
"timestamp » : "2026-03-11T15:05:32.118Z",
"tenantId": "zzzz_prd",
"payload": {
"processId": « 12347 »,
"uuid » : "770e8400-e29b-41d4-a716-446655440002",
"type": « CodeReplicationPublication »,
"targetSystem » : « Développement »,
"État » : "COMPLETED",
"isDataReplication": false,
"success": true,
"codeVersion": "version1",
"replicationGroups": [],
"startDate": « 2026-03-11T15:00:00Z »,
"endDate » : "2026-03-11T15:05:32.118Z"
}
}
Notes de mise en œuvre
- Tous les horodatages utilisent le format ISO-8601 avec indicateur de fuseau horaire.
- Les identifiants d’instance sont normalisés en minuscules.
- L’identifiant du site est vide pour les opérations au niveau de l’organisation (les processus de réplication sont au niveau de l’organisation).
- Le champ
de descriptionest un texte facultatif fourni par l’utilisateur. - Un tableau
replicationGroupsvide indique une réplication de code uniquement. - Les états d’erreur sont des codes lisibles par machine, et non du texte localisé.
Connecteurs: Les connecteurs sont les destinations auxquelles B2C Commerce envoie des notifications d’événements (par exemple, un webhook HTTP vers une URL que vous fournissez). La livraison est asynchrone via un composant interne de répartition des événements en temps quasi réel. Pour le pilote, la plate-forme garantit une livraison dans les meilleurs délais. Au-delà du projet pilote, Salesforce prévoit d’ajouter des mécanismes pour les nouvelles tentatives et une gestion plus robuste des erreurs. L’accès aux événements est régi par des contrôles d’authentification et de sécurité. Seuls les types d’événements activés génèrent des notifications, et les événements ne sont envoyés qu’aux connecteurs que vous avez configurés. La conception actuelle utilise un modèle push : B2C Commerce lance la requête HTTP vers votre point de terminaison. Confirmez que votre point de terminaison renvoie une réponse réussie (par exemple, HTTP 200) lorsque vous avez accepté et traité l’événement. Pour plus d’informations sur le connecteur B2C Commerce, reportez-vous à la section Connecteur B2C Commerce.
Pour configurer l’événement, procédez comme suit :
-
Dans Business Manager, ouvrez la zone des événements ou des intégrations (le chemin d’accès peut varier selon la version).
Ajoutez les informations requises pour un connecteur (webhook) dans lequel vous souhaitez que B2C Commerce envoie des notifications d’événements. Configurez plusieurs connecteurs afin que les différents événements soient envoyés à différents systèmes :
- URL — URL — Saisissez l’URL complète du point de terminaison (par exemple, ). Commerce Cloud nécessite un accès au point de terminaison. configurez des règles de pare-feu pour permettre à Commerce Cloud d’appeler votre URL. Espace réservé : exemple de requête HTTP reçue par votre webhook. Remplacez-le par un échantillon réel lorsqu’il est disponible. POST /events HTTP/1.1 Hôte : your-system.example.com Type de contenu : application/json
- Authentification: si votre point de terminaison nécessite une authentification, configurez la méthode (par exemple, clé API, OAuth ou TLS (Transport Layer Security) mutuel) et les informations d’identification ou les jetons fournis par l’interface utilisateur de Business Manager. Stockez vos informations d’identification en toute sécurité. Ne les partagez pas.
-
En-têtes: si votre point de terminaison attend des en-têtes HTTP spécifiques (par exemple, un en-tête de clé d’API personnalisé), configurez-les dans les paramètres du connecteur. La plateforme peut ajouter automatiquement des en-têtes standard (par exemple,
Content-Type : application/json).
-
Consultez la liste des types d’événements disponibles et leurs descriptions.

-
Pour chaque type d’événement que vous souhaitez utiliser, activez-le pour votre locataire.
Seuls les types d’événements activés génèrent des notifications. Les types désactivés n’envoient pas d’événements. Activez ou désactivez les types d’événements à tout moment. Il vous suffit de spécifier le connecteur existant (webhook) souhaité pour le type d’événement qui vous intéresse. Remarque : Vous ne pouvez choisir qu’à partir d’un webhook existant lors de l’activation d’un type d’événement, alors assurez-vous que l’étape 1 est terminée avant cela.Enregistrez vos modifications.
Utilisez B2C Commerce Log Center pour surveiller et diagnostiquer les problèmes de livraison ou de point de terminaison. Voir Log Center.

