אחזר רשומות באמצעות Rest API ב-Salesforce

Hzr Rswmwt B Mz Wt Rest Api B Salesforce



במדריך זה, נדון כיצד לאחזר את רשומות Salesforce עם REST API דרך Workbench ב-Salesforce. כחלק ממדריך זה, נדון כיצד להשתמש ב-Workbench, להביא רשומות ספציפיות באמצעות sObject, ואחזר רשומות מרובות מאובייקט באמצעות השאילתה ואחזר רשומות על ידי כתיבת ה-API REST המותאם אישית של Apex. אנו נשתמש באובייקט Salesforce Standard Case להדגמה. אין צורך ליצור רשומת מקרה ב-Salesforce backend. אנו משתמשים ברשומת המקרים הסטנדרטית הקיימת שמסופקת על ידי Salesforce.

הכירו את Workbench

Workbench אינו מוצר רשמי של Salesforce.com. אבל אנחנו נשתמש ב-Salesforce כדי לבצע את פעולות מניפולציית הנתונים כמו בחירה, הוספה, העלאה, עדכון ומחיקה רק על ידי כניסה לחשבון Salesforce שלך ​​(תומך גם בארגז חול וגם בהפקה). זהו האתר הרשמי להתחבר ל-Workbench עם Salesforce: https://workbench.developerforce.com/login.php .

נכון לעכשיו, השאר את גרסת ה-API כקיימת בלבד ולחץ על כפתור 'התחבר עם Salesforce'.









אנחנו צריכים את ה-REST Explorer. נווט אל הכרטיסייה 'כלי עזר' ולחץ על 'REST Explorer'.







אתה תראה את ממשק המשתמש כמו באיור הבא. עלינו לבחור ב-GET כדי להביא את הרשומות מ-Salesforce בכל המדריך הזה. עלינו לציין את ה-URI שמביא את רשומות Salesforce וללחוץ על כפתור 'ביצוע'.



אחזר רשומה ספציפית עם מזהה Salesforce

בהתבסס על מזהה הרשומה של Salesforce, אנו יכולים להביא את כל הרשומה של Salesforce. עלינו להגדיר את ה-URI באופן הבא:

/ שירותים / נתונים / v56.0 / מתבכיינים / objectAPIName / תְעוּדַת זֶהוּת

כאן, ה-'objectAPIName' הוא האובייקט Salesforce Standard/Custom וה-'id' מתייחס למזהה Salesforce.

לַחֲזוֹר:

תקבל את התגובה הגולמית HTTP/1.1 200 OK בפורמט JSON כמו בקטע הבא:

{
'תכונות' : {
'סוּג' :
'כתובת אתר' :
} ,
'שדה' : ערך,
...
}

דוגמא:

בדוגמה זו, אנו מביאים את רשומת המקרה 5005i00000W4GM5AAN.

סוּג: / שירותים / נתונים / v56.0 / מתבכיינים / מקרה / 5005i00000W4GM5AAN

תוֹצָאָה:

אנו יכולים לראות שהתגובה נוצרת בפורמט JSON.

אנחנו יכולים גם לראות את התוצאות ישירות מכאן:

אחזר מספר רשומות עם שאילתה

הגיע הזמן לאחזר מספר רשומות מאובייקט Salesforce. בעבר, ציינו את הנושאים ב-URI. כאן, עלינו לציין שאילתה שלוקחת את השאילתה כפרמטר.

URI: שירותים / נתונים / v57.0 / שאילתא / ? ש =SELECT+field1,field2,....+from+ObjectAPIName

עלינו להשתמש ב-'+' כמפריד כדי להצטרף למילות המפתח בשאילתה. זה מחזיר את totalSize ומתעד בתיקייה. שם התיקיה עבור כל רשומה הוא [פריט 1],...[פריט n].

דוגמה 1:
הבה נחזיר את הרשומות הכוללות את ה-CaseNumber, הסטטוס, העדיפות והתיאור מאובייקט ה-Case.

/ שירותים / נתונים / v57.0 / שאילתא / ? ש =SELECT+CaseNumber,Status,Priority,Description+from+Case

תוֹצָאָה:

כאשר תלחץ על 'הרחב הכל', תראה את כל הרשומות עם התכונות והערכים שלה.

הרשו לי להראות את הרשומות הראשונות והאחרונות:

דוגמה 2:
הבה נחזיר רק שלוש רשומות עם אותם שדות כפי שנראו בדוגמה הראשונה.

/ שירותים / נתונים / v57.0 / שאילתא / ? ש =SELECT+CaseNumber,Status,Priority,Description+from+Case+limit+ 2

תוֹצָאָה:
שני הרשומות הראשונות הקיימות באובייקט Case מוחזרות.

דוגמה 3:
הבה נציין את התנאי WHERE בשאילתה שבוחרת את הרשומות עם הסטטוס 'חדש'.

/ שירותים / נתונים / v57.0 / שאילתא / ? ש =SELECT+CaseNumber,Status,Priority,Description+from+case+where+ סטָטוּס = 'חָדָשׁ'

תוֹצָאָה:

קיימות חמש רשומות עם הסטטוס 'חדש'.

משאב מנוחה מותאם אישית ב- Apex

