సేల్స్‌ఫోర్స్‌లో రెస్ట్ APIని ఉపయోగించి రికార్డ్‌లను తిరిగి పొందండి

Sels Phors Lo Rest Apini Upayoginci Rikard Lanu Tirigi Pondandi



ఈ గైడ్‌లో, సేల్స్‌ఫోర్స్‌లోని వర్క్‌బెంచ్ ద్వారా REST APIతో సేల్స్‌ఫోర్స్ రికార్డ్‌లను ఎలా తిరిగి పొందాలో మేము చర్చిస్తాము. ఈ గైడ్‌లో భాగంగా, మేము వర్క్‌బెంచ్‌ను ఎలా ఉపయోగించాలో, sObjectని ఉపయోగించి నిర్దిష్ట రికార్డులను పొందడం మరియు ప్రశ్నను ఉపయోగించి ఒక వస్తువు నుండి బహుళ రికార్డ్‌లను పొందడం మరియు Apex అనుకూల REST APIని వ్రాయడం ద్వారా రికార్డ్‌లను పొందడం గురించి చర్చిస్తాము. మేము ప్రదర్శన కోసం సేల్స్‌ఫోర్స్ స్టాండర్డ్ కేస్ ఆబ్జెక్ట్‌ని ఉపయోగిస్తాము. సేల్స్‌ఫోర్స్ బ్యాకెండ్‌లో ఎలాంటి కేసు రికార్డు సృష్టించాల్సిన అవసరం లేదు. మేము సేల్స్‌ఫోర్స్ అందించిన ప్రస్తుత ప్రామాణిక కేసు రికార్డును ఉపయోగిస్తాము.

వర్క్‌బెంచ్‌ని పరిచయం చేస్తున్నాము

వర్క్‌బెంచ్ అధికారిక Salesforce.com ఉత్పత్తి కాదు. కానీ మేము మీ సేల్స్‌ఫోర్స్ ఖాతాలోకి లాగిన్ చేయడం ద్వారా ఎంపిక చేయడం, చొప్పించడం, అప్‌సర్ట్ చేయడం, నవీకరించడం మరియు తొలగించడం వంటి డేటా మానిప్యులేషన్ కార్యకలాపాలను నిర్వహించడానికి సేల్స్‌ఫోర్స్‌ను ఉపయోగిస్తాము (శాండ్‌బాక్స్ మరియు ఉత్పత్తి రెండింటికి మద్దతు ఇస్తుంది). సేల్స్‌ఫోర్స్‌తో వర్క్‌బెంచ్‌ను లాగిన్ చేయడానికి ఇది అధికారిక వెబ్‌సైట్: https://workbench.developerforce.com/login.php .

ప్రస్తుతానికి, API వెర్షన్‌ను మాత్రమే ఉనికిలో ఉంచి, 'సేల్స్‌ఫోర్స్‌తో లాగిన్' బటన్‌పై క్లిక్ చేయండి.









మాకు REST ఎక్స్‌ప్లోరర్ అవసరం. 'యుటిలిటీస్' ట్యాబ్‌కు నావిగేట్ చేసి, 'REST Explorer'పై క్లిక్ చేయండి.







మీరు క్రింది ఉదాహరణలో UIని చూస్తారు. ఈ మొత్తం గైడ్‌లో సేల్స్‌ఫోర్స్ నుండి రికార్డ్‌లను పొందడానికి మేము GETని ఎంచుకోవాలి. మేము సేల్స్‌ఫోర్స్ రికార్డ్‌లను పొందే URIని పేర్కొనాలి మరియు 'ఎగ్జిక్యూట్' బటన్‌ను క్లిక్ చేయండి.



సేల్స్‌ఫోర్స్ IDతో నిర్దిష్ట రికార్డును తిరిగి పొందండి

సేల్స్‌ఫోర్స్ రికార్డ్ ID ఆధారంగా, మేము సేల్స్‌ఫోర్స్ పూర్తి రికార్డ్‌ను పొందవచ్చు. మేము URIని ఈ క్రింది విధంగా సెట్ చేయాలి:

/ సేవలు / సమాచారం / v56.0 / sobjects / వస్తువుAPINపేరు / id

