Récupérer des enregistrements à l'aide de l'API Rest dans Salesforce

Recuperer Des Enregistrements A L Aide De L Api Rest Dans Salesforce



Dans ce guide, nous expliquerons comment récupérer les enregistrements Salesforce avec l'API REST via Workbench dans Salesforce. Dans le cadre de ce guide, nous expliquerons comment utiliser Workbench, récupérer des enregistrements spécifiques à l'aide de sObject et récupérer plusieurs enregistrements d'un objet à l'aide de la requête et récupérer des enregistrements en écrivant l'API REST personnalisée Apex. Nous utiliserons l'objet Salesforce Standard Case pour la démonstration. Il n'est pas nécessaire de créer un enregistrement de cas dans le backend Salesforce. Nous utilisons l'enregistrement de cas standard existant fourni par Salesforce.

Présentation de Workbench

Workbench n'est pas un produit officiel de Salesforce.com. Mais nous utiliserons Salesforce pour effectuer les opérations de manipulation de données telles que sélectionner, insérer, upsert, mettre à jour et supprimer en vous connectant simplement à votre compte Salesforce (prend en charge à la fois Sandbox et Production). Voici le site Web officiel pour se connecter à Workbench avec Salesforce : https://workbench.developerforce.com/login.php .

À partir de maintenant, conservez la version de l'API comme existante uniquement et cliquez sur le bouton 'Connexion avec Salesforce'.









Nous avons besoin de l'explorateur REST. Accédez à l'onglet 'utilitaires' et cliquez sur 'REST Explorer'.







Vous verrez l'interface utilisateur comme dans l'illustration suivante. Nous devons opter pour GET pour récupérer les enregistrements de Salesforce dans l'ensemble de ce guide. Nous devons spécifier l'URI qui récupère les enregistrements Salesforce et cliquer sur le bouton 'Exécuter'.



Récupérer un enregistrement spécifique avec l'ID Salesforce

Sur la base de l'ID d'enregistrement Salesforce, nous pouvons récupérer l'intégralité de l'enregistrement Salesforce. Nous devons définir l'URI comme suit :

/ prestations de service / données / v56.0 / sobjets / objectAPIName / identifiant

Ici, 'objectAPIName' est l'objet Salesforce Standard/Custom et 'id' fait référence à l'ID Salesforce.

Retour:

Vous obtiendrez la réponse brute HTTP/1.1 200 OK au format JSON comme suit :

{
'les attributs' : {
'taper' :
'URL' :
} ,
'champ' : Valeur,
...
}

Exemple:

Dans cet exemple, nous récupérons l'enregistrement de cas 5005i00000W4GM5AAN.

TAPER: / prestations de service / données / v56.0 / sobjets / Cas / 5005i00000W4GM5AAN

Résultat:

Nous pouvons voir que la réponse est générée au format JSON.

Nous pouvons également voir les résultats directement à partir d'ici:

Récupérer plusieurs enregistrements avec requête

Il est temps de récupérer plusieurs enregistrements de l'objet Salesforce. Auparavant, nous spécifiions les sobjects dans l'URI. Ici, nous devons spécifier une requête qui prend la requête en paramètre.

URI : services / données / v57.0 / mettre en doute / ? q =SELECT+field1,field2,....+from+ObjectAPIName

Nous devons utiliser '+' comme délimiteur pour joindre les mots-clés dans une requête. Il renvoie le totalSize et enregistre dans un dossier. Le nom de dossier pour chaque enregistrement est [Item 1],…[Item n].

Exemple 1:
Renvoyons les enregistrements qui incluent le CaseNumber, le statut, la priorité et la description de l'objet Case.

/ prestations de service / données / v57.0 / mettre en doute / ? q =SELECT+CaseNumber,Status,Priorité,Description+de+Case

Résultat:

Lorsque vous cliquez sur 'Développer tout', vous verrez tous les enregistrements avec ses attributs et ses valeurs.

Permettez-moi de montrer le premier et le dernier enregistrement :

Exemple 2 :
Renvoyons seulement trois enregistrements avec les mêmes champs que ceux du premier exemple.

/ prestations de service / données / v57.0 / mettre en doute / ? q =SELECT+CaseNumber,Statut,Priority,Description+from+Case+limit+ 2

Résultat:
Les deux premiers enregistrements présents dans l'objet Case sont renvoyés.

Exemple 3 :
Précisons la condition WHERE dans la requête qui sélectionne les enregistrements avec le statut 'Nouveau'.

/ prestations de service / données / v57.0 / mettre en doute / ? q =SELECT+CaseNumber,Statut,Priority,Description+from+Case+where+ Statut = 'Nouveau'

Résultat:

Cinq enregistrements existent avec le statut 'Nouveau'.

Ressource de repos personnalisée dans Apex

