Skip to main content

Utilisation des API REST Salesforce avec Heroku

Objectifs de formation

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

  • Énumérer les cas d’utilisation des API REST Salesforce
  • Décrire différents types d’authentification
  • Expliquer comment utiliser les API REST Salesforce avec des applications sur Heroku

API REST Salesforce et Heroku

Les API REST Salesforce facilitent l'intégration à Salesforce à l'aide de simples requêtes HTTP + JSON. Il existe des API REST pour accéder à la plupart des éléments dans Salesforce. Par conséquent, votre application personnalisée peut exécuter n'importe quelle opération avec les données, les processus et les métadonnées dans Salesforce. Les API REST utilisent OAuth pour l'authentification, qui correspond à la méthode standard de gestion de l'authentification REST.

Image montrant une connexion entre des objets internes à Salesforce et Heroku grâce à une interface REST

Les API REST peuvent être utilisées directement. Il existe toutefois plusieurs bibliothèques wrapper pour les API qui facilitent leur utilisation en Node.js, Python, Ruby, Java, etc. Les bibliothèques wrapper gèrent les tâches de bas niveau, telles que l'authentification, et la gestion des requêtes et des réponses. Au lieu de construire manuellement des requêtes HTTP telles que (avec Node.js par exemple) :

const query = 'SELECT name Account'; const url = 'https://MyDomainName.my.salesforce.com/services/data/v59.0/query/?q=' + encodeURIComponent(query); request.get(url, { 'auth':{ 'bearer':'bearerToken' } });

Vous pouvez utiliser une bibliothèque JSForce de source ouverte pour Node.js et simplement :

conn.query('SELECT name FROM Account', callback);

En définitive, la bibliothèque jsforce exécute les mêmes opérations en arrière-plan, mais en facilitant l’utilisation des API.

Vous pouvez élaborer des intégrations application-à-application et des interfaces utilisateur personnalisées sur les API REST Salesforce. La principale différence est la gestion de l'authentification. Avec une intégration application-à-application, un seul utilisateur de l'intégration est connu de l'application et tous les appels aux API REST sont effectués par cet utilisateur. Avec une interface utilisateur personnalisée, l'utilisateur n'est pas directement authentifié à l'application personnalisée. À la place, l'utilisateur suit le processus OAuth afin d'autoriser l'application personnalisée à passer des appels API en son nom. Chaque requête aux API REST est effectuée au nom de l'utilisateur nommé qui utilise l'interface utilisateur personnalisée.

L’intégration application-à-application permet par exemple de transformer, de regrouper, puis de répliquer ou de traiter par proxy les données pour un autre système. Par exemple, une application de gestion des commandes destinée aux clients, exécutée sur Heroku, doit récupérer des informations dans Salesforce. Cette configuration peut utiliser un utilisateur de l'intégration unique pour extraire de Salesforce toutes les informations utiles.

Toutefois, si l'application de gestion des commandes est destinée au back-office auquel les utilisateurs se connectent via Salesforce, l'application est une interface utilisateur personnalisée qui utilise OAuth pour autoriser l'application de gestion des commandes à transmettre des requêtes API au nom de l'utilisateur nommé. Dans ce cas, pour la sécurité et l'audit, il est important de connaître l'utilisateur nommé qui transmet chaque appel REST.

Heroku facilite le déploiement de l'un ou l'autre type d'application, et l'utilisation de OAuth et des API REST Salesforce.

Pour plus d’informations sur les API, consultez la documentation de l’API REST Salesforce.

Authentification API REST avec OAuth

L'authentification est un aspect essentiel de l'utilisation des API REST, car chaque requête aux API doit inclure un jeton ou une clé d'authentification. Que vous utilisiez une intégration application-à-application ou une interface utilisateur personnalisée, votre application a besoin dans Salesforce d’une application connectée pour autoriser Salesforce à identifier l’application qui transmet les requêtes et à permettre aux administrateurs des organisations de gérer l’accès aux API.

Utilisateur unique

Avec une intégration application-à-application, l'application doit connaître les identifiants d'un seul utilisateur de l'intégration. Ensuite une API REST peut être appelée pour se connecter avec les identifiants, ce qui renvoie le jeton d'authentification.

Utilisateurs nommés

Lors de l'élaboration d'une interface utilisateur personnalisée, l'application ne reçoit jamais les identifiants réels. À la place, le processus OAuth fournit à l'application un code pour obtenir un jeton d'autorisation. Puisque l'utilisateur autorise manuellement l'accès de l'application à Salesforce, le flux suit les étapes ci-dessous.

  • Un utilisateur tente de visiter une page qui nécessite une authentification.
  • L'application sur Heroku redirige l'utilisateur vers la page Salesforce OAuth.
  • Si l'application n'a pas été autorisée précédemment, l'utilisateur est invité l'autoriser.

Capture d’écran de la boîte de dialogue d’autorisation de l’accès qui s’affichera pour demander si Postman est bien autorisé

  • Une fois autorisée, Salesforce redirige l'utilisateur vers l'application avec un code.
  • L'application utilise le code pour récupérer un jeton d'accès et un jeton d'actualisation.
  • L'application utilise le jeton d'accès pour transmettre des appels d'API REST à Salesforce.

Généralement, les jetons d'accès et d'authentification sont cryptés et stockés sous un format d'état de session ou dans une base de données afin d'éviter à l'utilisateur le passer par le flux d'autorisation à chaque requête.

Notez que ces jetons sont confidentiels et qu'ils doivent être gérés avec la plus grande précaution !

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