Pridobite zapise z uporabo Rest API v Salesforce

Pridobite Zapise Z Uporabo Rest Api V Salesforce



V tem priročniku bomo razpravljali o tem, kako pridobiti zapise Salesforce z REST API prek Workbench v Salesforce. Kot del tega vodnika bomo razpravljali o tem, kako uporabljati Workbench, pridobiti določene zapise z uporabo sObject in pridobiti več zapisov iz predmeta z uporabo poizvedbe in pridobiti zapise s pisanjem API-ja REST po meri Apex. Za predstavitev bomo uporabili objekt Salesforce Standard Case. V zaledju Salesforce ni treba ustvariti nobenega zapisa primera. Uporabljamo obstoječo standardno evidenco primerov, ki jo zagotavlja Salesforce.

Predstavljamo Workbench

Workbench ni uradni izdelek Salesforce.com. Vendar bomo uporabili Salesforce za izvajanje operacij manipulacije s podatki, kot so izbiranje, vstavljanje, upsetiranje, posodabljanje in brisanje, tako da se preprosto prijavite v svoj račun Salesforce (podpira tako peskovnik kot produkcijo). To je uradno spletno mesto za prijavo v Workbench s Salesforce: https://workbench.developerforce.com/login.php .

Od zdaj obdržite samo obstoječo različico API-ja in kliknite gumb »Prijava s Salesforce«.









Potrebujemo REST Explorer. Pomaknite se do zavihka »pripomočki« in kliknite »REST Explorer«.







Videli boste uporabniški vmesnik, kot je na naslednji sliki. Za pridobivanje zapisov iz Salesforce v tem celotnem vodniku se moramo odločiti za GET. Določiti moramo URI, ki pridobi zapise Salesforce, in klikniti gumb »Izvedi«.



Pridobite določen zapis z ID-jem Salesforce

Na podlagi ID-ja zapisa Salesforce lahko pridobimo celoten zapis Salesforce. URI moramo nastaviti na naslednji način:

/ storitve / podatke / v56.0 / predmetov / objectAPIName / id

Tu je »objectAPIName« objekt Salesforce Standard/Custom, »id« pa se nanaša na ID Salesforce.

Vrnitev:

Prejeli boste neobdelani odgovor HTTP/1.1 200 OK v formatu JSON, kot je prikazano spodaj:

{
'lastnosti' : {
'tip' :
'url' :
} ,
'polje' : vrednost,
...
}

primer:

V tem primeru pridobimo zapis primera 5005i00000W4GM5AAN.

VRSTA: / storitve / podatke / v56.0 / predmetov / Ovitek / 5005i00000W4GM5AAN

rezultat:

Vidimo lahko, da je odgovor ustvarjen v formatu JSON.

Rezultate si lahko ogledamo tudi neposredno od tukaj:

Pridobite več zapisov s poizvedbo

Čas je, da pridobite več zapisov iz predmeta Salesforce. Prej smo določili subjekte v URI. Tukaj moramo podati poizvedbo, ki poizvedbo vzame kot parameter.

URI: storitve / podatke / v57.0 / poizvedbo / ? q =SELECT+field1,field2,....+from+ObjectAPIName

Za združevanje ključnih besed v poizvedbi moramo uporabiti »+« kot ločilo. Vrne totalSize in zapise v mapo. Ime mape za vsak zapis je [Element 1],…[Element n].

Primer 1:
Vrnimo zapise, ki vključujejo CaseNumber, status, prioriteto in opis iz predmeta Case.

/ storitve / podatke / v57.0 / poizvedbo / ? q =SELECT+CaseNumber,Status,Priority,Description+from+Case

rezultat:

Ko kliknete »Razširi vse«, boste videli vse zapise z njihovimi atributi in vrednostmi.

Naj pokažem prvi in ​​zadnji zapis:

Primer 2:
Vrnimo samo tri zapise z enakimi polji, kot jih vidimo v prvem primeru.

/ storitve / podatke / v57.0 / poizvedbo / ? q =SELECT+CaseNumber,Status,Priority,Description+from+Case+limit+ 2

rezultat:
Vrneta se prva dva zapisa, ki sta prisotna v predmetu Case.

Primer 3:
Določimo pogoj WHERE v poizvedbi, ki izbere zapise s statusom »Novo«.

/ storitve / podatke / v57.0 / poizvedbo / ? q =SELECT+CaseNumber,Status,Priority,Description+from+Case+where+ Stanje = 'novo'

rezultat:

Obstaja pet zapisov s statusom »Novo«.

Vir počitka po meri v Apexu