ఇక్కడ, “objectAPIName” అనేది సేల్స్‌ఫోర్స్ స్టాండర్డ్/కస్టమ్ ఆబ్జెక్ట్ మరియు “id” అనేది సేల్స్‌ఫోర్స్ IDని సూచిస్తుంది.

తిరిగి:

మీరు క్రింది విధంగా JSON ఆకృతిలో HTTP/1.1 200 OK ముడి ప్రతిస్పందనను పొందుతారు:

{
'గుణాలు' : {
'రకం' :
'url' :
} ,
'ఫీల్డ్' : విలువ,
...
}

ఉదాహరణ:

ఈ ఉదాహరణలో, మేము 5005i00000W4GM5AAN కేసు రికార్డును పొందుతాము.

రకం: / సేవలు / సమాచారం / v56.0 / sobjects / కేసు / 5005i00000W4GM5AAN

ఫలితం:

ప్రతిస్పందన JSON ఆకృతిలో రూపొందించబడిందని మనం చూడవచ్చు.

మేము ఇక్కడ నుండి నేరుగా ఫలితాలను కూడా చూడవచ్చు:

ప్రశ్నతో బహుళ రికార్డ్‌లను తిరిగి పొందండి

సేల్స్‌ఫోర్స్ ఆబ్జెక్ట్ నుండి బహుళ రికార్డ్‌లను తిరిగి పొందే సమయం ఇది. మునుపు, మేము URIలో సబ్జెక్ట్‌లను పేర్కొన్నాము. ఇక్కడ, ప్రశ్నను పారామీటర్‌గా తీసుకునే ప్రశ్నను మనం పేర్కొనాలి.

URI: సేవలు / సమాచారం / v57.0 / ప్రశ్న / ? q =SELECT+field1,field2,....+నుండి+ObjectAPIName

ప్రశ్నలో కీలకపదాలను చేర్చడానికి మేము “+”ని డీలిమిటర్‌గా ఉపయోగించాలి. ఇది ఫోల్డర్‌లోని మొత్తం పరిమాణం మరియు రికార్డ్‌లను అందిస్తుంది. ప్రతి రికార్డ్ కోసం ఫోల్డర్ పేరు [ఐటెమ్ 1],…[ఐటెమ్ n].

ఉదాహరణ 1:
కేస్ ఆబ్జెక్ట్ నుండి కేస్ నంబర్, స్టేటస్, ప్రాధాన్యత మరియు వర్ణనతో కూడిన రికార్డ్‌లను రిటర్న్ చేద్దాం.

/ సేవలు / సమాచారం / v57.0 / ప్రశ్న / ? q =SELECT+CaseNumber, స్థితి, ప్రాధాన్యత, వివరణ+నుండి+కేసు

ఫలితం:

మీరు 'అన్నింటినీ విస్తరించు'పై క్లిక్ చేసినప్పుడు, మీరు అన్ని రికార్డులను దాని లక్షణాలు మరియు విలువలతో చూస్తారు.

నేను మొదటి మరియు చివరి రికార్డులను చూపుతాను:

ఉదాహరణ 2:
మొదటి ఉదాహరణలో చూసినట్లుగా ఒకే ఫీల్డ్‌లతో మూడు రికార్డ్‌లను మాత్రమే తిరిగి ఇద్దాం.

/ సేవలు / సమాచారం / v57.0 / ప్రశ్న / ? q =SELECT+కేస్ సంఖ్య, స్థితి, ప్రాధాన్యత, వివరణ+ నుండి+కేస్+పరిమితి+ 2

ఫలితం:
కేస్ ఆబ్జెక్ట్‌లో ఉన్న మొదటి రెండు రికార్డ్‌లు తిరిగి ఇవ్వబడ్డాయి.

ఉదాహరణ 3:
'కొత్త' స్థితితో రికార్డ్‌లను ఎంచుకునే ప్రశ్నలో ఎక్కడ ఉన్న స్థితిని పేర్కొంటాము.

/ సేవలు / సమాచారం / v57.0 / ప్రశ్న / ? q =SELECT+కేస్ సంఖ్య, స్థితి, ప్రాధాన్యత, వివరణ+నుండి+కేస్+ఎక్కడ+ స్థితి = 'కొత్త'

