Preluați înregistrări folosind API-ul Rest în Salesforce

Preluati Inregistrari Folosind Api Ul Rest In Salesforce



În acest ghid, vom discuta despre cum să extragem înregistrările Salesforce cu API-ul REST prin Workbench în Salesforce. Ca parte a acestui ghid, vom discuta despre cum să folosiți Workbench, să obținem înregistrări specifice utilizând sObject și să obținem mai multe înregistrări dintr-un obiect utilizând interogarea și să obținem înregistrări prin scrierea API-ului REST personalizat Apex. Vom folosi obiectul Caz standard Salesforce pentru demonstrație. Nu este nevoie să creați nicio înregistrare de caz în backend-ul Salesforce. Folosim înregistrarea de caz standard existentă, furnizată de Salesforce.

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 / id

Aici, „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 / 5005i00000W4GM5AAN

Rezultat:

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+ObjectAPIName

Trebuie 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.

/ Servicii / date / v57.0 / interogare / ? q =SELECT+CaseNumber,Stare,Prioritate,Descriere+din+Caz

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.

/ Servicii / date / v57.0 / interogare / ? q =SELECT+CaseNumber,Stare,Priority,Description+from+Case+limit+ 2

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”.

/ Servicii / date / v57.0 / interogare / ? q =SELECT+CaseNumber,Stare,Priority,Description+from+Case+where+ stare = '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.