Découverte des API de la plate-forme Salesforce
Objectifs de formation
Une fois cette unité terminée, vous pourrez :
- Décrire les avantages d’une approche de développement donnant la priorité à l'API
- Présenter des cas d’utilisation de l’API de transfert en masse et des API REST, SOAP et Pub/Sub
- Citer deux types de limitation d’API et décrire leur calcul
Priorité aux API chez Salesforce
Vous êtes à la recherche de l’API Salesforce idéale pour votre intégration ? Dans ce cas, préparez-vous pour une exploration de Salesforce Platform et de ce que les API ont à vous offrir.
L’étendue des API Salesforce est aussi vaste que l’océan. L’approche Salesforce donne la priorité aux API pour élaborer des fonctionnalités dans la plate-forme Salesforce. L’expression Priorité aux API fait référence à la création d’une API robuste pour une fonctionnalité avant de concevoir son interface utilisateur. En tant que développeur Salesforce, cette approche vous offre suffisamment de souplesse pour manipuler vos données comme vous l’entendez.
Salesforce est consciente que ses clients et ses partenaires recherchent en permanence à étendre les fonctionnalités Salesforce et à élaborer des applications pour AppExchange. Offrir des outils complets pour développer sur la plate-forme est l’une de nos priorités. Cette approche permet également à Salesforce de développer des interfaces utilisateur qui reposent sur des API, ce qui garantit un comportement cohérent entre les interfaces.
Dans ce module, nous allons parcourir des informations générales relatives aux API, effectuer une enquête sur la série d’API Salesforce et explorer l’utilisation d’API courantes. Ces informations vous aideront à choisir l’API idéale pour votre projet.
API de données Salesforce
La vaste étendue bleue des API Salesforce comprend un archipel d’API fréquemment utilisées que nous allons examiner dans ce module. Elles ont pour nom API REST, API SOAP, API de transfert en masse et API Pub/Sub. Ensemble, elles forment les API de données Salesforce. Leur fonction est de vous permettre de manipuler vos données Salesforce ou de vous abonner à des modifications de données, alors que les autres API permettent de personnaliser des présentations de page ou d’élaborer des outils de développement personnalisés. Vous pouvez également utiliser d’autres API Salesforce pour manipuler des sous-ensembles de vos données Salesforce. Par exemple, l’API REST Analytics se rapporte à Analytics. Mais nos quatre API ci-dessus s’appliquent à l’ensemble des données Salesforce.
API REST
L’API REST est un service Web simple et puissant basé sur les principes de REST. Il expose toutes sortes de fonctionnalités Salesforce via des ressources REST et des méthodes HTTP. Vous pouvez par exemple créer, lire, mettre à jour et supprimer (CRUD) des enregistrements, rechercher et interroger vos données, récupérer des métadonnées d’objet, et accéder à des informations relatives aux limitations de votre organisation. L’API REST prend en charge XML et JSON.
Dotée d’une structure de requête et de réponse légère et facile à utiliser, l’API REST est idéale pour écrire des applications mobiles et Web.
API SOAP
L’API SOAP est un service Web robuste et puissant basé sur le protocole standard du secteur qui porte le même nom. Il utilise un fichier WSDL (Web Services Description Language) afin de définir rigoureusement les paramètres d’accès aux données via l’API. L’API SOAP prend uniquement en charge XML. La plupart des fonctionnalités de l’API SOAP sont également disponibles via l’API REST. Cela dépend seulement de la norme qui répond le mieux à vos besoins.
L’API SOAP utilise le fichier WSDL comme s’il s’agissait d’un contrat formel entre l’API et le client. Par conséquent, elle convient parfaitement à l’écriture d’intégrations serveur à serveur.
API de transfert en masse
L’API de transfert en masse est une API RESTful permettant de charger et d’interroger un grand nombre de données à la fois, c’est-à-dire 50 000 enregistrements ou plus. L’API de transfert en masse est asynchrone, ce qui signifie que vous pouvez soumettre une requête et revenir plus tard pour examiner les résultats. Cette approche est idéale pour gérer des volumes de données importants. Il existe deux versions de l’API de transfert en masse : 1.0 et 2.0. Ces deux versions traitent de grandes quantités de données, mais nous utilisons la version 2.0 dans ce module parce que son maniement est un peu plus aisé.
L’API de transfert en masse est idéale pour exécuter des tâches sur un grand nombre d’enregistrements, par exemple lors du chargement initial de données dans votre organisation.
API Pub/Sub
Utilisez l’API Pub/Sub pour intégrer des systèmes externes avec des événements en temps réel. Vous pouvez vous abonner à des événements en temps réel qui déclenchent l’apport de modifications à vos données ou vous abonnent à des événements personnalisés. Les API utilisent un modèle publier/inscrire (ou pub/sub) qui permet aux utilisateurs de s’abonner à des canaux diffusant des modifications de données ou des notifications personnalisées.
Le modèle publier/inscrire (ou pub/sub) réduit le nombre de requêtes d’API en éliminant la nécessité de faire des requêtes d’API fréquentes pour obtenir des données. L’API Pub/Sub API est idéale pour écrire des applications sans avoir à vérifier fréquemment l’ajout de modifications.
Accès aux API et authentification
Pour accéder aux API Salesforce, vous n’avez pas besoin d’une carte au trésor. Il suffit d’un Tailhead Playground ou d’une organisation dans l’une des éditions suivantes : Enterprise Edition, Unlimited Edition, Developer Edition, Performance Edition ou Professional Edition (avec un complément). Assurez-vous que vous disposez de l’autorisation « API activée » et que vous êtes prêt(e) à démarrer l’intégration.
Tous les appels d’API, à l’exception de l’appel API SOAP login(), nécessitent une authentification. Vous pouvez soit utiliser l’un des flux OAuth pris en charge, soit vous authentifier avec un ID de session récupéré lors de l’appel API SOAP login(). Pour choisir l’API appropriée, reportez-vous au guide du développeur.
Limitations des API
Salesforce limite le nombre d’appels d’API par organisation pour garantir l’intégrité de l’instance. Ces limites existent pour empêcher tout code malveillant de monopoliser les ressources partagées dans l’environnement mutualisé. Elles ne gênent pas votre travail quotidien, mais il est préférable de les connaître.
Il existe trois types de limitations d’API : les limitations d’expiration, les limitations de requêtes simultanées et les allocations totales de requêtes. Les limitations d’expiration restreignent la durée pendant laquelle un appel donné est autorisé à s’exécuter. Les limitations de requêtes simultanées déterminent le nombre maximal d’appels longs qui peuvent être exécutés en même temps. Les limitations en utilisation simultanée varient selon le type d’organisation. Par exemple, les organisations d’évaluation et les organisations de production n’ont pas les mêmes limitations concernant les requêtes simultanées. Des limitations totales déterminent le nombre d’appels qui peuvent être effectués par période de 24 heures. Les limitations totales varient selon l’édition de l’organisation et le type de licence, ainsi qu’en fonction des licences complémentaires dont vous faites l’acquisition. Ces limitations totales sont également soumises à des valeurs minimales et maximales basées sur l’édition de l’organisation, que nous n’allons pas explorer ici. Pour en savoir plus, suivez le lien Limites des développeurs Salesforce et référence rapide pour les allocations figurant dans la section Ressources.
Vous pouvez vérifier le nombre d’appels d’API restants de plusieurs façons :
- La zone Utilisation de l’API dans la page de présentation du système. (Dans Configuration, saisissez
Présentation du système
dans la zone Recherche rapide, puis sélectionnez Présentation du système.) - Informations renvoyées dans l’en-tête de réponse Sforce-Limit-Info pour les API REST.
- Informations renvoyées dans le corps de la réponse (dans <type>API REQUESTS</type>) pour les API SOAP.
- L’appel /limits dans l’API REST.
- L’autorisation basée sur l’utilisation de la limitation mensuelle en requêtes API, qui vous montre les appels d’API de votre organisation agrégés sur 30 jours.
Vous pouvez également configurer des notifications qui se déclenchent lorsque votre organisation dépasse le nombre d’appels d’API que vous avez défini. Pour cela, dans Configuration, saisissez Notifications d’utilisation d’API
dans la zone Recherche rapide, puis sélectionnez Notifications d’utilisation d’API.
Quelle API utiliser ?
Le choix de l’API idéale pour votre intégration est une décision importante. Voici quelques informations sur nos API les plus fréquemment utilisées, avec les formats de données pris en charge, les paradigmes de communication et des cas d’utilisation. Considérez cette section comme une référence à consulter pour sélectionner l’API à utiliser.
Notez les quatre API de données que nous avons déjà présentées. Nous allons explorer chacune d’elles.
Nom de l’API | Type | Format de données | La communication |
---|---|---|---|
API REST |
REST |
JSON, XML |
Synchrone |
API SOAP |
SOAP (WSDL) |
XML |
Synchrone |
API REST Connect |
REST |
JSON, XML |
Synchrone (les photos sont traitées de façon asynchrone) |
API de l’interface utilisateur |
REST |
JSON |
Synchrone |
REST API Analytics |
REST |
JSON, XML |
Synchrone |
API de transfert en masse |
REST |
CSV, JSON, XML |
Asynchrone |
API de métadonnées |
SOAP (WSDL) |
XML |
Asynchrone |
API Pub/Sub |
gRPC et tampons de protocole |
Binaire |
Asynchrone (flux de données) |
API REST Apex |
REST |
JSON, XML, personnalisé |
Synchrone |
API SOAP Apex |
SOAP (WSDL) |
XML |
Synchrone |
API Tooling |
REST ou SOAP (WSDL) |
JSON, XML, personnalisé |
Synchrone |
API GraphQL |
GraphQL |
JSON |
Synchrone |
Utilisation de l’API REST
L’API REST fournit une interface de services Web basée sur REST puissante, pratique et simple pour interagir avec Salesforce. Ces avantages comprennent la facilité d’intégration et de développement, et un excellent choix de technologies à utiliser pour des applications mobiles et des projets Web. Pour certains projets, vous préférerez peut-être utiliser l’API REST avec d’autres API REST Salesforce. Pour construire une interface utilisateur permettant de créer, de lire, de mettre à jour et de supprimer des enregistrements, notamment pour des vues de liste, des actions et des listes de sélection dépendantes, utilisez l’API de l’interface utilisateur. Pour travailler avec B2B Commerce, le contenu géré par CMS, les sites Experience Cloud et Chatter, utilisez l’API REST Connect. Si vous avez un grand nombre d’enregistrements à traiter, favorisez l’API de transfert en masse, qui est basée sur les principes de REST et optimisée pour les volumes de données importants.
Utilisation de l’API SOAP
L’API SOAP fournit une interface de services Web basée sur SOAP puissante, pratique et simple pour interagir avec Salesforce. Vous pouvez utiliser l’API SOAP pour créer, récupérer, mettre à jour ou supprimer des enregistrements. L’API SOAP permet également d’effectuer des recherches et davantage. Utilisez l’API SOAP dans n’importe quel langage qui prend en charge le service Web.
L’API SOAP permet par exemple d’intégrer Salesforce aux systèmes financiers et ERP de votre organisation. Vous pouvez également fournir en temps réel des informations de support et commerciales aux portails de sociétés et renseigner les systèmes métiers critiques avec des informations sur les clients.
Quand utiliser l’API REST Connect
L’API REST Connect fournit un accès programmatique à B2B Commerce, au contenu géré par CMS, aux fichiers, notifications, rubriques et sites Experience Cloud, etc. Utilisez l’API REST Connect afin de créer une interface utilisateur pour Chatter, avec des flux, des utilisateurs et des groupes, en particulier dans les applications mobiles.
Quand utiliser l’API de l’interface utilisateur
Créez une interface utilisateur Salesforce pour des applications mobiles natives et des applications Web personnalisées avec l’API que Salesforce utilise pour créer sur le Web et Salesforce pour Android, iOS et le Web mobile. Créez des interfaces utilisateur permettant de travailler avec des enregistrements, des vues de liste, des actions, des favoris, etc. Non seulement vous obtenez les données et les métadonnées dans une même réponse, mais celle-ci correspond aux modifications de métadonnées apportées à l’organisation par des administrateurs Salesforce. Inutile de vous préoccuper des présentations, des listes de sélection, de la sécurité au niveau des champs ou du partage. Il vous suffit de créer une application qui plaira à vos utilisateurs.
Utilisation de l’API REST Analytics
Vous pouvez accéder aux ressources Analytics (telles que les jeux de données, les perspectives et les tableaux de bord) dans un contexte de programmation à l’aide de l’API REST Analytics. Envoyez des requêtes directement à la plateforme Analytics. Accédez à des jeux de données qui ont été importés dans la plateforme Analytics. Créez et récupérez des perspectives. Accédez aux informations XMD. Récupérez une liste de versions de jeux de données. Créez et récupérez des applications Analytics. Créez, mettez à jour et récupérez des tableaux de bord Analytics. Récupérez une liste de dépendances pour une application. Déterminez les fonctionnalités disponibles pour l’utilisateur. Utilisez des clichés instantanés. Manipulez des jeux de données répliqués.
Utilisation de l’API de transfert en masse
L’API de transfert en masse repose sur les principes de REST et elle est optimisée pour le chargement ou la suppression de volumes de données importants. Vous pouvez l’utiliser pour interroger, interroger tout, insérer, mettre à jour, mettre à jour/insérer ou supprimer (query, queryAll, insert, update, upsert ou delete) de façon asynchrone de nombreux enregistrements en soumettant des lots. Salesforce traite les lots en arrière-plan.
Par contre, l'API SOAP est optimisée pour des applications clientes en temps réel qui mettent à jour quelques enregistrements seulement à la fois. Vous pouvez utiliser l’API SOAP pour traiter des volumes d’enregistrements relativement importants, mais lorsque les jeux de données contiennent des centaines de milliers d’enregistrements, l’API SOAP est moins pratique. L’API de transfert en masse est conçue pour simplifier le traitement de milliers ou de millions d’enregistrements.
Pour utiliser l’API de transfert en masse, le plus simple est de l’activer pour traiter les enregistrements dans Data Loader à l’aide de fichiers CSV. L’utilisation de Data Loader vous évite d’écrire votre propre application cliente.
Utilisation de l’API de métadonnées
Utilisez l’API de métadonnées afin de récupérer, déployer, créer, mettre à jour ou supprimer des personnalisations pour votre organisation. L’utilisation la plus courante est la migration de modifications depuis une organisation sandbox ou de test vers un environnement de production. L’API de métadonnées est conçue pour gérer les personnalisations et pour élaborer les outils de gestion du modèle de métadonnées, pas des données elles-mêmes.
Pour accéder aux fonctionnalités de l’API de métadonnées, le plus simple est d’utiliser les extensions Salesforce pour Visual Studio Code ou l’outil de migration Ant. Les deux outils s’appuient sur l’API de métadonnées. Ils utilisent les outils standard afin de simplifier l’utilisation de l’API de métadonnées.
- Les extensions Salesforce pour Visual Studio Code comprennent des outils de développement prévus pour travailler sur la plate-forme Salesforce dans l’éditeur de code VS, léger et extensible. Ces outils fournissent des fonctionnalités permettant de travailler avec des organisations de développement (organisations test, sandbox et organisations DE), Apex, les composants Aura et Visualforce.
- L’Outil de migration Ant est idéal si vous utilisez un script ou la ligne de commande pour déplacer des métadonnées entre un répertoire local et une organisation Salesforce.
Quand utiliser l’API Pub/Sub
Vous pouvez utiliser l’API Pub/Sub pour intégrer des systèmes externes avec des événements en temps réel. Les flux de données sont fondés sur des contenus personnalisés via des événements de plate-forme ou des modifications dans les enregistrements Salesforce par le biais d’une capture de données de modification. Dans Salesforce, vous pouvez publier et vous abonner à des événements avec des déclencheurs Apex, Process Builder et Flow Builder.
L’API Pub/Sub est conçue pour une intégration d’événements bidirectionnelle à grande échelle à Salesforce. Utilisez l’API Pub/Sub pour publier des messages d’événements binaires au format Apache Avro et vous y abonner efficacement. L’API Pub/Sub est fondée sur gRPC et HTTP/2. Elle utilise un modèle qui repose sur l’extraction pour contrôler le flux d’abonnements. Avec l’API Pub/Sub, vous pouvez utiliser l’un des 11 langages de programmation pris en charge par gRPC.
Quand utiliser l’API REST Apex
Utilisez l’API REST Apex pour exposer vos classes et méthodes Apex afin de donner aux applications externes un accès à votre code via l’architecture REST. L’API REST Apex prend en charge OAuth 2.0 et l’ID de session pour l’authentification.
Quand utiliser l’API SOAP Apex
Utilisez l’API SOAP Apex pour exposer vos méthodes Apex en tant qu’API de service Web SOAP et permettre ainsi aux applications externes d’accéder à votre code via SOAP. L’API SOAP Apex prend en charge OAuth 2.0 et l’ID de session pour l’authentification.
Utilisation de l’API Tooling
Utilisez l’API Tooling pour créer des outils ou des applications de développement personnalisés pour les applications de la plate-forme. Par exemple, vous pouvez utiliser l’API Tooling pour ajouter des fonctionnalités à vos outils existants sur la plate-forme et créer des modules dynamiques dans vos outils d’intégration d’entreprise. Vous pouvez également utiliser l’API Tooling pour créer des outils de développement spécialisés pour une application ou un service spécifique.
Les capacités SOQL de l’API Tooling pour de nombreux types de métadonnées vous permettent de récupérer de plus petits éléments de métadonnées. Des éléments plus petits améliorent les performances, ce qui fait de l’API Tooling une solution idéale pour le développement d’applications interactives. L’API Tooling fournit des interfaces SOAP et REST.
Utilisation de l’API GraphQL
Créez des applications hautement réactives et évolutives en renvoyant uniquement les données dont un client a besoin, le tout en une seule requête. L’API GraphQL surmonte les défis posés par les API REST traditionnelles grâce à la sélection de champs, l’agrégation de ressources et l’introspection de schéma. La sélection de champs réduit la taille de la charge utile, renvoyant uniquement les champs inclus dans la requête. Les agrégations réduisent les allers-retours entre le client et le serveur, renvoyant un ensemble de ressources associées dans une seule réponse. L’introspection de schéma permet à un utilisateur de voir les types, les champs et les objets auxquels il a accès.
Ressources
- Modèles et pratiques d’intégration
- REST API Developer Guide
- SOAP API Developer Guide
- Bulk API 2.0 Developer Guide
- Documentation de l’API Pub/Sub
- Metadata API Developer Guide
- Guide du développeur - API Tooling
- Guide du développeur - API GraphQL
- Référence rapide des limites et des allocations des développeurs