Ανάκτηση εγγραφών χρησιμοποιώντας το Rest API στο Salesforce

Anaktese Engraphon Chresimopoiontas To Rest Api Sto Salesforce



Σε αυτόν τον οδηγό, θα συζητήσουμε πώς να ανακτήσετε τις εγγραφές Salesforce με το REST API μέσω του Workbench στο Salesforce. Ως μέρος αυτού του οδηγού, θα συζητήσουμε πώς να χρησιμοποιήσετε το Workbench, να ανακτήσετε συγκεκριμένες εγγραφές χρησιμοποιώντας το sObject και να ανακτήσετε πολλές εγγραφές από ένα αντικείμενο χρησιμοποιώντας το ερώτημα και να ανακτήσετε εγγραφές γράφοντας το προσαρμοσμένο API REST Apex. Θα χρησιμοποιήσουμε το αντικείμενο Salesforce Standard Case για επίδειξη. Δεν χρειάζεται να δημιουργήσετε καμία εγγραφή υπόθεσης στο backend του Salesforce. Χρησιμοποιούμε την υπάρχουσα τυπική εγγραφή υποθέσεων που παρέχεται από τη Salesforce.

Παρουσιάζοντας τον πάγκο εργασίας

Το Workbench δεν είναι επίσημο προϊόν Salesforce.com. Ωστόσο, θα χρησιμοποιήσουμε το Salesforce για να εκτελέσουμε τις λειτουργίες χειρισμού δεδομένων, όπως επιλογή, εισαγωγή, προσθήκη, ενημέρωση και διαγραφή, απλώς συνδέοντας τον λογαριασμό σας στο Salesforce (υποστηρίζει και το Sandbox και το Production). Αυτός είναι ο επίσημος ιστότοπος για να συνδεθείτε στο Workbench με το Salesforce: https://workbench.developerforce.com/login.php .

Από τώρα, διατηρήστε την έκδοση API ως υπάρχουσα μόνο και κάντε κλικ στο κουμπί «Σύνδεση με Salesforce».









Χρειαζόμαστε τον REST Explorer. Μεταβείτε στην καρτέλα 'Βοηθητικά προγράμματα' και κάντε κλικ στο 'REST Explorer'.







Θα δείτε τη διεπαφή χρήστη όπως στην παρακάτω εικόνα. Πρέπει να επιλέξουμε το GET για τη λήψη των εγγραφών από το Salesforce σε ολόκληρο αυτόν τον οδηγό. Πρέπει να καθορίσουμε το URI που ανακτά τις εγγραφές Salesforce και να κάνουμε κλικ στο κουμπί 'Εκτέλεση'.



Ανάκτηση συγκεκριμένης εγγραφής με αναγνωριστικό Salesforce

Με βάση το αναγνωριστικό εγγραφής Salesforce, μπορούμε να ανακτήσουμε ολόκληρο το αρχείο του Salesforce. Πρέπει να ορίσουμε το URI ως εξής:

/ Υπηρεσίες / δεδομένα / v56.0 / θέματα / αντικείμενοΌνομα αντικειμένου / ταυτότητα

Εδώ, το 'objectAPIName' είναι το Πρότυπο/Προσαρμοσμένο αντικείμενο Salesforce και το 'id' αναφέρεται στο αναγνωριστικό Salesforce.

ΕΠΙΣΤΡΟΦΗ:

Θα λάβετε την ακατέργαστη απόκριση HTTP/1.1 200 OK σε μορφή JSON όπως παρακάτω:

{
'γνωρίσματα' : {
'τύπος' :
'url' :
} ,
'πεδίο' : Αξία,
...
}

Παράδειγμα:

Σε αυτό το παράδειγμα, ανακτούμε την εγγραφή υπόθεσης 5005i00000W4GM5AAN.

ΤΥΠΟΣ: / Υπηρεσίες / δεδομένα / v56.0 / θέματα / Υπόθεση / 5005i00000W4GM5AAN

Αποτέλεσμα:

Μπορούμε να δούμε ότι η απόκριση δημιουργείται σε μορφή JSON.

Μπορούμε επίσης να δούμε τα αποτελέσματα απευθείας από εδώ:

Ανάκτηση πολλαπλών εγγραφών με το ερώτημα

Ήρθε η ώρα να ανακτήσετε πολλαπλές εγγραφές από το αντικείμενο Salesforce. Προηγουμένως, καθορίσαμε τα αντικείμενα στο URI. Εδώ, πρέπει να καθορίσουμε ένα ερώτημα που λαμβάνει το ερώτημα ως παράμετρο.

