Skip to main content

S’abonner à un canal d’événement

Objectifs de formation

Une fois cette unité terminée, vous pourrez :

  • Activer les notifications d’événement de modification pour les objets depuis la page Capture des données de modification.
  • Utiliser EMP Connector pour vous abonner à un canal d’événement de modification.
  • Générer des notifications d’événement de modification en effectuant des mises à jour dans Salesforce.

Maintenant que vous avez découvert les bases de la Capture des données de modification, passons à l’action en générant des modifications dans Salesforce et en recevant des événements de modification. Dans cette section, nous allons créer et modifier un enregistrement d’employé. 

Créer l’objet personnalisé Employee

Avant de commencer cet exercice, nous devons définir l’objet personnalisé Employee. La première étape consiste à créer l’objet personnalisé. Vous pouvez suivre la progression dans votre organisation Trailhead Playground ou Developer Edition. Pour accéder à votre Trailhead Playground, cliquez sur l’image de votre profil dans le coin supérieur droit, puis sur Organisations d’exercice, et enfin sur le nom d’utilisateur de l’organisation à lancer.

  1. Dans Configuration, cliquez sur l’onglet Gestionnaire d’objet, puis sélectionnez Créer > Objet personnalisé.
  2. Saisissez les valeurs ci-dessous.

Étiquette : Employé

Étiquette au pluriel : Employés

(Si disponible, sélectionnez Commence par un son vocalique.)

Nom de l’objet : Employé

Nom de l’enregistrement : Nom de l’employé

3. Sélectionnez Lancer l’assistant Nouvel onglet personnalisé après l’enregistrement de cet objet personnalisé.

4. Cliquez sur Enregistrer.

5. Sur la page Onglet Nouvel objet personnalisé, sélectionnez l’onglet Création pour le style d’onglet.

6. Cliquez sur Suivant | Suivant | Enregistrer.

7. Cliquez sur Champs et relations, puis sur Nouveau.

8. Suivez l’assistant de création de champs pour créer les trois champs suivants :

Type de données : Texte, étiquette du champ : Last Name, nom du champ  Last_Name, longueur : 50, Requis : Oui

Type de données : Texte, étiquette du champ : First Name, nom du champ : First_Name, longueur : 50

Type de données : Nombre, étiquette du champ : Tenure, longueur : 18, décimales : 0, nom du champ : Tenure

Activer les notifications de changement pour l’objet Employee

Avant de pouvoir recevoir des notifications de modification, vous devez sélectionner les objets qui vous intéressent. Sinon, vous ne recevrez aucune notification, même en vous abonnant au canal approprié. Dans cette section, nous sélectionnons l’objet personnalisé Employee pour suivre les modifications apportées à l’enregistrement d’employé.

  1. Dans Configuration, saisissez Capture des données de modification dans la case Recherche rapide, puis cliquez sur Capture des données de modification.
  2. Dans Entités disponibles, sélectionnez Employé (Employee__c) et cliquez sur la flèche >.
  3. Cliquez sur Enregistrer.

Page Capture des données de modification.

S’abonner à l’aide d’EMP Connector

Maintenant, nous allons vous montrer comment générer des événements de modification pour les enregistrements d’employés et vous y abonner à l’aide d’EMP Connector. Dans cette section, nous présentons les étapes permettant de générer et de recevoir des événements de modification afin que vous puissiez voir des exemples d’événements de modification. Vous n’avez pas besoin de suivre ces étapes pour obtenir le badge. Vous pourrez vous référer ultérieurement à ces étapes lorsque vous utiliserez EMP Connector pour vous abonner à des événements de modification.

Remarque

EMP Connector est un outil gratuit, open source et soutenu par la communauté. Salesforce fournit cet outil afin de montrer comment s’abonner à des événements à l’aide de CometD. Pour contribuer au projet EMP Connector avec vos propres améliorations, envoyez des pull requests au référentiel à l’adresse https://github.com/forcedotcom/EMP-Connector.

Prérequis

