Vă prezentăm Workbench
Workbench nu este un produs oficial Salesforce.com. Dar vom folosi Salesforce pentru a efectua operațiuni de manipulare a datelor, cum ar fi selectarea, inserarea, upsertarea, actualizarea și ștergerea, doar conectându-vă la contul dvs. Salesforce (acceptă atât Sandbox, cât și Production). Acesta este site-ul web oficial pentru a vă conecta la Workbench cu Salesforce: https://workbench.developerforce.com/login.php .
De acum, păstrați versiunea API ca existentă și faceți clic pe butonul „Conectați-vă cu Salesforce”.
Avem nevoie de REST Explorer. Navigați la fila „utilități” și faceți clic pe „REST Explorer”.
Veți vedea interfața de utilizare ca în ilustrația următoare. Trebuie să alegem GET pentru a prelua înregistrările de la Salesforce în întregul ghid. Trebuie să specificăm URI-ul care preia înregistrările Salesforce și să facem clic pe butonul „Execută”.
Preluați înregistrarea specifică cu ID-ul Salesforce
Pe baza ID-ului de înregistrare Salesforce, putem prelua întreaga înregistrare Salesforce. Trebuie să setăm URI-ul după cum urmează:
/ Servicii / date / v56.0 / subiecte / objectAPIName / idAici, „objectAPIName” este obiectul Salesforce Standard/Custom, iar „id” se referă la ID-ul Salesforce.
Întoarcere:
Veți obține răspunsul brut HTTP/1.1 200 OK în format JSON, ca în următorul:
{'atribute' : {
'tip' :
'url' :
} ,
'camp' : valoare,
...
}
Exemplu:
În acest exemplu, obținem înregistrarea cazului 5005i00000W4GM5AAN.
TIP: / Servicii / date / v56.0 / subiecte / Caz / 5005i00000W4GM5AANRezultat:
Putem vedea că răspunsul este generat în format JSON.
De asemenea, putem vizualiza rezultatele direct de aici:
Preluați mai multe înregistrări cu interogare
Este timpul să preluați mai multe înregistrări din obiectul Salesforce. Anterior, am specificat obiectele în URI. Aici, trebuie să specificăm o interogare care ia interogarea ca parametru.
URI: servicii / date / v57.0 / interogare / ? q =SELECT+field1,field2,....+from+ObjectAPINameTrebuie să folosim „+” ca delimitator pentru a uni cuvintele cheie într-o interogare. Returnează dimensiunea totală și înregistrează într-un folder. Numele folderului pentru fiecare înregistrare este [Element 1],…[Element n].
Exemplul 1:
Să returnăm înregistrările care includ CaseNumber, starea, prioritatea și descrierea din obiectul Case.
Rezultat:
Când faceți clic pe „Extindeți toate”, veți vedea toate înregistrările cu atributele și valorile lor.
Permiteți-mi să arăt prima și ultima înregistrare:
Exemplul 2:
Să returnăm doar trei înregistrări cu aceleași câmpuri așa cum se vede în primul exemplu.
Rezultat:
Primele două înregistrări care sunt prezente în obiectul Case sunt returnate.
Exemplul 3:
Să specificăm condiția WHERE în interogarea care selectează înregistrările cu starea „Nou”.
Rezultat:
Există cinci înregistrări cu starea „Nou”.
Resursă de odihnă personalizată în Apex
Putem folosi Salesforce Apex care returnează înregistrarea din obiectul Salesforce prin specificarea URI-ului în Workbench. Pentru a scrie REST în Apex, trebuie să folosim câteva adnotări care accesează API-ul REST în clasa ta Apex. Asigurați-vă că clasa noastră Apex trebuie să fie statică la nivel global.
1. @RestResource Adnotare
Această adnotare este folosită pentru a activa care expune o clasă Apex ca resursă REST. Acesta ia urlMapping ca parametru care este utilizat pentru a localiza URI-ul în Workbench.
Sintaxă: @RestResource(urlMapping=’/Version/ApexClassName/’)
„Versiunea” este versiunea dvs. Workbench, cum ar fi V56.0, iar „ApexClassName” este clasa dvs. Apex în care sunt implicate resursele API Rest.
2. @HttpGet Adnotare
Această adnotare este folosită pentru a activa care expune o clasă Apex ca resursă REST. Este apelat atunci când o solicitare HTTP GET este trimisă către server și returnează resursa specificată.
Sintaxă: @httpGet
Exemplul 1: un singur param
Scrieți clasa Apex „RestApi_Get_Record.apxc” care implică metoda „Rest Get” pentru a returna id-ul, CaseNumber, starea, prioritatea și originea din caz din obiectul Case.
@ RestResource ( UrlMapping = „/v56.0/RestApi_Get_Record/” )clasa globală RestApi_Get_Record {
// REST - Obține metoda
@ httpGet
global static Case getCaseDetails ( ) {
// Creați obiect pentru Obiect caz
Case case_obj = caz nou ( ) ;
Hartă < String, String > paramsMap = RestContext.request.params;
// Obține caz id
String caseid =paramsMap.get ( „ID_input” ) ;
// Interogare SOQL care va întoarcere id ,CaseNumber,Stare,Prioritate,Origine de la Caz de la
// obiectul Case
case_obj = [ Selectați id ,CaseNumber,Status,Priority,Origin from Case where Id =:caseid ] ;
întoarcere case_obj;
}
}
URI și rezultat:
Accesați Workbench și navigați la REST Explorer. Transmiteți id-ul ca 5002t00000Pdzr2AAB la parametrul input_id.
/ Servicii / sprijinul vârfului / v56.0 / RestApi_Get_Record / ? input_id =5002t00000Pdzr2AAB
Explicaţie:
- Creați un obiect pentru cazul „case_obj”.
- Obțineți parametrii folosind RestContext.request.params.
- Obțineți id-ul cazului din param input_id și stocați-l în variabila caseid.
- Scrieți interogarea SOQL care returnează id, CaseNumber, stare, prioritate, origine din caz din obiectul Case al cazului „caseid”.
- Returnează obiectul caz (case_obj).
Exemplul 2: Parametrii multipli
Utilizați clasa Apex anterioară și obțineți parametrul „Stare” împreună cu id-ul. Specificați acești doi parametri în URI-ul Workbench, care este separat prin „&”.
@ RestResource ( UrlMapping = „/v56.0/RestApi_Get_Record/” )clasa globală RestApi_Get_Record {
// REST - Obține metoda
@ httpGet
global static Case getCaseDetails ( ) {
// Creați obiect pentru Obiect caz
Case case_obj = caz nou ( ) ;
Hartă < String, String > id_param = RestContext.request.params;
Hartă < String, String > status_param = RestContext.request.params;
// Introduceți id_param în case_id
String case_id = id_param.get ( „ID_input” ) ;
// Introduceți status_param în case_status
String case_status =status_param.get ( 'stare' ) ;
case_obj = [ Selectați id ,CaseNumber,Status,Priority,Origin from Case where Id =:case_id and Status =:case_status ] ;
întoarcere case_obj;
}
}
URI și rezultat:
Accesați Workbench și navigați la REST Explorer. Transmite input_id ca 5002t00000PdzqwAAB și starea ca „Închis” în URI.
/ Servicii / sprijinul vârfului / v56.0 / RestApi_Get_Record / ? input_id =5002t00000PdzqwAAB & stare =Închis
Concluzie
Am discutat trei scenarii de preluare a înregistrărilor Salesforce prin Salesforce REST API folosind Workbench. Pentru a returna o anumită înregistrare, trebuie să specificăm sObject, pasând id-ul ca parametru în URI. În mod similar, trecem parametrii de interogare pentru a obține înregistrări specifice. Folosind Apex, putem crea propria noastră metodă „Get” pentru a selecta înregistrarea pe baza unor parametri unici/mulți.