Loading
Premiers pas avec B2C Commerce
Événements de réplication granulaire

Événements de réplication granulaire

Le système B2C Commerce déclenche des événements de réplication granulaire lorsque la tâche de réplication granulaire se termine, échoue partiellement ou échoue totalement. La réplication granulaire fonctionne au niveau de chaque objet (produits, tables de prix, éléments de contenu) plutôt qu’au niveau du processus de réplication en bloc, de sorte que ses événements signalent les identifiants d’objet individuels qui ont réussi et ceux qui ont échoué.

Disponible en : B2C Commerce version 26.7 et ultérieure.

ID d’événement

Identifiant d’événement Description Lorsqu’il est tiré
sf.cc.replication.granular.completed La réplication granulaire s’est terminée avec succès Lorsque la tâche de réplication granulaire se termine sans erreur cible et sans aucun objet non démarré, non publié et non invalidé
sf.cc.replication.granular.failed La réplication granulaire a complètement échoué Lorsque la tâche se termine dans un état d’erreur et qu’aucun objet de cette exécution n’a réussi
sf.cc.replication.granular.incomplete Réplication granulaire complétée par un mélange de réussites et d’échecs Lorsque la tâche se termine dans un état d’erreur, mais qu’au moins un objet de cette exécution a réussi

En-têtes HTTP

Les événements de réplication granulaire utilisent les en-têtes standard de la plateforme Commerce Cloud documentés dans En-têtes HTTP communs pour les événements B2C Commerce, avec x-sf-cc-event-id défini sur l’ID d’événement de réplication granulaire (par exemple, sf.cc.replication.granular.completed).

Structure de la charge utile JSON — champs communs

Champ Type Requis Description
processId entier Oui ID d’exécution de tâche de l’exécution de réplication granulaire
type string Oui Toujours le GRANULAR littéral ; Distingue les événements de réplication granulaire des événements de réplication au niveau du processus
targetSystem string Oui Nom du système cible, généralement Development ou Production
État string Oui État final de la tâche (voir États de processus granulaires)
Succès booléen Oui vrai uniquement pour les événements terminés ; Faux pour les événements ayant échoué et incomplets
startDate (en anglais) string Oui Horodatage ISO-8601 du début de la tâche ; chaîne vide lorsqu’aucune heure de début de tâche n’a été enregistrée
endDate string Oui Horodatage ISO-8601 de l’émission de l’événement

Champs spécifiques à l’événement

Événement Champs supplémentaires
sf.cc.replication.granular.completed objets: listes par suivi des identifiants d’objet qui se sont terminés avec succès
sf.cc.replication.granular.failed errorState (toujours GRANULAR_REPLICATION_FAILURE) et failedObjects: listes par suivi des objets qui ont échoué, chacun avec un identifiant et un état
sf.cc.replication.granular.incomplete errorState (toujours GRANULAR_REPLICATION_INCOMPLETE), successfulObjects et failedObjects

États granulaires du processus

Le champ état indique l’état final de la tâche de réplication granulaire.

Valeur Description
TERMINÉ Tous les objets en file d’attente exportés, importés et invalidés proprement
ÉCHEC La tâche s’est terminée par une erreur et n’a produit aucun objet satisfaisant
INCOMPLET La tâche s’est terminée par une erreur, mais au moins un objet a réussi (résultat partiel)

Regroupements d’objets

Les champs de charge utile objects, successfulObjects et failedObjects partagent la même structure à trois compartiments, un compartiment par type traçable.

Champ Type Requis Description
Produits tableau Oui Entrées par produit
Tables de prix tableau Oui Entrées par table de prix
contenuAssets tableau Oui Entrées par élément de contenu

Les entrées réussies (dans objects et successfulObjects) contiennent une chaîne d’identifiant. Les entrées ayant échoué (dans failedObjects) contiennent une chaîne d’identification et un code d’état lisible par machine.

Valeurs de l’état de défaillance

Le champ d’état de chaque entrée failedObjects contient un code lisible par machine.