Étapes

  1. Pour obtenir une copie locale du référentiel GitHub EMP-Connector, procédez comme suit :
  2. Pour compiler l’outil EMP-Connector, procédez comme suit :
    • $ cd EMP-Connector
    • $ mvn clean package
    • La commande mvn génère des fichiers JAR dans le dossier target du répertoire du projet EMP-Connector. Le fichier JAR généré, target/emp-connector-0.0.1-SNAPSHOT-phat.jar, inclut le connecteur et la fonctionnalité LoginExample. Le fichier JAR contient toutes les dépendances du connecteur. Vous n’avez donc pas à les télécharger séparément.
  3. Pour exécuter EMP Connector avec votre organisation Developer Edition ou Trailhead Playground, saisissez cette commande et indiquez les informations de connexion de votre organisation Trailhead Playground ou Salesforce, ainsi que le canal auquel vous souhaitez vous abonner. Dans cet exemple, le canal est /data/Employee__ChangeEvent.
    • $ java -jar target/emp-connector-0.0.1-SNAPSHOT-phat.jar <username> <password> /data/Employee__ChangeEvent
Remarque
  • Vous devez ajouter un jeton de sécurité à votre mot de passe si vous n’avez pas configuré de plage d’adresses IP de confiance pour votre organisation. Pour en savoir plus, consultez la section Prérequis.
  • La ligne de commande interprète certains caractères comme ayant une fonction spéciale. Si votre mot de passe contient des caractères spéciaux, entourez-le de guillemets droits afin qu’il soit transmis sous forme de chaîne littérale. Par exemple, sur les systèmes macOS et Unix, les caractères spéciaux !, \, et $ doivent notamment être entourés de guillemets droits.

Une fois que vous avez abonné l’outil EMP-Connector au canal pour Employee__c, toute modification apportée aux enregistrements d’employés ou toute création d’enregistrements génère des notifications que l’outil affiche sur la console.

Création d’un enregistrement d’employé

Effectuons quelques modifications d’enregistrement afin de recevoir des notifications d’événement de modification. Tout d’abord, créez un enregistrement d’employé. 

  1. Dans le lanceur d’application ( Lanceur d’application), cherchez et sélectionnez Employés.
  2. Cliquez sur Nouveau.
  3. Remplissez les champs suivants :
    • Nom de l’employé : e-100
    • Nom de famille : Smith
    • Prénom : Patricia
  4. Cliquez sur Enregistrer.

Lorsque vous enregistrez la fiche de l’employé, une notification de modification s’affiche dans la console, comme suit :

{
  "schema": "-pszPCNGMHqUPU1ftkjxEA",
  "payload": {
    "LastModifiedDate": "2019-09-25T20:36:12.000Z",
    "OwnerId": "005RM000001vI4mYAE",
    "CreatedById": "005RM000001vI4mYAE",
    "ChangeEventHeader": {
      "commitNumber": 65840604581,
      "commitUser": "005RM000001vI4mYAE",
      "sequenceNumber": 1,
      "entityName": "Employee__c",
      "changeType": "CREATE",
      "changedFields": [],
      "changeOrigin": "com/salesforce/api/soap/47.0;client=SfdcInternalAPI/",
      "transactionKey": "00051d2e-a65a-3e97-03fc-cdf4e16d5d3c",
      "commitTimestamp": 1569443772000,
      "recordIds": [
        "a00RM0000004ICTYA2"
      ]
    },
    "CreatedDate": "2019-09-25T20:36:12.000Z",
    "First_Name__c": "Patricia",
    "LastModifiedById": "005RM000001vI4mYAE",
    "Name": "e-100",
    "Last_Name__c": "Smith"
  },
  "event": {
    "replayId": 15053
  }
}

Mise à jour d’un enregistrement d’employé

Ensuite, mettons à jour l’enregistrement que nous venons de créer en ajoutant une valeur au champ Tenure et en modifiant ensuite le prénom. 

  1. Cliquez sur Modifier sur la page des détails de l’enregistrement d’employé.
  2. Modifiez le champ First Name en saisissant Trish.
  3. Pour le champ Tenure, saisissez 3.
  4. Cliquez sur Enregistrer.

La mise à jour de l’enregistrement d’employé génère le message d’événement de modification ci-dessous. L’événement de modification ne contient que les champs nouveaux et modifiés, en plus des champs d’en-tête.

{
  "schema": "-pszPCNGMHqUPU1ftkjxEA",
  "payload": {
    "LastModifiedDate": "2019-09-25T20:38:11.000Z",
    "ChangeEventHeader": {
      "commitNumber": 65840825286,
      "commitUser": "005RM000001vI4mYAE",
      "sequenceNumber": 1,
      "entityName": "Employee__c",
      "changeType": "UPDATE",
      "changedFields": [
        "LastModifiedDate",
        "First_Name__c",
        "Tenure__c"
      ],
      "changeOrigin": "com/salesforce/api/soap/47.0;client=SfdcInternalAPI/",
      "transactionKey": "00051d4a-7640-5b8c-c6d1-b8db4ce4cf2f",
      "commitTimestamp": 1569443892000,
      "recordIds": [
        "a00RM0000004ICTYA2"
      ]
    },
    "First_Name__c": "Trish",
    "Tenure__c": 3.0
  },
  "event": {
    "replayId": 15054
  }
}

