Enregistrement d’un service externe
Objectifs d’apprentissage
Dans ce projet, vous apprendrez les compétences suivantes :
- Définir un identifiant nommé pour votre service Web externe
- Ajouter un service Web externe à l’aide d’une spécification d’API fournie
- Expliquer comment les actions de service externe dépendent de la définition de schéma issue de votre spécification d’API
- Trouver vos actions de service externe dans la boîte à outils Flow Builder
- Créer un flux simple avec vos actions de service externe
Prérequis
Avant de commencer ce badge, nous vous recommandons de suivre le contenu ci-après.
- Suivez le module Services externes. Ce module vous présente les services externes.
Création d’un Trailhead Playground
Pour ce projet, vous devez créer un Trailhead Playground. Descendez en bas de cette page, cliquez sur la flèche vers le bas à côté de Launch (Lancer) et sélectionnez Create Playground (Créer un playground). Il faut généralement 3 à 4 minutes pour créer un Trailhead Playground.
Introduction
Dans le module Services externes, vous avez vu comment une API bancaire de type REST peut être utilisée pour définir un schéma. Nous allons reprendre cet exemple pour offrir une expérience plus personnalisée à votre banque fictive. Nous montrerons ensuite comment Salesforce peut être utilisé pour suivre les opérations sur les comptes bancaires.
Le nouveau processus métier de la banque doit permettre aux représentants de la banque d’ajouter des comptes bancaires depuis Salesforce. Il doit s’assurer que les détails du compte bancaire, tels que le type et l’ID du compte bancaire, sont synchronisés entre l’enregistrement utilisateur Salesforce et le service backend de la banque. Plusieurs conseillers seront chargés d’ajouter des comptes. La logique métier doit donc être capable de vérifier si un compte bancaire existe ou d’en créer un.
Pour automatiser ce processus, vous allez enregistrer le service Web de la banque en tant que service externe. Une fois le service enregistré, ses opérations d’API relatives aux comptes (ajouter, mettre à jour, récupérer) seront visibles et accessibles dans Salesforce et pourront être utilisées avec l’outil Flow Builder.
Et voilà, vous avez toutes les informations nécessaires pour commencer. Vous allez créer un flux qui ajoute automatiquement un nouveau compte bancaire ou met à jour les informations d’un compte bancaire existant. Ce flux envoie les nouvelles informations du service bancaire à Salesforce dès qu’un représentant de la banque accède au compte.
Étapes du flux
Avant de commencer, penchons-nous sur les étapes et la logique du flux pour comprendre comment les informations circulent. Comme vous pouvez le noter, cinq « étapes » composent ce flux.
-
Screen (Écran) : Bank Account Record (Enregistrement de compte bancaire). Capture le nom du compte et le type de compte à partir des informations saisies par le représentant de la banque à l’écran.
-
Action (Action) : Add Bank Account (Ajouter un compte bancaire). Après avoir enregistré la spécification d’API du service bancaire auprès de l’assistant Services externes, toutes les opérations d’API définies dans notre spécification peuvent être utilisées dans le flux en tant qu’actions correspondantes. Nous utilisons l’action addAccount, et spécifions les entrées et sorties de l’API que nous attribuons à des variables à utiliser entre l’organisation Salesforce et le service bancaire.
-
Decision (Décision) : Bank Account Updated? (Compte bancaire mis à jour ?). La logique détermine si un compte bancaire existe et s’il doit être mis à jour, ou crée un compte bancaire, si besoin.
-
Assignment (Attribution) : Assign Existing Bank Account ID (Attribuer l’ID du compte bancaire existant). Si un compte bancaire existe déjà, il attribue l’ID du compte existant et utilise cette valeur pour mettre à jour le compte utilisateur Salesforce.
-
Update Records (Mettre à jour les enregistrements) : Update Salesforce User Record (Mettre à jour l’enregistrement utilisateur Salesforce). Si le nom de l’utilisateur Salesforce correspond à un enregistrement de compte bancaire, le flux met à jour l’enregistrement utilisateur Salesforce avec le type de compte et l’ID du compte bancaire. Si aucun nom correspondant n’est trouvé dans le service bancaire et qu’un enregistrement de compte bancaire est créé, le flux met à jour l’enregistrement utilisateur Salesforce (s’il existe un nom correspondant dans Salesforce) avec le nouveau type de compte et le nouvel ID du compte bancaire.
Regardez cette vidéo pour savoir comment se déroule ce projet.
Identifiants nommés et accès au point de terminaison
Dans le module Services externes, vous avez abordé les spécifications d’API et appris ce que constitue une spécification d’API valide et prise en charge pour l’assistant Services externes. En plus d’un schéma valide et pris en charge, vous avez besoin d’un moyen simple de sécuriser votre service Web externe et votre organisation Salesforce. Pour cela, vous pouvez utiliser des identifiants nommés pour authentifier les appels transmis aux points de terminaison du service bancaire.
En règle générale, le fournisseur de services Web externes fournit les éléments nécessaires pour un identifiant nommé. Ces éléments incluent à la fois l’URL d’un point de terminaison d’appel et ses paramètres d’authentification requis. Dans le badge Services externes, vous avez appris que les spécifications d’API contiennent les informations du point de terminaison et les paramètres d’authentification pour les services Web des API de type REST. Vous allez utiliser ces informations afin de définir un identifiant nommé pour votre organisation.
- Dans Setup (Configuration), saisissez
Named Credentials
(Identifiants nommés) dans la zone Quick Find (Recherche rapide), puis sélectionnez Named Credentials (Identifiants nommés).
- Dans le menu déroulant à côté du bouton New (Nouveau), sélectionnez New Legacy (Nouveau hérité).
- Pour Label (Étiquette), saisissez
Bank
(Banque).
- Pour Name (Nom), saisissez
Bank
aussi.
- Sous URL, saisissez
https://th-external-services.herokuapp.com
. - Laissez les autres champs tels qu’ils sont, puis cliquez sur Save (Enregistrer).
En conditions réelles, vous devriez également définir le protocole d’authentification dans Named Credentials (Identifiants nommés) et spécifier la définition de votre fournisseur d’authentification (tous deux configurés dans Setup [Configuration]).
Enregistrement de votre service Web à l’aide de l’assistant Services externes
Maintenant que vous disposez d’une spécification d’API valide, l’ajout du service externe de votre banque à l’assistant Services externes indique à Salesforce comment il interagit.
- Dans Setup (Configuration), saisissez
External Services
(Services externes) dans la zone Quick Find (Recherche rapide), puis sélectionnez External Services (Services externes).
- Cliquez sur Add an External Service (Ajouter un service externe).
- Sur la page Select an API Source (Sélectionner une source d’API), sélectionnez From API Specification (Depuis la spécification d’API).
- Cliquez sur Next (Suivant).
- Pour External Service Name (Nom du service externe), saisissez
BankService
(sans espace).
- Pour Select a Named Credential (Sélectionner un identifiant nommé), sélectionnez Bank (Banque). Il s’agit de l’identifiant nommé que nous avons créé juste avant.
- Pour Service Schema (Schéma du service), sélectionnez Relative URL (URL relative).
- Pour l’URL, saisissez
/accounts/schema
. Cette chaîne est ajoutée à l’identifiant nommé que nous avons créé précédemment. Il s’agit de l’URL relative qui pointe vers la spécification d’API. Ensemble, elles forment l’URL complète de notre fournisseur de services. Par exemple : https://th-external-services.herokuapp.com/accounts/schema.
- Cliquez sur Save & Next (Enregistrer et Suivant).
- Sélectionner toutes les opérations.
- Cliquez sur Next (Suivant). La liste des actions du service externe s’affiche. Ces actions sont désormais disponibles dans Flow Builder. Servez-vous de la barre de défilement pour toutes les consulter. Les opérations contenues dans votre spécification d’API sont devenues des actions invocables dans Salesforce.
- Cliquez sur Finish (Terminer).
Voici un exemple de la page External Service Actions (Actions de service externe).
Vous pouvez également consulter la liste des actions en cliquant sur BankService que vous trouverez sur la page principale de l’assistant Services externes.
Examinons de plus près l’action getAccount et certains de ses paramètres.
- L’action getAccount récupère les informations du compte.
- Le paramètre accountName indique le nom du compte.
- L’action getAccount dispose aussi de plusieurs paramètres de sortie. Les codes, comme le code 200, correspondent à des codes de réponse spécifiques définis dans la spécification d’API. Nous explorerons le sujet plus en détail dans l’unité suivante, mais vous pouvez également afficher ces définitions correctement formatées dans l’éditeur Swagger lorsque vous validez le schéma de la spécification d’API.
Vous allez par la suite créer un flux simple et apprendre à rechercher les actions dans la palette de Flow.
Ressources
- Aide Salesforce : Enregistrement d’un service externe
- Aide Salesforce : Identifiant nommé
- Aide Salesforce : Protocoles d’authentification pour les identifiants nommés