אנו יכולים להשתמש ב-Salesforce Apex שמחזיר את הרשומה מאובייקט Salesforce על ידי ציון ה-URI ב-Workbench. כדי לכתוב REST ב- Apex, עלינו להשתמש בכמה הערות הניגשות ל- REST API במחלקת Apex שלך. ודא שמחלקת Apex שלנו חייבת להיות סטטית גלובלית.

1. הערת @RestResource

הערה זו משמשת לאפשר חשיפה של מחלקת Apex כמשאב REST. זה לוקח את urlMapping כפרמטר המשמש לאיתור ה-URI ב-Workbench.

תחביר: @RestResource(urlMapping='/Version/ApexClassName/')

'הגרסה' היא גרסת ה-Workbench שלך כמו V56.0 ו-'ApexClassName' היא מחלקת Apex שלך שבה מעורבים משאבי Rest API.

2. @HttpGet Annotation

הערה זו משמשת כדי לאפשר את החשיפה של מחלקת Apex כמשאב REST. זה נקרא כאשר בקשת HTTP GET נשלחת לשרת ומחזירה את המשאב שצוין.

תחביר: @httpGet

דוגמה 1: יחיד פרם

כתוב את מחלקת 'RestApi_Get_Record.apxc' Apex הכוללת את שיטת 'Rest Get' כדי להחזיר את המזהה, CaseNumber, המצב, העדיפות והמקור מ-case מאובייקט Case.

@ RestResource ( מיפוי url = '/v56.0/RestApi_Get_Record/' )
המחלקה העולמית RestApi_Get_Record {

// REST - קבל שיטה
@ http Get
מקרה סטטי גלובלי getCaseDetails ( ) {

// צור אובייקט ל חפץ מקרה
Case case_obj = מקרה חדש ( ) ;
מַפָּה < מחרוזת, מחרוזת > paramsMap = RestContext.request.params;

// להשיג את מקרה תְעוּדַת זֶהוּת
מחרוזת caseid =paramsMap.get ( 'מזהה_קלט' ) ;

// שאילתת SOQL שתעשה זאת לַחֲזוֹר תְעוּדַת זֶהוּת ,CaseNumber,Status,Priority,Origin from Case from
// אובייקט התיק
case_obj = [ בחר תְעוּדַת זֶהוּת ,CaseNumber,Status,Priority,Origin from Case where Id =:caseid ] ;
לַחֲזוֹר case_obj;
}
}

URI ותוצאה:

עבור אל Workbench ונווט אל REST Explorer. העבירו את המזהה כ-5002t00000Pdzr2AAB לפראם input_id.

/ שירותים / משענת קודקוד / v56.0 / RestApi_Get_Record / ? input_id =5002t00000Pdzr2AAB

הֶסבֵּר:

  • צור אובייקט עבור המקרה 'case_obj'.
  • קבל את הפרמטרים באמצעות RestContext.request.params.
  • קבל את מזהה המקרה מה-param input_id ואחסן את זה במשתנה caseid.
  • כתוב את שאילתת ה-SOQL שמחזירה את ה-ID, CaseNumber, סטטוס, עדיפות, מקור מ-case מאובייקט Case של מקרה 'caseid'.
  • החזר את אובייקט המקרה (case_obj).

דוגמה 2: פרמטרים מרובים

השתמש במחלקה הקודמת של Apex וקבל את פרמטר 'סטטוס' יחד עם המזהה. ציין את שתי הפרמטרים הללו ב-Workbench URI המופרד על ידי '&'.

@ RestResource ( מיפוי url = '/v56.0/RestApi_Get_Record/' )
המחלקה העולמית RestApi_Get_Record {

// REST - קבל שיטה
@ http Get
מקרה סטטי גלובלי getCaseDetails ( ) {

// צור אובייקט ל חפץ מקרה
Case case_obj = מקרה חדש ( ) ;
מַפָּה < מחרוזת, מחרוזת > id_param = RestContext.request.params;
מַפָּה < מחרוזת, מחרוזת > status_param = RestContext.request.params;

// הכנס את ה-id_param ל-case_id
מחרוזת case_id = id_param.get ( 'מזהה_קלט' ) ;
// קבל את ה-status_param ל-case_status
מחרוזת case_status =status_param.get ( 'סטָטוּס' ) ;

case_obj = [ בחר תְעוּדַת זֶהוּת ,CaseNumber,Status,Priority,Origin from Case שבו Id =:case_id ו-Status =: case_status ] ;
לַחֲזוֹר case_obj;
}
}

URI ותוצאה:

עבור אל Workbench ונווט אל REST Explorer. העבר את ה-input_id כ-5002t00000PdzqwAAB ואת הסטטוס כ'סגור' ב-URI.

/ שירותים / משענת קודקוד / v56.0 / RestApi_Get_Record / ? input_id =5002t00000PdzqwAAB & סטָטוּס =סגור

סיכום

דנו בשלושה תרחישים של אחזור רשומות Salesforce דרך Salesforce REST API באמצעות Workbench. כדי להחזיר רשומה ספציפית, עלינו לציין את ה-sObject על ידי העברת ה-id כפרמטר ב-URI. באופן דומה, אנו מעבירים את פרמטרי השאילתה כדי לקבל רשומות ספציפיות. באמצעות Apex, אנו יכולים ליצור שיטת 'קבל' משלנו לבחירת הרשומה על סמך פרמטרים בודדים/מרובים.