Suivez votre progression
Accueil Trailhead
Accueil Trailhead

Premiers pas avec l'API de l'interface utilisateur

Objectifs de formation

Une fois cette unité terminée, vous pourrez :
  • Expliquer où se trouve l’API de l’interface utilisateur sur la plate-forme Salesforce.
  • Expliquer quand utiliser l’API de l’interface utilisateur.
  • Expliquer quand ne pas utiliser l’API de l’interface utilisateur.

Accès à la plate-forme Salesforce à votre niveau

La puissance de Salesforce réside dans le fait que vous pouvez la personnaliser pour qu'elle travaille pour vous et vos clients. Lorsque nous avons décidé de reconstruire notre IU, nous ne nous sommes pas contentés de la redessiner ; nous avons conçu une plate-forme puissante qui vous offre encore plus d’accès pour personnaliser Salesforce. Tel est Lightning.

Lightning représente l’expérience, la plate-forme et l’infrastructure de l’IU (framework Lightning Component) de l’utilisateur de Salesforce (Lightning Experience). Lightning vous permet de personnaliser Salesforce à un niveau adapté à vos compétences et à vos exigences en vous offrant un accès à différentes couches de la plate-forme Salesforce. Dans ce module, nous allons apprendre comment accéder à la plate-forme en utilisant l’API de l’interface utilisateur qu’utilise Lightning Experience pour obtenir des données des métadonnées de Salesforce.

Mais d'abord, un peu de contexte. Pour développer Lightning Experience, nous avions besoin d'une nouvelle API. Notre API existante ne fournissait pas un accès à tout ce dont nous avions besoin et elle était conçue pour l'intégration des données et non pour le développement d'interfaces utilisateur. Ainsi, par une belle journée chaude et sans nuage, l'API de l’interface utilisateur a vu le jour.

Nous avons travaillé étroitement avec nos développeurs Salesforce internes pour rechercher les tâches difficiles et longues, et nous avons résolu ces problèmes. Nous avons rendu public la nouvelle API REST, ce qui signifie que vous pouvez développer des applications Web et mobiles en utilisant la même API que Salesforce utilise pour développer Lightning Experience et les applications Salesforce pour Android et iOS.

Navigation dans la pile technologique de Lightning

De nombreuses manières sont à votre disposition pour accéder à Lightning et développer des applications Salesforce qui facilitent votre vie et celle de vos clients. Jetons un coup d'œil aux couches de la pile technologique de Lightning afin de comprendre où réside l'API de l’interface utilisateur et quand l'utiliser.Couches de la plate-forme Salesforce. L'API d'IU se trouve dans Lightning Data Service, qui se trouve lui-même dans Composants Lightning.

Lorsque vous remontez la pile, la plate-forme Lightning en fait davantage pour vous et le développement s’en trouve facilité. Tout en haut de la pile, vous n'écrivez pas de code : vous pointez et cliquez. En bas de la pile, vous écrivez beaucoup de code.

  • Faites glisser des composants pré-intégrés Lightning dans le Générateur d'applications Lightning.
  • Développez des composants Lightning personnalisés.
  • Utilisez Lightning Data Service pour accéder aux données Salesforce dans des composants Lightning.
  • Utilisez l'API de l’interface utilisateur pour développer des applications Web et mobile qui se connectent à Salesforce depuis l'extérieur de la plate-forme Salesforce.

Jetons un coup d'œil à la partie supérieure de la pile, dans la solution « sans code ». Les composants de base de Lightning, comme bouton, entrée et icône, sont les blocs de construction de l'IU. Dans le Générateur d'applications Lightning, sans utiliser le moindre code, vous pouvez combiner des composants pour créer des applications qui résident dans Salesforce. Vous pouvez également développer des applications autonomes qui sont hébergées sur la plate-forme Salesforce.

En descendant la pile, vous pouvez développer vos propres composants Lightning. Sans beaucoup de code, vous pouvez utiliser Lightning Data Service pour créer, lire, mettre à jour et supprimer des enregistrements. Lightning Data Service utilise l'API de l’interface utilisateur (qui se trouve juste en dessous dans la pile) pour obtenir les données de Salesforce. LDS ajoute la magie du cache, ce qui permet de réduire les trajets entre le serveur et les mises à jour de tous les enregistrements qui utilisent les mêmes données.