URI: υπηρεσίες / δεδομένα / v57.0 / ερώτηση / ? q =SELECT+field1,field2,....+from+ObjectAPIName

Πρέπει να χρησιμοποιήσουμε το '+' ως οριοθέτη για να ενώσουμε τις λέξεις-κλειδιά σε ένα ερώτημα. Επιστρέφει το totalSize και καταγράφει σε ένα φάκελο. Το όνομα φακέλου για κάθε εγγραφή είναι [Item 1],…[Item n].

Παράδειγμα 1:
Ας επιστρέψουμε τις εγγραφές που περιλαμβάνουν το CaseNumber, την κατάσταση, την προτεραιότητα και την περιγραφή από το αντικείμενο Case.

/ Υπηρεσίες / δεδομένα / v57.0 / ερώτηση / ? q =SELECT+Case Number,Status,Priority,Description+from+Case

Αποτέλεσμα:

Όταν κάνετε κλικ στο 'Ανάπτυξη όλων', θα δείτε όλες τις εγγραφές με τα χαρακτηριστικά και τις τιμές τους.

Επιτρέψτε μου να δείξω την πρώτη και την τελευταία εγγραφή:

Παράδειγμα 2:
Ας επιστρέψουμε μόνο τρεις εγγραφές με τα ίδια πεδία όπως φαίνεται στο πρώτο παράδειγμα.

/ Υπηρεσίες / δεδομένα / v57.0 / ερώτηση / ? q =SELECT+Case Number,Status,Priority,Description+from+Case+Limit+ 2

Αποτέλεσμα:
Οι δύο πρώτες εγγραφές που υπάρχουν στο αντικείμενο Case επιστρέφονται.

Παράδειγμα 3:
Ας καθορίσουμε τη συνθήκη WHERE στο ερώτημα που επιλέγει τις εγγραφές με την κατάσταση 'Νέα'.

/ Υπηρεσίες / δεδομένα / v57.0 / ερώτηση / ? q =SELECT+Case Number,Status,Priority,Description+from+Case+where+ Κατάσταση = 'Νέος'

Αποτέλεσμα:

Υπάρχουν πέντε εγγραφές με την κατάσταση 'Νέα'.

Προσαρμοσμένος πόρος ανάπαυσης στο Apex

Μπορούμε να χρησιμοποιήσουμε το Salesforce Apex που επιστρέφει την εγγραφή από το αντικείμενο Salesforce καθορίζοντας το URI στον πάγκο εργασίας. Για να γράψουμε REST στο Apex, πρέπει να χρησιμοποιήσουμε κάποιους σχολιασμούς που έχουν πρόσβαση στο REST API στην κλάση Apex. Βεβαιωθείτε ότι η κλάση Apex πρέπει να είναι καθολικά στατική.

1. @RestResource Annotation

Αυτός ο σχολιασμός χρησιμοποιείται για την ενεργοποίηση που εκθέτει μια κλάση Apex ως πόρο REST. Λαμβάνει το urlMapping ως παράμετρο που χρησιμοποιείται για τον εντοπισμό του URI στον πάγκο εργασίας.

Σύνταξη: @RestResource(urlMapping=’/Version/ApexClassName/’)

Η 'έκδοση' είναι η έκδοση Workbench όπως το V56.0 και το 'ApexClassName' είναι η κλάση Apex όπου εμπλέκονται οι πόροι του Rest API.

2. @HttpGet Annotation

Αυτός ο σχολιασμός χρησιμοποιείται για την ενεργοποίηση που εκθέτει μια κλάση Apex ως πόρο REST. Καλείται όταν αποστέλλεται ένα αίτημα HTTP GET στον διακομιστή και επιστρέφει τον καθορισμένο πόρο.

Σύνταξη: @httpGet

Παράδειγμα 1: Single Param

Γράψτε την κλάση Apex 'RestApi_Get_Record.apxc' που περιλαμβάνει τη μέθοδο 'Rest Get' για να επιστρέψετε το αναγνωριστικό, τον αριθμό υπόθεσης, την κατάσταση, την προτεραιότητα και την προέλευση από την περίπτωση από το αντικείμενο Case.

