कार्यक्षेत्र का परिचय
वर्कबेंच एक आधिकारिक Salesforce.com उत्पाद नहीं है। लेकिन हम सेल्सफोर्स का उपयोग केवल आपके सेल्सफोर्स खाते में लॉग इन करके चयन, सम्मिलित, अप्सर्ट, अपडेट और डिलीट जैसे डेटा हेरफेर संचालन करने के लिए करेंगे (सैंडबॉक्स और प्रोडक्शन दोनों का समर्थन करता है)। सेल्सफोर्स के साथ वर्कबेंच लॉगिन करने के लिए यह आधिकारिक वेबसाइट है: https://workbench.developerforce.com/login.php .
अभी तक, एपीआई संस्करण को केवल मौजूदा रखें और 'सेल्सफोर्स के साथ लॉगिन करें' बटन पर क्लिक करें।
हमें REST एक्सप्लोरर की आवश्यकता है। 'यूटिलिटीज़' टैब पर जाएँ और 'REST Explorer' पर क्लिक करें।
आप यूआई को निम्नलिखित चित्रण की तरह देखेंगे। इस संपूर्ण गाइड में सेल्सफोर्स से रिकॉर्ड लाने के लिए हमें GET का विकल्प चुनना होगा। हमें उस यूआरआई को निर्दिष्ट करने की आवश्यकता है जो सेल्सफोर्स रिकॉर्ड लाता है और 'निष्पादित करें' बटन पर क्लिक करें।
सेल्सफोर्स आईडी के साथ विशिष्ट रिकॉर्ड पुनः प्राप्त करें
Salesforce रिकॉर्ड आईडी के आधार पर, हम Salesforce का संपूर्ण रिकॉर्ड प्राप्त कर सकते हैं। हमें यूआरआई को इस प्रकार सेट करना होगा:
/ सेवा / आंकड़े / v56.0 / विषय / objectAPINनाम / पहचानयहां, 'ऑब्जेक्टएपिनेम' सेल्सफोर्स स्टैंडर्ड/कस्टम ऑब्जेक्ट है और 'आईडी' सेल्सफोर्स आईडी को संदर्भित करता है।
वापस करना:
आपको निम्नलिखित की तरह JSON प्रारूप में HTTP/1.1 200 OK रॉ प्रतिक्रिया मिलेगी:
{'गुण' : {
'प्रकार' :
'यूआरएल' :
} ,
'मैदान' : कीमत,
...
}
उदाहरण:
इस उदाहरण में, हम 5005i00000W4GM5AAN केस रिकॉर्ड प्राप्त करते हैं।
प्रकार: / सेवा / आंकड़े / v56.0 / विषय / मामला / 5005i00000W4GM5AANपरिणाम:
हम देख सकते हैं कि प्रतिक्रिया JSON प्रारूप में उत्पन्न हुई है।
हम परिणाम सीधे यहां से भी देख सकते हैं:
क्वेरी के साथ एकाधिक रिकॉर्ड पुनर्प्राप्त करें
Salesforce ऑब्जेक्ट से एकाधिक रिकॉर्ड पुनर्प्राप्त करने का समय आ गया है। पहले, हमने यूआरआई में ऑब्जेक्ट निर्दिष्ट किए थे। यहां, हमें एक क्वेरी निर्दिष्ट करने की आवश्यकता है जो क्वेरी को एक पैरामीटर के रूप में लेती है।
यूआरआई: सेवाएं / आंकड़े / v57.0 / जिज्ञासा / ? क्यू =SELECT+फ़ील्ड1,फ़ील्ड2,....+से+ऑब्जेक्टAPINameकिसी क्वेरी में कीवर्ड को जोड़ने के लिए हमें सीमांकक के रूप में '+' का उपयोग करने की आवश्यकता है। यह एक फ़ोल्डर में कुल आकार और रिकॉर्ड लौटाता है। प्रत्येक रिकॉर्ड के लिए फ़ोल्डर का नाम [आइटम 1],…[आइटम एन] है।
उदाहरण 1:
आइए वे रिकॉर्ड लौटाएँ जिनमें केस ऑब्जेक्ट से केस नंबर, स्थिति, प्राथमिकता और विवरण शामिल हैं।
परिणाम:
जब आप 'सभी का विस्तार करें' पर क्लिक करते हैं, तो आपको सभी रिकॉर्ड उसकी विशेषताओं और मूल्यों के साथ दिखाई देंगे।
आइए मैं पहला और आखिरी रिकॉर्ड दिखाता हूं:
उदाहरण 2:
आइए समान फ़ील्ड वाले केवल तीन रिकॉर्ड लौटाएँ जैसा कि पहले उदाहरण में देखा गया है।
परिणाम:
केस ऑब्जेक्ट में मौजूद पहले दो रिकॉर्ड वापस कर दिए जाते हैं।
उदाहरण 3:
आइए क्वेरी में WHERE स्थिति निर्दिष्ट करें जो 'नई' स्थिति के साथ रिकॉर्ड का चयन करती है।
परिणाम:
पाँच रिकॉर्ड 'नई' स्थिति के साथ मौजूद हैं।
एपेक्स में कस्टम रेस्ट रिसोर्स
हम सेल्सफोर्स एपेक्स का उपयोग कर सकते हैं जो वर्कबेंच में यूआरआई निर्दिष्ट करके सेल्सफोर्स ऑब्जेक्ट से रिकॉर्ड लौटाता है। एपेक्स में REST लिखने के लिए, हमें कुछ एनोटेशन का उपयोग करना होगा जो आपके एपेक्स क्लास में REST API तक पहुंच बनाते हैं। सुनिश्चित करें कि हमारा शीर्ष वर्ग विश्व स्तर पर स्थिर होना चाहिए।
1. @RestResource एनोटेशन
इस एनोटेशन का उपयोग सक्षम करने के लिए किया जाता है जो एपेक्स क्लास को REST संसाधन के रूप में उजागर करता है। यह यूआरएलमैपिंग को एक पैरामीटर के रूप में लेता है जिसका उपयोग वर्कबेंच में यूआरआई का पता लगाने के लिए किया जाता है।
सिंटैक्स: @RestResource(urlMapping='/Version/ApexClassName/')
'संस्करण' आपका वर्कबेंच संस्करण है जैसे V56.0 और 'एपेक्सक्लासनाम' आपका एपेक्स क्लास है जहां बाकी एपीआई संसाधन शामिल हैं।
2. @Httpएनोटेशन प्राप्त करें
इस एनोटेशन का उपयोग सक्षम करने के लिए किया जाता है जो एपेक्स क्लास को REST संसाधन के रूप में उजागर करता है। इसे तब कहा जाता है जब HTTP GET अनुरोध सर्वर पर भेजा जाता है और निर्दिष्ट संसाधन लौटाता है।
सिंटैक्स: @httpGet
उदाहरण 1: एकल परम
'RestApi_Get_Record.apxc' एपेक्स क्लास लिखें जिसमें केस ऑब्जेक्ट से आईडी, केस नंबर, स्थिति, प्राथमिकता और मूल को वापस करने के लिए 'रेस्ट गेट' विधि शामिल है।
@ विश्रामसंसाधन ( यूआरएलमैपिंग = '/v56.0/RestApi_Get_Record/' )वैश्विक वर्ग रेस्टएपीआई_गेट_रिकॉर्ड {
// विश्राम - विधि प्राप्त करें
@ httpप्राप्त करें
वैश्विक स्थैतिक केस getCaseDetails ( ) {
// ऑब्जेक्ट बनाएं के लिए केस वस्तु
केस केस_ओबीजे = नया केस ( ) ;
नक्शा < स्ट्रिंग, स्ट्रिंग > पैराम्समैप = रेस्टकॉन्टेक्स्ट.request.params;
// लाओ मामला पहचान
स्ट्रिंग कैसिड =paramsMap.get ( 'input_id' ) ;
// SOQL क्वेरी जो करेगी वापस करना पहचान , केस संख्या, स्थिति, प्राथमिकता, केस से उत्पत्ति
// केस ऑब्जेक्ट
केस_ओबीजे = [ चुनना पहचान , केस नंबर, स्थिति, प्राथमिकता, केस से उत्पत्ति जहां आईडी =: केसआईडी ] ;
वापस करना केस_ओबीजे;
}
}
यूआरआई और परिणाम:
वर्कबेंच पर जाएं और REST एक्सप्लोरर पर नेविगेट करें। इनपुट_आईडी पैरामीटर में आईडी को 5002t00000Pdzr2AAB के रूप में पास करें।
/ सेवा / शीर्षस्थ / v56.0 / रेस्टएपी_गेट_रिकॉर्ड / ? इनपुट_आईडी =5002t00000Pdzr2AAB
व्याख्या:
- 'केस_ओबीजे' केस के लिए एक ऑब्जेक्ट बनाएं।
- restContext.request.params का उपयोग करके पैरामीटर प्राप्त करें।
- परम इनपुट_आईडी से केस आईडी प्राप्त करें और इसे केसिड वेरिएबल में संग्रहीत करें।
- SOQL क्वेरी लिखें जो 'केसिड' केस के केस ऑब्जेक्ट से आईडी, केस नंबर, स्थिति, प्राथमिकता, केस की उत्पत्ति लौटाती है।
- केस ऑब्जेक्ट (केस_ओबीजे) लौटाएं।
उदाहरण 2: एकाधिक पैरामीटर
पिछले एपेक्स क्लास का उपयोग करें और आईडी के साथ 'स्थिति' पैरामीटर प्राप्त करें। वर्कबेंच यूआरआई में इन दो पैरामीटरों को निर्दिष्ट करें जो '&' से अलग हैं।
@ विश्रामसंसाधन ( यूआरएलमैपिंग = '/v56.0/RestApi_Get_Record/' )वैश्विक वर्ग रेस्टएपीआई_गेट_रिकॉर्ड {
// विश्राम - विधि प्राप्त करें
@ httpप्राप्त करें
वैश्विक स्थैतिक केस getCaseDetails ( ) {
// ऑब्जेक्ट बनाएं के लिए केस वस्तु
केस केस_ओबीजे = नया केस ( ) ;
नक्शा < स्ट्रिंग, स्ट्रिंग > id_param =restContext.request.params;
नक्शा < स्ट्रिंग, स्ट्रिंग > status_param =restContext.request.params;
// id_param को केस_आईडी में प्राप्त करें
स्ट्रिंग केस_आईडी = id_param.get ( 'input_id' ) ;
// स्टेटस_परम को केस_स्टेटस में प्राप्त करें
स्ट्रिंग केस_स्टेटस = स्टेटस_परम.गेट ( 'दर्जा' ) ;
केस_ओबीजे = [ चुनना पहचान ,केस नंबर, स्थिति, प्राथमिकता, केस से उत्पत्ति जहां आईडी =:केस_आईडी और स्थिति =:केस_स्टेटस ] ;
वापस करना केस_ओबीजे;
}
}
यूआरआई और परिणाम:
वर्कबेंच पर जाएं और REST एक्सप्लोरर पर नेविगेट करें। URI में इनपुट_आईडी को 5002t00000PdzqwAAB और स्थिति को 'बंद' के रूप में पास करें।
/ सेवा / शीर्षस्थ / v56.0 / रेस्टएपी_गेट_रिकॉर्ड / ? इनपुट_आईडी =5002t00000PdzqwAAB & दर्जा =बंद
निष्कर्ष
हमने वर्कबेंच का उपयोग करके Salesforce REST API के माध्यम से Salesforce रिकॉर्ड पुनर्प्राप्त करने के तीन परिदृश्यों पर चर्चा की। एक विशिष्ट रिकॉर्ड वापस करने के लिए, हमें यूआरआई में पैरामीटर के रूप में आईडी पास करके एसओब्जेक्ट निर्दिष्ट करना होगा। इसी तरह, हम विशिष्ट रिकॉर्ड प्राप्त करने के लिए क्वेरी पैरामीटर पास करते हैं। एपेक्स का उपयोग करके, हम एकल/एकाधिक पैरामीटर के आधार पर रिकॉर्ड का चयन करने के लिए अपनी स्वयं की 'गेट' विधि बना सकते हैं।