Le fondement de la pile Lightning est l'API de l’interface utilisateur, qui vous offre des charges de travail de données et de métadonnées Salesforce qui sont structurées pour le développement d'IU. Utilisez votre langage ou framework Web préféré pour développer toutes les applications Web ou applications mobiles natives vous puissiez imaginer. React, Vue, Angular, iOS, Android... si vous pouvez faire une requête HTTP, vous pouvez utiliser l'API de l’interface utilisateur.

L'API d’interface utilisateur permet de développer facilement une IU

Salesforce possède de nombreuses API et il peut être difficile de savoir laquelle représente le meilleur outil pour une tâche. Si vous développez une application Web ou mobile personnalisée et que vous avez besoin d'une interface utilisateur qui permet aux utilisateurs d'afficher, de créer, de modifier et de supprimer des enregistrements Salesforce (une interface utilisateur qui ressemble à Salesforce et se comporte comme elle) l'API d'IU est incontournable.

Si vous développez une interface utilisateur pour permettre aux utilisateurs de modifier des listes de sélection et des références dépendantes, l'API d’interface utilisateur est absolument incontournable. L'API d’interface utilisateur possède une ressource qui facilite grandement tout cela.L'éditeur de listes de sélection dépendantes affiche des menus pour le pays, la langue, l'état et la ville.

Comme nous l'avons mentionné, Salesforce utilise l'API d’interface utilisateur pour créer Lightning Experience. L'API d'IU est développée par une équipe interne d'ingénieurs de Salesforce pour faciliter la vie d'une autre équipe interne d'ingénieurs de Salesforce qui a développé Lightning Experience. Et nous sommes très heureux de voir tout ce que vous en faites.

Soyons francs, l'interface utilisateur de Salesforce est complexe. L'IU appropriée à un utilisateur particulier dépend de plusieurs règles, autorisations et configurations de présentation de pages. Un administrateur peut modifier toutes ces dépendances afin de mieux les adapter aux besoins de l'entreprise. Par exemple, un administrateur peut ajouter ou supprimer des champs des présentations de pages, marquer des champs comme obligatoires et affecter des présentations de pages à des profils.

Jusqu’ici, il était difficile de développer une IU dynamique pour travailler avec des enregistrements dans des applications personnalisées, parce qu’il fallait écrire du code mettre à jour l'IU chaque fois qu'un administrateur modifiait des métadonnées dans l'organisation.

C'est l'une des raisons pour lesquelles nous avons conçu l'API d'IU et pourquoi nous ajoutons de nouvelles fonctionnalités à chaque version. L'API d'IU facilite le développement d'une interface utilisateur personnalisée en fonction des règles et des autorisations figurant à l'intérieur d'une organisation Salesforce car l'IU répond aux modifications des métadonnées au moment de l'exécution. Répétons-le une dernière fois : vous n'avez pas à modifier votre application lorsqu'un administrateur modifie des autorisations, des présentations, la sécurité au niveau des champs ou des règles de partage. En fait, vous n'avez pas à écrire de code qui vérifie ces éléments : l'API d'IU le fait pour vous.

Avant l'API d'IU, vous deviez faire beaucoup d'appels pour obtenir les informations dont vous aviez besoin pour les présentations (emplacement des champs sur la page), les métadonnées (quels champs possèdent un objet et sont-ils obligatoires) et les données d'enregistrement (quelles sont les valeurs du champ). L'API d'IU effectue ces appels pour vous et vous fournit une réponse facile à analyser : elle fait le travail d'un moteur de rendu de présentation, et vous évite d'avoir à en créer un. Votre chaise longue (ou snowboard ou jardin) vous attend.

Et l'API d'IU possède les mêmes limites d'API que l'API Enterprise, ce qui vous épargne d'avoir à prendre une nouvelle manière de suivre les limites de l'API.