@ RestResource ( urlMapping = '/v56.0/RestApi_Get_Record/' )
παγκόσμια κλάση RestApi_Get_Record {

// REST - Get Method
@ http Get
καθολική στατική υπόθεση getCaseDetails ( ) {

// Δημιουργία αντικειμένου Για Αντικείμενο υπόθεσης
Case case_obj = νέα υπόθεση ( ) ;
Χάρτης < Χορδή, Χορδή > paramsMap = RestContext.request.params;

// Να πάρει το υπόθεση ταυτότητα
String caseid =paramsMap.get ( 'input_id' ) ;

// Ερώτημα SOQL που θα ΕΠΙΣΤΡΟΦΗ ταυτότητα ,CaseNumber,Status,Priority,Origin from Case from
// το αντικείμενο της υπόθεσης
περίπτωση_αντικείμενο = [ επιλέγω ταυτότητα ,CaseNumber,Status,Priority,Origin from Case where Id =:caseid ] ;
ΕΠΙΣΤΡΟΦΗ case_obj;
}
}

URI και αποτέλεσμα:

Μεταβείτε στο Workbench και μεταβείτε στον REST Explorer. Περάστε το αναγνωριστικό ως 5002t00000Pdzr2AAB στην παράμετρο input_id.

/ Υπηρεσίες / κορυφαίος / v56.0 / RestApi_Get_Record / ? input_id =5002t00000Pdzr2AAB

Εξήγηση:

  • Δημιουργήστε ένα αντικείμενο για την υπόθεση 'case_obj'.
  • Λάβετε τις παραμέτρους χρησιμοποιώντας το RestContext.request.params.
  • Λάβετε το αναγνωριστικό περίπτωσης από το param input_id και αποθηκεύστε το στη μεταβλητή caseid.
  • Γράψτε το ερώτημα SOQL που επιστρέφει το id, CaseNumber, κατάσταση, προτεραιότητα, προέλευση από υπόθεση από το αντικείμενο Case της υπόθεσης 'caseid'.
  • Επιστρέψτε το αντικείμενο υπόθεσης (case_obj).

Παράδειγμα 2: Πολλαπλές Παράμετροι

Χρησιμοποιήστε την προηγούμενη κλάση Apex και αποκτήστε την παράμετρο 'Κατάσταση' μαζί με το αναγνωριστικό. Καθορίστε αυτές τις δύο παραμέτρους στο URI του πάγκου εργασίας που διαχωρίζεται με '&'.

@ RestResource ( urlMapping = '/v56.0/RestApi_Get_Record/' )
παγκόσμια κλάση RestApi_Get_Record {

// REST - Get Method
@ http Get
καθολική στατική υπόθεση getCaseDetails ( ) {

// Δημιουργία αντικειμένου Για Αντικείμενο υπόθεσης
Case case_obj = νέα υπόθεση ( ) ;
Χάρτης < Χορδή, Χορδή > id_param = RestContext.request.params;
Χάρτης < Χορδή, Χορδή > status_param = RestContext.request.params;

// Βάλτε το id_param στο case_id
Συμβολοσειρά case_id = id_param.get ( 'input_id' ) ;
// Εισαγάγετε το status_param στο case_status
Συμβολοσειρά case_status =status_param.get ( 'κατάσταση' ) ;

περίπτωση_αντικείμενο = [ επιλέγω ταυτότητα ,CaseNumber,Status,Priority,Origin from Case ku Id =:case_id and Status =: case_status ] ;
ΕΠΙΣΤΡΟΦΗ case_obj;
}
}

URI και αποτέλεσμα:

Μεταβείτε στο Workbench και μεταβείτε στον REST Explorer. Μεταβιβάστε το input_id ως 5002t00000PdzqwAAB και την κατάσταση ως 'Closed' στο URI.

/ Υπηρεσίες / κορυφαίος / v56.0 / RestApi_Get_Record / ? input_id =5002t00000PdzqwAAB & κατάσταση =Κλειστό

συμπέρασμα

Συζητήσαμε τρία σενάρια ανάκτησης των εγγραφών Salesforce μέσω του Salesforce REST API χρησιμοποιώντας το Workbench. Για να επιστρέψουμε μια συγκεκριμένη εγγραφή, πρέπει να καθορίσουμε το sObject περνώντας το id ως παράμετρο στο URI. Ομοίως, περνάμε τις παραμέτρους του ερωτήματος για να λάβουμε συγκεκριμένες εγγραφές. Χρησιμοποιώντας το Apex, μπορούμε να δημιουργήσουμε τη δική μας μέθοδο 'Λήψη' για να επιλέξουμε την εγγραφή με βάση μεμονωμένες/πολλαπλές παραμέτρους.