Uporabimo lahko Salesforce Apex, ki vrne zapis iz objekta Salesforce, tako da podamo URI v delovnem okolju. Za pisanje REST v Apexu moramo uporabiti nekaj opomb, ki dostopajo do API-ja REST v vašem razredu Apex. Prepričajte se, da mora biti naš razred Apex globalno statičen.

1. Opomba @RestResource

Ta opomba se uporablja za omogočanje, ki izpostavi razred Apex kot vir REST. Kot parameter vzame urlMapping, ki se uporablja za iskanje URI-ja v delovnem okolju.

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

»Različica« je vaša različica Workbench, kot je V56.0, »ApexClassName« pa je vaš razred Apex, kjer so vključeni viri Rest API.

2. @HttpGet Annotation

Ta opomba se uporablja za omogočanje, ki izpostavi razred Apex kot vir REST. Pokliče se, ko je strežniku poslana zahteva HTTP GET in vrne navedeni vir.

Sintaksa: @httpGet

Primer 1: En param

Napišite razred Apex »RestApi_Get_Record.apxc«, ki vključuje metodo »Rest Get« za vrnitev ID-ja, CaseNumber, statusa, prioritete in izvora iz case iz predmeta Case.

@ RestResource ( urlMapping = '/v56.0/RestApi_Get_Record/' )
globalni razred RestApi_Get_Record {

// REST - Pridobite metodo
@ httpGet
globalni statični primer getCaseDetails ( ) {

// Ustvari predmet za Predmet primera
Primer case_obj = nov primer ( ) ;
Zemljevid < Niz, niz > paramsMap = RestContext.request.params;

// Dobite Ovitek id
Niz caseid =paramsMap.get ( 'input_id' ) ;

// poizvedba SOQL, ki bo vrnitev id ,Številka zadeve,Status,Prioriteta,Izvor iz Primera iz
// predmet Case
case_obj = [ izberite id ,CaseNumber,Status,Priority,Origin from Case where Id =:caseid ] ;
vrnitev case_obj;
}
}

URI in rezultat:

Pojdite na Workbench in se pomaknite do REST Explorerja. Posredujte ID kot 5002t00000Pdzr2AAB v parameter input_id.

/ storitve / apexrest / v56.0 / RestApi_Get_Record / ? input_id =5002t00000Pdzr2AAB

Pojasnilo:

  • Ustvarite predmet za primer »case_obj«.
  • Pridobite parametre z uporabo RestContext.request.params.
  • Pridobite ID primera iz parama input_id in ga shranite v spremenljivko caseid.
  • Napišite poizvedbo SOQL, ki vrne ID, CaseNumber, status, prioriteto, izvor iz primera iz predmeta Case primera »caseid«.
  • Vrne predmet case (case_obj).

Primer 2: Več parametrov

Uporabite prejšnji razred Apex in pridobite parameter »Status« skupaj z ID-jem. Določite ta dva parametra v URI-ju Workbench, ki sta ločena z »&«.

@ RestResource ( urlMapping = '/v56.0/RestApi_Get_Record/' )
globalni razred RestApi_Get_Record {

// REST - Pridobite metodo
@ httpGet
globalni statični primer getCaseDetails ( ) {

// Ustvari predmet za Predmet primera
Primer case_obj = nov primer ( ) ;
Zemljevid < Niz, niz > id_param = RestContext.request.params;
Zemljevid < Niz, niz > status_param = RestContext.request.params;

// Pridobite id_param v case_id
Niz case_id = id_param.get ( 'input_id' ) ;
// Pridobite status_param v case_status
Niz case_status =status_param.get ( 'stanje' ) ;

case_obj = [ izberite id ,CaseNumber,Status,Priority,Origin from Case where Id =:case_id and Status =: case_status ] ;
vrnitev case_obj;
}
}

URI in rezultat:

Pojdite na Workbench in se pomaknite do REST Explorerja. Podajte input_id kot 5002t00000PdzqwAAB in status kot »Closed« v URI.

/ storitve / apexrest / v56.0 / RestApi_Get_Record / ? input_id =5002t00000PdzqwAAB & stanje =Zaprto

Zaključek

Razpravljali smo o treh scenarijih pridobivanja zapisov Salesforce prek Salesforce REST API z uporabo Workbench. Če želite vrniti določen zapis, moramo določiti sObject tako, da podamo ID kot parameter v URI. Podobno posredujemo poizvedbene parametre, da dobimo določene zapise. Z uporabo Apexa lahko ustvarimo lastno metodo »Get« za izbiro zapisa na podlagi enega/več parametrov.