Des charges de travail efficaces
Vous avez besoin de beaucoup d'informations pour créer des formulaires qui permettent aux utilisateurs de travailler avec les enregistrements. Quels champs possède l'objet ? Sont-ils obligatoires ? Où doivent-ils être placés sur la présentation ? Quelles sont les valeurs de tous les champs ? Les charges de travail de l'API d'IU agrègent les données et les métadonnées pour vous éviter d'avoir à faire de nombreuses requêtes d'API.
Des valeurs d'affichage formatées et localisées
À propos des valeurs des champs, l'API d'IU vous fournit des valeurs qui sont prêtes à s'afficher dans le langage de l'utilisateur que vous avez choisi. S'il s'agit d'une date ou d'une devise, elle est parfaitement formatée. Peu importe le type de donnée du champ, votre code utilise la propriété displayValue.
Sécurité au niveau du champ et règles de partage
L'API d'IU les respecte. Si un utilisateur n'a pas accès à un champ, celui-ci n'est pas inclus dans la réponse. Terminé. Profitez de votre temps libre.
Logique métier
Chaque développeur est confronté aux mêmes problèmes. Par exemple, pour développer une interface utilisateur qui permet aux utilisateurs de cloner un enregistrement, vous avez besoin d'informations différentes de celles lorsque vous développez une interface utilisateur qui permet aux utilisateurs de créer un enregistrement. Un formulaire de clonage comprend des valeurs de données provenant de l'enregistrement cloné, alors que la plupart des valeurs des données dans un formulaire de créations sont null (Owner et OwnerId sont non-null). L’API d’IU possède des ressources qui renvoient les informations nécessaires pour développer des interfaces utilisateur destinées à ces cas d’utilisation, et il s’agit des mêmes ressources que celles que nous utilisons pour développer Lightning Experience et Salesforce pour Android et iOS. Vous obtenez les mêmes valeurs par défaut que celle que vous verriez dans Salesforce — pas mal, non ?
Type de présentations et facteurs de forme
Souhaitez-vous que votre application fonctionne sur tous les appareils, tablettes et ordinateurs de bureau ? Bien sûr que oui. Les réponses de l’API d’IU peuvent fournir des types de présentations complets et compacts et des facteurs de forme petits, moyens et grands.
Modes d'accès
Pour développer une application qui permet aux utilisateurs de travailler avec des enregistrements Salesforce, vous devez développer des interfaces utilisateurs différentes pour les différents types de travaux. Est-ce que l'utilisateur affiche, créer, clone ou modifie un enregistrement ? Vous pouvez demander une charge de travail pour chacun de ces modes d'accès. (Cependant le clonage utilise le mode modifier de sorte qu'il n'existe que trois modes : créer, modifier et afficher.)

Quand ne pas utiliser l’API de l’interface utilisateur ?

N'utilisez pas l'API de l’interface utilisateur pour l'intégration système. Ou pour créer une intégration automatisée permettant de transférer ou d'extraire des données. Ou pour transférer ou extraire des données en masse. Utilisez l'API Enterprise ou l'API de transfert en masse pour ces tâches.

Si vous développez des composants Lightning, n'utilisez pas directement l'API d'IU, utilisez Lightning Data Service (LDS).

LDS est conçu sur l'API d’interface utilisateur, mais il met également en cache les réponses et met à jour tous les enregistrements qui sont affectés par les modifications de données. Lorsque vous travaillez avec LDS, vous n'avez pas à vous inquiéter de faire des appels REST et de la mise en cache des résultats, car LDS le fait pour vous. Et lorsque les données changent, LDS met à jour tous les composants correspondants. Non seulement LDS élimine les données incohérentes entre les composants, mais il permet également aux utilisateurs de travailler hors ligne et de synchroniser les données lorsqu'ils reviennent en ligne. LDS est génial.

Et enfin, n'utilisez pas l'API de l’interface utilisateur pour reconstruire la totalité de l'IU de Salesforce. Pourquoi voudriez-vous faire cela ?

Découverte des ressources de l'API de l’interface utilisateur

Les ressources de l'API d'IU appartiennent à plusieurs catégories Ce module Trailhead étudie en profondeur les ressources des enregistrements et des présentations, mais examinons rapidement quelques-unes des autres catégories afin que vous sachiez ce qu'il est possible de faire. Pour découvrir une liste complète des ressources, consultez le Guide du développeur de l'interface utilisateur.

Conseil

Conseil

Dans ce module, les termes ressources et point de terminaison sont utilisés de manière interchangeable.

Enregistrements et présentations

Utilisez ces ressources pour créer, lire, mettre à jour et supprimer des enregistrements Salesforce.

Par essence, les ressources de l'API de L'IU prennent un ou plusieurs ID d'enregistrement et renvoi des données, des métadonnées et des informations de présentation. Oui, votre application effectue une requête HTTP et obtient tout ce dont vous avez besoin pour afficher un enregistrement. Nous reviendrons sur ces ressources dans l'unité suivante.