Nous pouvons utiliser Salesforce Apex qui renvoie l'enregistrement à partir de l'objet Salesforce en spécifiant l'URI dans le Workbench. Pour écrire REST dans Apex, nous devons utiliser certaines annotations qui accèdent à l'API REST dans votre classe Apex. Assurez-vous que notre classe Apex doit être globalement statique.

1. Annotation @RestResource

Cette annotation est utilisée pour activer qui expose une classe Apex en tant que ressource REST. Il prend l'urlMapping comme paramètre utilisé pour localiser l'URI dans le Workbench.

Syntaxe : @RestResource(urlMapping=’/Version/ApexClassName/’)

La 'version' est votre version de Workbench comme V56.0 et 'ApexClassName' est votre classe Apex où les ressources de l'API Rest sont impliquées.

2. @HttpGet Annotation

Cette annotation est utilisée pour activer qui expose une classe Apex en tant que ressource REST. Il est appelé lorsqu'une requête HTTP GET est envoyée au serveur et renvoie la ressource spécifiée.

Syntaxe : @httpGet

Exemple 1 : Paramètre unique

Écrivez la classe Apex 'RestApi_Get_Record.apxc' qui implique la méthode 'Rest Get' pour renvoyer l'ID, le CaseNumber, le statut, la priorité et l'origine du cas à partir de l'objet Case.

@ RestResource ( urlMapping = '/v56.0/RestApi_Get_Record/' )
classe globale RestApi_Get_Record {

// REST - Obtenir la méthode
@ httpObtenir
global static Case getCaseDetails ( ) {

// Créer un objet pour Objet de cas
Cas case_obj = nouveau cas ( ) ;
Carte < Chaîne, Chaîne > paramsMap = RestContext.request.params ;

// Obtenir le cas identifiant
Chaîne caseid =paramsMap.get ( 'id_entrée' ) ;

// Requête SOQL qui retour identifiant , Numéro de dossier, Statut, Priorité, Origine du dossier de
// l'objet Cas
cas_obj = [ sélectionner identifiant ,CaseNumber,Statut,Priorité,Origine du cas où Id =:caseid ] ;
retour cas_obj ;
}
}

URI et résultat :

Accédez à Workbench et accédez à l'explorateur REST. Transmettez l'identifiant sous la forme 5002t00000Pdzr2AAB au paramètre input_id.

/ prestations de service / apexrest / v56.0 / RestApi_Get_Record / ? input_id =5002t00000Pdzr2AAB

Explication:

  • Créez un objet pour le cas 'case_obj'.
  • Obtenez les paramètres à l'aide de RestContext.request.params.
  • Obtenez l'ID de cas à partir du paramètre input_id et stockez-le dans la variable caseid.
  • Écrivez la requête SOQL qui renvoie l'id, CaseNumber, le statut, la priorité, l'origine du cas à partir de l'objet Case du cas « caseid ».
  • Renvoie l'objet de cas (case_obj).

Exemple 2 : plusieurs paramètres

Utilisez la classe Apex précédente et obtenez le paramètre 'Status' avec l'identifiant. Spécifiez ces deux paramètres dans l'URI du Workbench qui est séparé par '&'.

@ RestResource ( urlMapping = '/v56.0/RestApi_Get_Record/' )
classe globale RestApi_Get_Record {

// REST - Obtenir la méthode
@ httpObtenir
global static Case getCaseDetails ( ) {

// Créer un objet pour Objet de cas
Cas case_obj = nouveau cas ( ) ;
Carte < Chaîne, Chaîne > id_param = RestContext.request.params ;
Carte < Chaîne, Chaîne > status_param = RestContext.request.params ;

// Obtenez l'id_param dans le case_id
Chaîne case_id = id_param.get ( 'id_entrée' ) ;
// Obtenez le status_param dans le case_status
Chaîne case_status =status_param.get ( 'statut' ) ;

cas_obj = [ sélectionner identifiant ,CaseNumber,Status,Priority,Origin from Case where Id =:case_id and Status =: case_status ] ;
retour cas_obj ;
}
}

URI et résultat :

Accédez à Workbench et accédez à l'explorateur REST. Transmettez l'input_id comme 5002t00000PdzqwAAB et le statut comme 'Fermé' dans l'URI.

/ prestations de service / apexrest / v56.0 / RestApi_Get_Record / ? input_id =5002t00000PdzqwAAB & statut =Fermé

Conclusion

Nous avons discuté de trois scénarios de récupération des enregistrements Salesforce via l'API REST Salesforce à l'aide de Workbench. Pour retourner un enregistrement spécifique, nous devons spécifier le sObject en passant l'id comme paramètre dans l'URI. De même, nous passons les paramètres de requête pour obtenir des enregistrements spécifiques. En utilisant Apex, nous pouvons créer notre propre méthode 'Get' pour sélectionner l'enregistrement en fonction de paramètres simples/multiples.