Získajte záznamy pomocou Rest API v Salesforce

Ziskajte Zaznamy Pomocou Rest Api V Salesforce



V tejto príručke budeme diskutovať o tom, ako získať záznamy Salesforce pomocou REST API cez Workbench v Salesforce. V rámci tejto príručky budeme diskutovať o tom, ako používať Workbench, získavať konkrétne záznamy pomocou sObject a získavať viaceré záznamy z objektu pomocou dotazu a získavať záznamy napísaním vlastného REST API Apex. Na demonštráciu použijeme objekt Salesforce Standard Case. V backende Salesforce nie je potrebné vytvárať žiadny záznam prípadu. Používame existujúci štandardný záznam prípadu, ktorý poskytuje Salesforce.

Predstavujeme Workbench

Workbench nie je oficiálny produkt Salesforce.com. Ale použijeme Salesforce na vykonávanie operácií manipulácie s údajmi, ako je výber, vkladanie, upsert, aktualizácia a mazanie, a to jednoduchým prihlásením do vášho účtu Salesforce (podporuje Sandbox aj produkciu). Toto je oficiálna webová stránka na prihlásenie Workbench do Salesforce: https://workbench.developerforce.com/login.php .

Odteraz ponechajte iba existujúcu verziu API a kliknite na tlačidlo „Prihlásiť sa pomocou Salesforce“.









Potrebujeme REST Explorer. Prejdite na kartu „utility“ a kliknite na „REST Explorer“.







Uvidíte používateľské rozhranie ako na nasledujúcom obrázku. Musíme zvoliť GET, aby sme získali záznamy zo Salesforce v celej tejto príručke. Musíme zadať identifikátor URI, ktorý načítava záznamy Salesforce, a kliknúť na tlačidlo „Vykonať“.



Získajte konkrétny záznam s ID Salesforce

Na základe ID záznamu Salesforce môžeme načítať celý záznam Salesforce. Musíme nastaviť URI takto:

/ služby / údajov / v56.0 / objekty / objectAPINname / id

Tu je „objectAPIName“ štandardný/vlastný objekt Salesforce a „id“ odkazuje na Salesforce ID.

Návrat:

Dostanete surovú odpoveď HTTP/1.1 200 OK vo formáte JSON, ako je uvedené nižšie:

{
'atribúty' : {
'typ' :
'url' :
} ,
'lúka' : hodnota,
...
}

Príklad:

V tomto príklade získame záznam prípadu 5005i00000W4GM5AAN.

TYP: / služby / údajov / v56.0 / objekty / Prípad / 5005i00000W4GM5AAN

výsledok:

Vidíme, že odpoveď je generovaná vo formáte JSON.

Výsledky si môžeme pozrieť aj priamo odtiaľto:

Získajte viac záznamov pomocou dotazu

Je čas načítať viacero záznamov z objektu Salesforce. Predtým sme špecifikovali objekty v URI. Tu musíme zadať dotaz, ktorý berie dotaz ako parameter.

URI: služby / údajov / v57.0 / dopyt / ? q =SELECT+pole1,pole2,....+from+ObjectAPINname

Na spojenie kľúčových slov v dopyte musíme použiť „+“ ako oddeľovač. Vráti celkovú veľkosť a záznamy v priečinku. Názov priečinka pre každý záznam je [Item 1],…[Item n].

Príklad 1:
Vráťme záznamy, ktoré obsahujú CaseNumber, stav, prioritu a popis z objektu Case.

/ služby / údajov / v57.0 / dopyt / ? q =SELECT+Číslo prípadu,Stav,Priorita,Popis+od+Prípad

výsledok:

Po kliknutí na „Rozbaliť všetko“ sa zobrazia všetky záznamy s ich atribútmi a hodnotami.

Dovoľte mi ukázať prvý a posledný záznam:

Príklad 2:
Vráťme iba tri záznamy s rovnakými poľami, aké vidíme v prvom príklade.

/ služby / údajov / v57.0 / dopyt / ? q =SELECT+CaseNumber,Status,Priority,Description+from+Case+limit+ 2

výsledok:
Vrátia sa prvé dva záznamy, ktoré sa nachádzajú v objekte Case.

Príklad 3:
Zadajte podmienku WHERE v dotaze, ktorý vyberá záznamy so stavom „Nový“.

/ služby / údajov / v57.0 / dopyt / ? q =SELECT+Číslo prípadu,Stav,Priorita,Popis+od+Prípad+odkiaľ+ Postavenie = 'Nový'

výsledok:

Existuje päť záznamov so stavom „Nový“.

Vlastný oddychový zdroj v Apex