/ui-api/record-ui/{recordIds}
L'API d'IU possède également des ressources pour obtenir ces mêmes réponses de présentation, de métadonnées d'objet et de données de manière individuelle.
/ui-api/layout/{objectApiName}
/ui-api/object-info/{objectApiName}
/ui-api/records/{recordId}
Dans une unité ultérieure, nous examinerons les ressources qui permettent d'obtenir les valeurs de champ par défaut dont vous avez besoin pour créer une IU qui permettra de cloner ou de créer un enregistrement.
/ui-api/record-defaults/create/{objectApiName}
/ui-api/record-defaults/clone/{recordId}
Nous allons également apprendre comment utiliser ces ressources pour obtenir les valeurs de tous les champs de la liste de sélection d'un type d'enregistrement particulier.
/ui-api/object-info/{objectApiName}/picklist-values/{recordTypeId}

Vues de liste

Les utilisateurs Salesforce passent beaucoup de temps à personnaliser leurs vues de liste afin de pouvoir afficher et analyser les enregistrements. Utilisez cette API d'IU pour obtenir une liste des enregistrements et des métadonnées des vues de liste. Tout comme la ressource /ui-api/record-ui/{recordId}, ces ressources renvoient des données et des métadonnées dans une réponse unique.
/ui-api/list-ui/${listViewId}
/ui-api/list-ui/${objectApiName}/${listViewApiName}
Vous pouvez également obtenir les données les métadonnées dans leurs propres ressources.
/ui-api/list-info/${listViewId}
/ui-api/list-info/${objectApiName}/${listViewApiName}
/ui-api/list-records/${listViewId}
/ui-api/list-records/${objectApiName}/${listViewApiName}

Actions

Les actions offrent aux utilisateurs une manière rapide et simple d'effectuer des tâches dans Salesforce. Utilisez les actions pour créer un objet, envoyer un e-mail ou enregistrer un appel dans un journal, etc. Les actions s'affichent dans la barre d'action de l'application mobile et dans le ruban des actions dans Lightning Experience. Avant l'API d'IU, les applications devaient utiliser SOQL pour rechercher les actions disponibles. Désormais, vous pouvez extraire des listes d'actions qui sont disponibles pour l'utilisateur dans l'application Salesforce, dans l'en-tête Actions globales, dans les pages de détails et de modification des enregistrements, dans les listes connexes, et plus encore.
/ui-api/actions/global
/ui-api/actions/record/${recordIds}
/ui-api/actions/record/${recordId}/record-edit
/ui-api/actions/record/${recordId}/related-list/${relatedListIds}
// There are more actions resources! Check the User Interface API Developer Guide! 

Actuellement, vous pouvez utiliser les points de terminaison des actions pour extraire des listes d'action, mais vous ne pouvez pas exécuter des actions. C’est pratique pour obtenir une liste des actions si vous souhaitez utiliser les actions rapides, si vous avez des remplacements Visualforce ou si vous souhaitez déterminer un CRUD en fonction des actions visibles. Par exemple, si Nouvelle action existe, alors un utilisateur est en mesure de créer un enregistrement, et la même chose est vraie pour Modifier et Supprimer.

Favoris

Lightning Experience possède une étoile dans l'en-tête qui contient vos enregistrements et vos vues de liste favoris. Les utilisateurs peuvent ajouter des favoris pour naviguer rapidement dans Salesforce. L'API d'IU possède des ressources pour créer, afficher, mettre à jour et supprimer des favoris, ce qui vous permet de créer cette même navigation parmi les favoris dans vos applications personnalisées.
/ui-api/favorites
/ui-api/favorites/${favoriteId}
/ui-api/favorites/batch
/ui-api/favorites/${favoriteId}/usage

Les références

Les objets Salesforce comprennent souvent des champs de référence qui vous permettent d'associer deux enregistrements dans une relation. Par exemple, un enregistrement de contact comprend un champ de référence Compte qui associe le contact à son compte. Sur les pages de modification des enregistrements, les champs de référence vous permettent de rechercher l'enregistrement que vous souhaitez associer à l'enregistrement que vous êtes en train de modifier. IU de lookup pour un nom de compte. La liste déroulante contient des suggestions.

Le développement de l'interface utilisateur pour les références et les références dépendantes est un travail ardu que l'API d’interface utilisateur facilite considérablement. Utilisez ces ressources pour créer une interface utilisateur permettant aux utilisateurs d'effectuer une recherche en saisie prédictive complète correspondant à ce que vous pouvez voir dans Lightning Experience.
/ui-api/lookups/{objectApiName}/{fieldApiName}
/ui-api/lookups/{objectApiName}/{fieldApiName}/{targetApiName}