ওয়ার্কবেঞ্চ প্রবর্তন করা হচ্ছে
ওয়ার্কবেঞ্চ একটি অফিসিয়াল Salesforce.com পণ্য নয়। কিন্তু আমরা শুধুমাত্র আপনার Salesforce অ্যাকাউন্টে লগ ইন করে (স্যান্ডবক্স এবং প্রোডাকশন উভয়ই সমর্থন করে) নির্বাচন, সন্নিবেশ, আপসার্ট, আপডেট এবং মুছে ফেলার মতো ডেটা ম্যানিপুলেশন অপারেশন করতে Salesforce ব্যবহার করব। Salesforce এর সাথে Workbench লগইন করার জন্য এটি অফিসিয়াল ওয়েবসাইট: https://workbench.developerforce.com/login.php .
এখন পর্যন্ত, API সংস্করণটিকে শুধুমাত্র বিদ্যমান হিসাবে রাখুন এবং 'Salesforce দিয়ে লগইন করুন' বোতামে ক্লিক করুন।
আমাদের REST এক্সপ্লোরার দরকার। 'ইউটিলিটিস' ট্যাবে নেভিগেট করুন এবং 'REST Explorer' এ ক্লিক করুন।
আপনি নিম্নলিখিত চিত্রের মত UI দেখতে পাবেন। আমাদের এই সম্পূর্ণ গাইডে Salesforce থেকে রেকর্ডগুলি আনতে GET বেছে নিতে হবে। আমাদের URI নির্দিষ্ট করতে হবে যা Salesforce রেকর্ডগুলি নিয়ে আসে এবং 'Execute' বোতামে ক্লিক করুন।
সেলসফোর্স আইডি দিয়ে নির্দিষ্ট রেকর্ড পুনরুদ্ধার করুন
Salesforce রেকর্ড আইডির উপর ভিত্তি করে, আমরা Salesforce এর সম্পূর্ণ রেকর্ড আনতে পারি। আমাদের নিম্নরূপ URI সেট করতে হবে:
/ সেবা / তথ্য / v56.0 / বিষয় / objectAPINname / আইডিএখানে, 'objectAPIName' হল Salesforce Standard/Custom অবজেক্ট এবং 'id' হল Salesforce ID বোঝায়।
প্রত্যাবর্তন:
আপনি নিম্নলিখিত মত JSON ফর্ম্যাটে HTTP/1.1 200 ওকে কাঁচা প্রতিক্রিয়া পাবেন:
{'গুণাবলী' : {
'টাইপ' :
'url' :
} ,
'ক্ষেত্র' : মান,
...
}
উদাহরণ:
এই উদাহরণে, আমরা 5005i00000W4GM5AAN কেস রেকর্ড আনছি।
প্রকার: / সেবা / তথ্য / v56.0 / বিষয় / মামলা / 5005i00000W4GM5AANফলাফল:
আমরা দেখতে পাচ্ছি যে প্রতিক্রিয়া জেএসএন ফর্ম্যাটে তৈরি হয়েছে।
আমরা এখান থেকে সরাসরি ফলাফল দেখতে পারি:
ক্যোয়ারী সহ একাধিক রেকর্ড পুনরুদ্ধার করুন
সেলসফোর্স অবজেক্ট থেকে একাধিক রেকর্ড পুনরুদ্ধার করার সময় এসেছে। পূর্বে, আমরা URI-তে বিষয়গুলি নির্দিষ্ট করেছিলাম। এখানে, আমাদের একটি ক্যোয়ারী নির্দিষ্ট করতে হবে যা ক্যোয়ারীটিকে একটি প্যারামিটার হিসাবে নেয়।
URI: পরিষেবা / তথ্য / v57.0 / প্রশ্ন / ? q =নির্বাচন+ক্ষেত্র1,ক্ষেত্র2,....থেকে+অবজেক্টপিনামএকটি ক্যোয়ারীতে কীওয়ার্ড যোগ করার জন্য আমাদের একটি বিভাজক হিসাবে '+' ব্যবহার করতে হবে। এটি একটি ফোল্ডারে মোট আকার এবং রেকর্ড প্রদান করে। প্রতিটি রেকর্ডের ফোল্ডারের নাম হল [আইটেম 1],...[আইটেম n]।
উদাহরণ 1:
কেস অবজেক্ট থেকে CaseNumber, স্থিতি, অগ্রাধিকার এবং বিবরণ অন্তর্ভুক্ত রেকর্ডগুলি ফেরত দেওয়া যাক।
ফলাফল:
আপনি যখন 'অল প্রসারিত করুন' এ ক্লিক করুন, আপনি তার বৈশিষ্ট্য এবং মান সহ সমস্ত রেকর্ড দেখতে পাবেন।
আমাকে প্রথম এবং শেষ রেকর্ড দেখান:
উদাহরণ 2:
প্রথম উদাহরণে দেখা একই ক্ষেত্রগুলির সাথে শুধুমাত্র তিনটি রেকর্ড ফিরিয়ে দেওয়া যাক।
ফলাফল:
কেস অবজেক্টে উপস্থিত প্রথম দুটি রেকর্ড ফেরত দেওয়া হয়।
উদাহরণ 3:
'নতুন' স্ট্যাটাস সহ রেকর্ডগুলি নির্বাচন করে কোয়েরিতে WHERE শর্তটি উল্লেখ করা যাক।
ফলাফল:
'নতুন' স্থিতি সহ পাঁচটি রেকর্ড বিদ্যমান।
এপেক্সে কাস্টম রেস্ট রিসোর্স
আমরা সেলসফোর্স অ্যাপেক্স ব্যবহার করতে পারি যা ওয়ার্কবেঞ্চে ইউআরআই উল্লেখ করে সেলসফোর্স অবজেক্ট থেকে রেকর্ড ফেরত দেয়। Apex এ REST লিখতে, আমাদের কিছু টীকা ব্যবহার করতে হবে যা আপনার Apex ক্লাসে REST API অ্যাক্সেস করে। নিশ্চিত করুন যে আমাদের এপেক্স ক্লাস অবশ্যই বিশ্বব্যাপী স্ট্যাটিক হতে হবে।
1. @RestResource টীকা
এই টীকাটি সক্রিয় করতে ব্যবহৃত হয় যা একটি এপেক্স ক্লাসকে একটি REST সম্পদ হিসাবে প্রকাশ করে। এটি urlMapping কে একটি প্যারামিটার হিসাবে নেয় যা ওয়ার্কবেঞ্চে URI সনাক্ত করতে ব্যবহৃত হয়।
সিনট্যাক্স: @RestResource(urlMapping='/Version/ApexClassName/')
'সংস্করণ' হল আপনার ওয়ার্কবেঞ্চ সংস্করণ যেমন V56.0 এবং 'ApexClassName' হল আপনার Apex ক্লাস যেখানে বাকি API সংস্থান জড়িত।
2. @HttpGet টীকা
এই টীকাটি সক্রিয় করতে ব্যবহৃত হয় যা একটি এপেক্স ক্লাসকে একটি REST সম্পদ হিসাবে প্রকাশ করে। এটি বলা হয় যখন একটি HTTP GET অনুরোধ সার্ভারে পাঠানো হয় এবং নির্দিষ্ট সংস্থান ফেরত দেয়।
সিনট্যাক্স: @httpগেট
উদাহরণ 1: একক পরম
'RestApi_Get_Record.apxc' Apex ক্লাসটি লিখুন যেটিতে আইডি, CaseNumber, স্থিতি, অগ্রাধিকার এবং কেস অবজেক্ট থেকে কেস থেকে উৎপত্তি ফেরত দেওয়ার জন্য 'রেস্ট গেট' পদ্ধতি জড়িত।
@ RestResource ( urlMapping = '/v56.0/RestApi_Get_Record/' )গ্লোবাল ক্লাস RestApi_Get_Record {
// REST - পদ্ধতি পান
@ http পান
গ্লোবাল স্ট্যাটিক কেস getCaseDetails ( ) {
// বস্তু তৈরি করুন জন্য কেস অবজেক্ট
কেস case_obj = নতুন কেস ( ) ;
মানচিত্র < স্ট্রিং, স্ট্রিং > paramsMap = RestContext.request.params;
// পাওয়া মামলা আইডি
স্ট্রিং caseid =paramsMap.get ( 'ইনপুট_আইডি' ) ;
// SOQL কোয়েরি হবে যে ফিরে আইডি ,কেস নম্বর, স্থিতি, অগ্রাধিকার, কেস থেকে উৎপত্তি
// কেস অবজেক্ট
case_obj = [ নির্বাচন করুন আইডি ,কেস নম্বর, স্থিতি, অগ্রাধিকার, কেস থেকে উৎপত্তি যেখানে Id =:caseid ] ;
ফিরে case_obj;
}
}
URI এবং ফলাফল:
ওয়ার্কবেঞ্চে যান এবং REST এক্সপ্লোরারে নেভিগেট করুন। 5002t00000Pdzr2AAB হিসাবে idটিকে input_id প্যারামে পাস করুন৷
/ সেবা / সর্বোচ্চ / v56.0 / RestApi_Get_Record / ? input_id =5002t00000Pdzr2AAB
ব্যাখ্যা:
- 'case_obj' কেসের জন্য একটি বস্তু তৈরি করুন।
- RestContext.request.params ব্যবহার করে প্যারামগুলি পান।
- প্যারাম ইনপুট_আইডি থেকে কেস আইডি পান এবং এটি কেসিড ভেরিয়েবলে সংরক্ষণ করুন।
- SOQL ক্যোয়ারী লিখুন যা 'caseid' কেসের কেস অবজেক্ট থেকে id, CaseNumber, স্থিতি, অগ্রাধিকার, কেস থেকে উৎস প্রদান করে।
- কেস অবজেক্ট (case_obj) ফেরত দিন।
উদাহরণ 2: একাধিক পরাম
পূর্ববর্তী এপেক্স ক্লাসটি ব্যবহার করুন এবং আইডি সহ 'স্ট্যাটাস' প্যারাম পান। ওয়ার্কবেঞ্চ ইউআরআই-তে এই দুটি প্যারাম উল্লেখ করুন যা “&” দ্বারা পৃথক করা হয়েছে।
@ RestResource ( urlMapping = '/v56.0/RestApi_Get_Record/' )গ্লোবাল ক্লাস RestApi_Get_Record {
// REST - পদ্ধতি পান
@ http পান
গ্লোবাল স্ট্যাটিক কেস getCaseDetails ( ) {
// বস্তু তৈরি করুন জন্য কেস অবজেক্ট
কেস case_obj = নতুন কেস ( ) ;
মানচিত্র < স্ট্রিং, স্ট্রিং > id_param = RestContext.request.params;
মানচিত্র < স্ট্রিং, স্ট্রিং > status_param = RestContext.request.params;
// case_id এ id_param পান
স্ট্রিং case_id = id_param.get ( 'ইনপুট_আইডি' ) ;
// কেস_স্ট্যাটাসে স্ট্যাটাস_পারম পান
স্ট্রিং case_status =status_param.get ( 'স্থিতি' ) ;
case_obj = [ নির্বাচন করুন আইডি ,কেস নম্বর, স্থিতি, অগ্রাধিকার, কেস থেকে উৎপত্তি যেখানে Id =:case_id এবং স্থিতি =: case_status ] ;
ফিরে case_obj;
}
}
URI এবং ফলাফল:
ওয়ার্কবেঞ্চে যান এবং REST এক্সপ্লোরারে নেভিগেট করুন। 5002t00000PdzqwAAB হিসাবে input_id এবং URI-তে 'বন্ধ' হিসাবে স্থিতি পাস করুন৷
/ সেবা / সর্বোচ্চ / v56.0 / RestApi_Get_Record / ? input_id =5002t00000PdzqwAAB এবং অবস্থা = বন্ধ
উপসংহার
আমরা ওয়ার্কবেঞ্চ ব্যবহার করে Salesforce REST API এর মাধ্যমে Salesforce রেকর্ড পুনরুদ্ধার করার তিনটি পরিস্থিতি নিয়ে আলোচনা করেছি। একটি নির্দিষ্ট রেকর্ড ফেরত দিতে, আমাদের URI-তে প্যারামিটার হিসাবে id পাস করে sObject নির্দিষ্ট করতে হবে। একইভাবে, আমরা নির্দিষ্ট রেকর্ড পেতে ক্যোয়ারী প্যারামিটার পাস করি। Apex ব্যবহার করে, আমরা একক/একাধিক প্যারামের উপর ভিত্তি করে রেকর্ড নির্বাচন করতে আমাদের নিজস্ব 'পান' পদ্ধতি তৈরি করতে পারি।