Suppression d’un enregistrement d’employé

Voyons maintenant ce qui se passe lorsque nous supprimons un enregistrement d’employé. 

  1. Sur la page des détails de Trish, sélectionnez Supprimer dans le menu déroulant.
  2. Cliquez sur Supprimer dans la fenêtre contextuelle de confirmation.

La suppression entraîne l’affichage du message d’événement ci-dessous. Dans le cas de suppressions, les événements de modification ne contiennent pas de champ système ou d’enregistrement.

{
  "schema": "-pszPCNGMHqUPU1ftkjxEA",
  "payload": {
    "ChangeEventHeader": {
      "commitNumber": 65841052769,
      "commitUser": "005RM000001vI4mYAE",
      "sequenceNumber": 1,
      "entityName": "Employee__c",
      "changeType": "DELETE",
      "changedFields": [],
      "changeOrigin": "com/salesforce/api/soap/47.0;client=SfdcInternalAPI/",
      "transactionKey": "00051d67-b628-09dc-15a0-05101183b4d1",
      "commitTimestamp": 1569444019000,
      "recordIds": [
        "a00RM0000004ICTYA2"
      ]
    }
  },
  "event": {
    "replayId": 15055
  }
}

Restauration d’un enregistrement d’employé

Lorsque vous supprimez un enregistrement, celui-ci est « supprimé de manière non définitive » et peut être restauré dans un certain délai. Récupérons l’enregistrement via Apex.

  1. Cliquez sur le menu d’accès rapide (Icône d’engrenage de configuration), puis sélectionnez Developer Console.
  2. Dans Developer Console, cliquez sur Débogage Ouvrir la fenêtre d’exécution anonyme.
  3. Dans la nouvelle fenêtre, saisissez ce qui suit et remplacez l’espace réservé pour l’ID par la valeur d’ID renvoyée dans le champ d’en-tête recordIds. Vous pouvez trouver le champ recordIds dans le message d’événement de modification que vous avez reçu après la suppression de l’enregistrement à l’étape précédente.
Employee__c record = [SELECT Id,Name FROM Employee__c WHERE Id='ID_Placeholder' ALL ROWS];
undelete record;
  1. Cliquez sur Exécuter.

La restauration entraîne l’affichage du message d’événement ci-dessous. L’événement de modification relatif à la restauration d’un enregistrement contient des champs issus de l’enregistrement d’origine qui avait été supprimé.

{
  "schema": "-pszPCNGMHqUPU1ftkjxEA",
  "payload": {
    "LastModifiedDate": "2019-09-25T20:43:31.000Z",
    "OwnerId": "005RM000001vI4mYAE",
    "CreatedById": "005RM000001vI4mYAE",
    "ChangeEventHeader": {
      "commitNumber": 65841428802,
      "commitUser": "005RM000001vI4mYAE",
      "sequenceNumber": 1,
      "entityName": "Employee__c",
      "changeType": "UNDELETE",
      "changedFields": [],
      "changeOrigin": "com/salesforce/api/soap/47.0;client=devconsole",
      "transactionKey": "00051d9a-2fd0-e4de-a8e6-09f68b7ca54c",
      "commitTimestamp": 1569444212000,
      "recordIds": [
        "a00RM0000004ICTYA2"
      ]
    },
    "CreatedDate": "2019-09-25T20:36:12.000Z",
    "First_Name__c": "Trish",
    "LastModifiedById": "005RM000001vI4mYAE",
    "Tenure__c": 3.0,
    "Name": "e-100",
    "Last_Name__c": "Smith"
  },
  "event": {
    "replayId": 15056
  }
}

Ressources

Formez-vous gratuitement !
Créez un compte pour continuer.
Qu’est-ce que vous y gagnez ?
  • Obtenez des recommandations personnalisées pour vos objectifs de carrière
  • Mettez en pratique vos compétences grâce à des défis pratiques et à des questionnaires
  • Suivez et partagez vos progrès avec des employeurs
  • Découvrez des opportunités de mentorat et de carrière