Valeur Description
EXPORT_ERROR Échec de l’exportation à partir du système source pour cet objet
IMPORT_ERROR Échec de l’importation dans le système cible pour cet objet
NOT_FINISHED L’objet a été mis en file d’attente ou exporté, mais n’a jamais atteint son état final
TARGET_ERROR Le système cible a signalé une erreur pour cet objet après l’exportation
Remarque
Remarque NOT_INVALIDATED objets n’apparaissent pas dans failedObjects. Lorsqu’un objet est importé avec succès mais que l’étape d’invalidation du cache ne se termine pas, l’objet est tout de même signalé dans les listes de réussite (objects ou successfulObjects). Un nombre non invalidé non nul au niveau de la tâche est ce qui provoque l’émission par la tâche d’un événement sf.cc.replication.granular.incomplete plutôt que d’un événement terminé.

Exemple : événement de réplication granulaire réussi


{
"processId » : 456,
"type » : « GRANULAR »,
"targetSystem » : « Production »,
"état » : « COMPLETED »,
"success » : true,
"objects » : {
"products » : [
{ « id » : « prod-001 » }
],
"priceTables » : [
{ « id » : « prod-001@usd-prices » }
],
"contentAssets » : []
},
"startDate » : « 2026-03-11T22:13:20Z »,
"endDate » : "2026-03-11T22:13:25Z"
}

Exemple : échec d’un événement de réplication granulaire


{
"processId » : 456,
"type » : « GRANULAR »,
"targetSystem » : « Production »,
"état » : « FAILED »,
"success » : false,
"errorState » : « GRANULAR_REPLICATION_FAILURE »,
"failedObjects » : {
"products » : [
{ « id » : « prod-001 », « status » : « TARGET_ERROR » }
],
"priceTables » : [],
"contentAssets » : []
},
"startDate » : « 2026-03-11T22:13:20Z »,
"endDate » : "2026-03-11T22:13:25Z"
}

Exemple : événement de réplication granulaire incomplet


{
"processId » : 456,
"type » : « GRANULAR »,
"targetSystem » : « Production »,
"état » : « INCOMPLETE »,
"success » : false,
"errorState » : « GRANULAR_REPLICATION_INCOMPLETE »,
"successfulObjects » : {
"products » : [
{ « id » : « prod-001 » }
],
"priceTables » : [
{ « id » : « prod-001@usd-prices » }
],
"contentAssets » : []
},
"failedObjects » : {
"products » : [
{ « id » : « prod-002 », « status » : « IMPORT_ERROR » }
],
"priceTables » : [
{ « id » : « prod-003@eur-prices », « status » : « NOT_FINISHED » }
],
"contentAssets » : []
},
"startDate » : « 2026-03-11T22:13:20Z »,
"endDate » : "2026-03-11T22:13:25Z"
}

Notes d’implémentation de la réplication granulaire

  • type est la chaîne littérale GRANULAR ; le flux de réplication granulaire par objet est distinct des types d’événements Réplication, Publication et Code* au niveau du processus.
  • processId est l’identifiant d’exécution de la tâche de réplication granulaire, et non l’UUID du processus.
  • endDate indique la date d’émission de l’événement, et non l’heure de fin de la tâche finale.
  • errorState est GRANULAR_REPLICATION_FAILURE pour les événements ayant échoué et GRANULAR_REPLICATION_INCOMPLETE pour les événements incomplets.
  • Chaque regroupement d’objets (products, priceTables, contentAssets) est toujours présent dans la charge utile, même s’il est vide.
  • Les valeurs d’état de défaillance sont des codes lisibles par machine, et non du texte localisé.
  • Chaque type d’événement est contrôlé à la fois par la propriété d’événement de réplication globale et par une bascule de fonctionnalité par événement (une pour les événements terminés, échoués et incomplets). Si l’une ou l’autre est désactivée, l’événement n’est pas envoyé.
 
Chargement
Salesforce Help | Article