ఫలితం:

'కొత్త' స్థితితో ఐదు రికార్డులు ఉన్నాయి.

అపెక్స్‌లో అనుకూల విశ్రాంతి వనరు

వర్క్‌బెంచ్‌లో URIని పేర్కొనడం ద్వారా సేల్స్‌ఫోర్స్ ఆబ్జెక్ట్ నుండి రికార్డ్‌ను అందించే సేల్స్‌ఫోర్స్ అపెక్స్‌ని మేము ఉపయోగించుకోవచ్చు. Apexలో REST వ్రాయడానికి, మేము మీ Apex తరగతిలో REST APIని యాక్సెస్ చేసే కొన్ని ఉల్లేఖనాలను ఉపయోగించాలి. మా అపెక్స్ క్లాస్ తప్పనిసరిగా ప్రపంచవ్యాప్తంగా స్థిరంగా ఉండేలా చూసుకోండి.

1. @RestResource ఉల్లేఖన

ఈ ఉల్లేఖనం REST వనరుగా Apex తరగతిని బహిర్గతం చేయడానికి ఉపయోగించబడుతుంది. ఇది వర్క్‌బెంచ్‌లో URIని గుర్తించడానికి ఉపయోగించే పారామీటర్‌గా url మ్యాపింగ్‌ను తీసుకుంటుంది.

సింటాక్స్: @RestResource(urlMapping='/Version/ApexClassName/')

'వెర్షన్' అనేది V56.0 వంటి మీ వర్క్‌బెంచ్ వెర్షన్ మరియు 'ApexClassName' అనేది మీ Apex తరగతి, ఇక్కడ మిగిలిన API వనరులు ఉంటాయి.

2. @HttpGet ఉల్లేఖన

ఈ ఉల్లేఖనం REST వనరుగా Apex తరగతిని బహిర్గతం చేయడానికి ఉపయోగించబడుతుంది. HTTP GET అభ్యర్థన సర్వర్‌కు పంపబడినప్పుడు మరియు పేర్కొన్న వనరును తిరిగి అందించినప్పుడు దీనిని పిలుస్తారు.

సింటాక్స్: @httpGet

ఉదాహరణ 1: సింగిల్ పారామ్

కేస్ ఆబ్జెక్ట్ నుండి id, CaseNumber, స్థితి, ప్రాధాన్యత మరియు మూలాన్ని తిరిగి ఇవ్వడానికి 'Rest Get' పద్ధతిని కలిగి ఉన్న 'RestApi_Get_Record.apxc' Apex తరగతిని వ్రాయండి.

@ RestResource ( urlమ్యాపింగ్ = '/v56.0/RestApi_Get_Record/' )
గ్లోబల్ క్లాస్ RestApi_Get_Record {

// REST - పొందండి పద్ధతి
@ http పొందండి
గ్లోబల్ స్టాటిక్ కేస్ getCaseDetails ( ) {

// వస్తువును సృష్టించండి కోసం కేసు వస్తువు
కేస్ case_obj = కొత్త కేస్ ( ) ;
మ్యాప్ < స్ట్రింగ్, స్ట్రింగ్ > paramsMap = RestContext.request.params;

// తీసుకురా కేసు id
స్ట్రింగ్ కేసిడ్ =paramsMap.get ( 'input_id' ) ;

// SOQL ప్రశ్న తిరిగి id ,కేస్ నంబర్, స్టేటస్, ప్రాధాన్యత, కేస్ నుండి మూలం
// కేసు వస్తువు
case_obj = [ ఎంచుకోండి id ,కేస్ నంబర్,స్టేటస్,ప్రాధాన్యత, ఐడి ఉన్న కేస్ నుండి మూలం =:కేసిడ్ ] ;
తిరిగి కేసు_వస్తువు;
}
}

URI మరియు ఫలితం:

వర్క్‌బెంచ్‌కి వెళ్లి, REST ఎక్స్‌ప్లోరర్‌కి నావిగేట్ చేయండి. IDని 5002t00000Pdzr2AABగా input_id పారామ్‌కి పాస్ చేయండి.