Môžeme použiť Salesforce Apex, ktorý vráti záznam z objektu Salesforce zadaním URI vo Workbench. Ak chcete napísať REST v Apex, musíme použiť niektoré anotácie, ktoré pristupujú k REST API vo vašej triede Apex. Uistite sa, že naša trieda Apex musí byť globálne statická.

1. Anotácia @RestResource

Táto anotácia sa používa na povolenie, ktoré odhaľuje triedu Apex ako prostriedok REST. Berie urlMapping ako parameter, ktorý sa používa na nájdenie URI vo Workbench.

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

„Verzia“ je vaša verzia Workbench ako V56.0 a „ApexClassName“ je vaša trieda Apex, kde sú zahrnuté zdroje Rest API.

2. @HttpGet Anotácia

Táto anotácia sa používa na povolenie, ktoré odhaľuje triedu Apex ako prostriedok REST. Volá sa, keď sa na server odošle požiadavka HTTP GET a vráti zadaný zdroj.

Syntax: @httpGet

Príklad 1: Single Param

Napíšte triedu Apex „RestApi_Get_Record.apxc“, ktorá zahŕňa metódu „Rest Get“ na vrátenie id, CaseNumber, stavu, priority a pôvodu prípadu z objektu Case.

@ RestResource ( urlMapping = '/v56.0/RestApi_Get_Record/' )
globálna trieda RestApi_Get_Record {

// REST - Get Method
@ httpGet
globálny statický Case getCaseDetails ( ) {

// Vytvorte objekt pre Objekt prípadu
Case case_obj = nový prípad ( ) ;
Mapa < Reťazec, Reťazec > paramsMap = RestContext.request.params;

// Dostať prípad id
Reťazec caseid =paramsMap.get ( 'input_id' ) ;

// SOQL dotaz, ktorý bude vrátiť id ,CaseNumber,Status,Priority,Origin from Case from
// objekt Case
case_obj = [ vyberte id ,CaseNumber,Status,Priority,Origin from Case where Id =:caseid ] ;
vrátiť case_obj;
}
}

URI a výsledok:

Prejdite na Workbench a prejdite do Prieskumníka REST. Zadajte id ako 5002t00000Pdzr2AAB do parametra input_id.

/ služby / apexrest / v56.0 / RestApi_Get_Record / ? input_id =5002t00000Pdzr2AAB

Vysvetlenie:

  • Vytvorte objekt pre prípad „case_obj“.
  • Získajte parametre pomocou RestContext.request.params.
  • Získajte ID prípadu z parametra input_id a uložte ho do premennej caseid.
  • Napíšte dotaz SOQL, ktorý vráti id, CaseNumber, stav, prioritu, pôvod z prípadu z objektu Case prípadu „caseid“.
  • Vráťte objekt case (case_obj).

Príklad 2: Viaceré parametre

Využite predchádzajúcu triedu Apex a získajte parameter „Status“ spolu s ID. Zadajte tieto dva parametre v identifikátore URI Workbench, ktorý je oddelený znakom „&“.

@ RestResource ( urlMapping = '/v56.0/RestApi_Get_Record/' )
globálna trieda RestApi_Get_Record {

// REST - Get Method
@ httpGet
globálny statický Case getCaseDetails ( ) {

// Vytvorte objekt pre Objekt prípadu
Case case_obj = nový prípad ( ) ;
Mapa < Reťazec, Reťazec > id_param = RestContext.request.params;
Mapa < Reťazec, Reťazec > status_param = RestContext.request.params;

// Získajte id_param do case_id
Reťazec case_id = id_param.get ( 'input_id' ) ;
// Získajte status_param do case_status
Reťazec case_status =status_param.get ( 'postavenie' ) ;

case_obj = [ vyberte id ,CaseNumber,Status,Priority,Origin from Case where Id =:case_id and Status =: case_status ] ;
vrátiť case_obj;
}
}

URI a výsledok:

Prejdite na Workbench a prejdite na REST Explorer. Zadajte input_id ako 5002t00000PdzqwAAB a stav ako „Zatvorené“ v URI.

/ služby / apexrest / v56.0 / RestApi_Get_Record / ? input_id =5002t00000PdzqwAAB & postavenie =Zatvorené

Záver

Diskutovali sme o troch scenároch získavania záznamov Salesforce cez Salesforce REST API pomocou Workbench. Aby sme vrátili konkrétny záznam, musíme špecifikovať sObject odovzdaním id ako parametra v URI. Podobne odovzdávame parametre dotazu, aby sme získali konkrétne záznamy. Pomocou Apex môžeme vytvoriť vlastnú metódu „Get“ na výber záznamu na základe jednoduchých/viacerých parametrov.