circle-exclamation
This documentation is currently under development. Certain sections are not yet complete and will be added shortly.

Extensibilité

Personnalisation avancée des connecteurs pour la résolution de contacts, la transformation d’événements et le mappage de données.

L'extensibilité personnalise la façon dont le connecteur résout les contacts, mappe les champs et formate les événements. Cela est principalement utilisé par les équipes techniques lorsque le comportement par défaut ne correspond pas au modèle de données.

Configuration

L'extensibilité est configurée dans la console d'administration The Wallet Crew. Chaque point d'entrée est un script JavaScript stocké dans le connecteur Bloomreach Paramètres avancés.

La mise en pré-production (staging) est le point de départ recommandé. Cela réduit le risque de perturber la segmentation et les déclencheurs de scénarios en production.

1

Ouvrir les paramètres avancés du connecteur Bloomreach

chevrons-rightOuvrir la page Paramètres avancés

Chaque point d'entrée possède son propre emplacement de script :

  • Contact Finder

  • Event Interceptor

  • Customer Mapper

2

Commencez par le changement le plus petit possible

Contact Finder est généralement implémenté en premier lorsque l'email n'est pas l'identifiant principal. Event Interceptor est généralement implémenté en premier lorsque la nomenclature des événements ou la gouvernance est requise.

Garder les modifications petites facilite l'isolation des problèmes d'attribution et d'ingestion.

3

Valider le comportement de bout en bout

La validation couvre généralement les deux directions du connecteur :

  • Une activité fonctionne toujours (Mettre à jour la carte / Notifier / Appliquer un privilège).

  • Un événement est toujours attribué au contact Bloomreach attendu.

Lorsque Event Interceptor est utilisé, la validation doit confirmer le nom final de l'événement et les propriétés visibles dans Bloomreach.

4

Déployer en production et surveiller

Une fois que le comportement en staging correspond aux attentes, les mêmes scripts peuvent être appliqués en production. Lorsque les événements sont utilisés comme déclencheurs de scénario, il est recommandé de déployer pendant une fenêtre de changement.

Points d'entrée d'extensibilité

Les scripts du connecteur sont configurés dans les paramètres avancés du connecteur Bloomreach dans la console d'administration The Wallet Crew.

circle-exclamation

Contact Finder

Une carte est liée à des identifiants externes (email, téléphone, ID membre, ...). Lorsqu'un événement se produit sur une carte, le connecteur doit l'attacher à un contact Bloomreach.

Contact Finder personnalise la façon dont ces identifiants sont convertis en identifiants de contact Bloomreach.

/**
 * Récupérer l'identifiant de contact à partir des identifiants de la carte pour déterminer le contact Bloomreach d'une carte.
 * L'implémentation par défaut utilise l'email comme identifiant enregistré
 *
 * Cette méthode est asynchrone, permettant des appels à des services web externes si nécessaire.
 *
 * @param {Record<string, any>} identifiers - Paires clé-valeur des identifiants de la carte
 * @returns {Promise<Record<string, string>>} Objet avec la clé 'registered' contenant l'identifiant du contact côté Bloomreach
 */
async function getContactIdentifiers(identifiers) {
  // Exemple : utiliser l'email comme identifiant de contact
  // ceci est l'implémentation par défaut
  return { "registered": identifiers["email"] };
}

export default function (context) {
  context.register('extensions.bloomreach.contactFinder', {
    GetContactIdentifiers: getContactIdentifiers
  });
}

Event Interceptor

Event Interceptor peut transformer eventName et properties avant d'envoyer l'événement à Bloomreach. Ceci est utile pour les conventions de nommage, le filtrage et l'enrichissement.

Retourner null supprime l'événement.

Customer Mapper

Customer Mapper personnalise le mapping entre les champs du formulaire d'inscription The Wallet Crew et les champs Bloomreach. Ceci est utilisé lorsque des données sont envoyées vers ou récupérées depuis Bloomreach avec des composants comme PassDataProvider et CustomerFlowElement.

FAQ

chevron-rightContact Finder peut-il appeler des services externes ?hashtag

Oui. Contact Finder est asynchrone et peut appeler des services externes si nécessaire.

Ceci est typiquement utilisé lorsque l'identifiant de contact Bloomreach n'est pas directement stocké sur la carte. Les schémas courants incluent la résolution d'un memberId en un email, ou le mapping de plusieurs identifiants vers un unique identifiant Bloomreach « registered ».

chevron-rightUn événement peut-il être supprimé avant d'atteindre Bloomreach ?hashtag

Oui. Event Interceptor peut retourner null pour omettre un événement.

Ceci est utile pour la gouvernance et la réduction du bruit. Par exemples : filtrer les événements de scan provenant de cartes de test, supprimer des propriétés sensibles, ou ignorer des événements à fort volume qui ne sont pas exploitables dans Bloomreach.

chevron-rightQuand Customer Mapper est-il utilisé ?hashtag

Customer Mapper est utilisé lorsque les données Bloomreach sont lues ou écrites via des composants du connecteur. Les points d'entrée typiques sont PassDataProvider (lecture) et CustomerFlowElement (écriture).

Il n'est pas utilisé par chaque activité. Par exemple, l'envoi d'un message Notify ne nécessite pas Customer Mapper à moins que les propriétés Bloomreach ne soient également utilisées comme source de données pour le rendu de la carte.

Customer Mapper est l'endroit approprié pour aligner les conventions de nommage, les formats de données et les champs optionnels. Il aide également à maintenir la stabilité des modèles de carte lorsque les noms de champs Bloomreach changent.

Mis à jour