/ సేవలు / అపెక్స్రెస్ట్ / v56.0 / RestApi_Get_Record / ? input_id =5002t00000Pdzr2AAAB

వివరణ:

  • 'case_obj' కేస్ కోసం ఒక వస్తువును సృష్టించండి.
  • RestContext.request.params ఉపయోగించి పారామ్‌లను పొందండి.
  • పారామ్ ఇన్‌పుట్_ఐడి నుండి కేస్ ఐడిని పొందండి మరియు దీనిని కేసిడ్ వేరియబుల్‌లో నిల్వ చేయండి.
  • 'కేసిడ్' కేస్ యొక్క కేస్ ఆబ్జెక్ట్ నుండి id, CaseNumber, స్టేటస్, ప్రాధాన్యత, ఆరిజిన్‌ని తిరిగి ఇచ్చే SOQL ప్రశ్నను వ్రాయండి.
  • కేస్ ఆబ్జెక్ట్‌ని తిరిగి ఇవ్వండి (case_obj).

ఉదాహరణ 2: బహుళ పారామ్స్

మునుపటి అపెక్స్ క్లాస్‌ని ఉపయోగించుకోండి మరియు ఐడితో పాటు “స్టేటస్” పారామ్‌ను పొందండి. '&' ద్వారా వేరు చేయబడిన వర్క్‌బెంచ్ URIలో ఈ రెండు పారామ్‌లను పేర్కొనండి.

@ RestResource ( urlమ్యాపింగ్ = '/v56.0/RestApi_Get_Record/' )
గ్లోబల్ క్లాస్ RestApi_Get_Record {

// REST - పొందండి పద్ధతి
@ http పొందండి
గ్లోబల్ స్టాటిక్ కేస్ getCaseDetails ( ) {

// వస్తువును సృష్టించండి కోసం కేసు వస్తువు
కేస్ case_obj = కొత్త కేస్ ( ) ;
మ్యాప్ < స్ట్రింగ్, స్ట్రింగ్ > id_param = RestContext.request.params;
మ్యాప్ < స్ట్రింగ్, స్ట్రింగ్ > స్థితి_పరం = RestContext.request.params;

// id_paramని case_idలోకి పొందండి
స్ట్రింగ్ case_id = id_param.get ( 'input_id' ) ;
// కేస్_స్టేటస్‌లో స్థితి_పరం పొందండి
స్ట్రింగ్ case_status =status_param.get ( 'హోదా' ) ;

case_obj = [ ఎంచుకోండి id ,CaseNumber,Status,Pority, Origin from case from Id =:case_id మరియు స్థితి =: case_status ] ;
తిరిగి కేసు_వస్తువు;
}
}

URI మరియు ఫలితం:

వర్క్‌బెంచ్‌కి వెళ్లి, REST ఎక్స్‌ప్లోరర్‌కి నావిగేట్ చేయండి. input_idని 5002t00000PdzqwAABగా మరియు URIలో స్థితిని “మూసివేయబడింది”గా పాస్ చేయండి.

/ సేవలు / అపెక్స్రెస్ట్ / v56.0 / RestApi_Get_Record / ? input_id =5002t00000PdzqwAAB & హోదా =మూసివేయబడింది

ముగింపు

వర్క్‌బెంచ్‌ని ఉపయోగించి సేల్స్‌ఫోర్స్ REST API ద్వారా సేల్స్‌ఫోర్స్ రికార్డ్‌లను తిరిగి పొందే మూడు దృశ్యాలను మేము చర్చించాము. నిర్దిష్ట రికార్డ్‌ను తిరిగి ఇవ్వడానికి, URIలో idని పారామీటర్‌గా పాస్ చేయడం ద్వారా మేము sObjectని పేర్కొనాలి. అదేవిధంగా, నిర్దిష్ట రికార్డులను పొందడానికి మేము ప్రశ్న పారామితులను పాస్ చేస్తాము. అపెక్స్ ఉపయోగించి, సింగిల్/మల్టిపుల్ పారామ్‌ల ఆధారంగా రికార్డ్‌ను ఎంచుకోవడానికి మన స్వంత “గెట్” పద్ధతిని సృష్టించవచ్చు.