אתם צופים במסמכי העזרה של Apigee Edge.
כניסה למסמכי העזרה של Apigee X. info
גרסה: 1.0.5
לגשת לנתונים בחשבון Salesforce. הוספה, עדכון, אחזור ושאילתות של נתונים.
התוכן הזה מכיל מידע שיעזור לכם להגדיר את התוסף הזה ולהשתמש בו.
דרישות מוקדמות
התוכן הזה מכיל מידע שיעזור לכם להגדיר את התוסף הזה ולהשתמש בו. לפני שמשתמשים בתוסף משרת proxy של API באמצעות המדיניות ExtensionCallout, צריך:
יצירת זוג של מפתח פרטי/אישור RSA x509.
תשתמשו במפתח הפרטי (.key) כפרטי כניסה כשתגדירו את התוסף. תשתמשו בקובץ האישור (.crt) כשיוצרים אפליקציה מקושרת שתעניק לתוסף גישה ל-Salesforce.
openssl req -x509 -sha256 -nodes -days 36500 -newkey rsa:2048 -keyout salesforce.key -out salesforce.crt
-
אפליקציה מקושרת ל-Salesforce תספק גישה לתוסף של Salesforce. בהמשך מפורטות הוראות להגדרת האפליקציה.
מקבלים את מפתח הצרכן של האפליקציה המקושרת. התוסף ישתמש בו במהלך האימות מול האפליקציה.
- בהגדרה של Salesforce, בתפריט הניווט הימני, עוברים אל Apps (אפליקציות) > App Manager (מנהל האפליקציות).
- ברשימה, מוצאים את האפליקציה המקושרת שיצרתם.
- בתפריט הנפתח שמשמאל לשורה של האפליקציה, לוחצים על הצגה.
- בקטע API (Enable OAuth Settings), מאתרים את Consumer Key ומעתיקים את הערך שלו למקום בטוח לשימוש בזמן הגדרת התוסף.
הגדרת אפליקציה מחוברת כדי לתת לתוסף גישה
כדי שהתוסף של Salesforce יוכל לגשת ל-Salesforce, תצטרכו ליצור אפליקציה מקושרת ל-Salesforce שבאמצעותה התוסף יוכל להתחבר ל-Salesforce.
ב-Salesforce, אפליקציה מחוברת מספקת דרך לאפליקציות חיצוניות להתחבר ל-Salesforce דרך ממשקי API.
כדי להגדיר אפליקציה מחוברת
- מתחברים ל-Salesforce.
- לוחצים על סמל גלגל השיניים בפינה השמאלית העליונה ואז על הגדרה.
- בתפריט הניווט הימני, מרחיבים את האפשרות אפליקציות > מנהל האפליקציות.
- בדף App Manager, לוחצים על New Connected App.
- בקטע מידע בסיסי, ממלאים את שדות החובה. הערכים מיועדים לצורכי חשבונאות, והתוסף לא משתמש בהם.
- בקטע API (Enable OAuth Settings), מסמנים את התיבה Enable OAuth Settings.
- למרות שהתוסף לא משתמש בה, מזינים כתובת URL לקריאה חוזרת (callback). אפשר להשתמש ב-
http://localhost/
או במארח אחר של placeholder. - מסמנים את התיבה שימוש בחתימות דיגיטליות.
- בקטע שימוש בחתימות דיגיטליות, לוחצים על בחירת קובץ כדי לאתר ולהעלות את הקובץ
salesforce.crt
שיצרתם מקודם. - בקטע Selected OAuth Scopes, מוסיפים את ההרשאות הבאות כך שיופיעו בקטע Selected OAuth Scopes:
- גישה לנתונים וניהול שלהם (API)
- לבצע בקשות בשמכם בכל שלב (refresh_token, offline_access)
- לוחצים על שמירה. אם יש שגיאות, יכול להיות שתצטרכו ליצור מחדש את הקובץ
salesforce.crt
ולהעלות אותו. - בדף האפליקציה שנפתח, לוחצים על ניהול.
- בדף 'ניהול אפליקציות' של האפליקציה שיצרתם, לוחצים על עריכת המדיניות.
- בקטע OAuth policies (מדיניות OAuth), לוחצים על התפריט הנפתח Permitted Users (משתמשים מורשים) ואז על Admin approved users are pre-authorized (משתמשים שאושרו על ידי האדמין קיבלו הרשאה מראש).
- לוחצים על שמירה.
- בדף האפליקציה, בקטע פרופילים, לוחצים על ניהול פרופילים.
בדף Application Profile Assignment, מסמנים את התיבות של פרופילי המשתמשים שיכולים להשתמש באפליקציה הזו.
חשוב לבחור פרופיל שתואם למשתמש שבו תשתמשו בשם המשתמש כשתגדירו את התוסף. חשוב גם לוודא שלפחות למשתמשים עם הרשאת אדמין מערכת יש גישה לאפליקציה הזו.
אפשר לראות את הגדרת הפרופיל של המשתמש ב-Salesforce. באזור הגדרה, מרחיבים את האפשרות משתמשים > משתמשים, מאתרים את המשתמש שהתוסף ייצג ואז מאתרים את הפרופיל שלו בעמודה פרופיל.
לוחצים על שמירה.
מידע על Salesforce
Salesforce היא פלטפורמה לניהול קשרי לקוחות (CRM). ניהול קשרי לקוחות עוזר לחברות להבין את הצרכים של הלקוחות ולפתור בעיות על ידי ניהול יעיל יותר של המידע על הלקוחות והאינטראקציות איתם – והכול בפלטפורמה אחת שזמינה תמיד מכל מחשב או מכשיר.
פעולות
insert
הוספת רשומות כסוגים של sObject.
תחביר
<Action>insert</Action>
<Input><![CDATA[{
"sobject": records-sObject-type,
"records":[ records-to-insert ],
"allOrNone": true | false
}]]></Input>
דוגמה
<Action>insert</Action>
<Input><![CDATA[{
"sobject": "Account",
"records":[
{ "Name": "MyAccountName" }
],
"allOrNone": true
}]]></Input>
פרמטרים של בקשות
פרמטר | תיאור | סוג | ברירת מחדל | חובה |
---|---|---|---|---|
sobject | סוג ה-sObject של הרשומות שרוצים להוסיף. | מחרוזת | ללא. | כן. |
רשומות | מערך של רשומות sObject ב-JSON. מקסימום: 1,000. | מערך | ללא. | כן. |
allOrNone | true כדי לגרום לכישלון של כל העדכון אם חלק כלשהו ממנו נכשל. |
בוליאני | FALSE | לא. |
תשובה
מערך results
עם תוצאות של פעולת ההוספה.
{
results: [
{ id: '0011U00000LQ76KQAT', success: true, errors: [] },
{ id: '0011U00000LQ76LQAT', success: true, errors: [] }
]
}
נכס | תיאור | סוג | ברירת מחדל | חובה |
---|---|---|---|---|
results[*].id | מזהה ה-sObject שנוצר עבור הרשומה החדשה. | מחרוזת | ללא. | כן. |
results[*].success | true אם הוספת הרשומה בוצעה בהצלחה. |
בוליאני | ללא. | כן. |
results[*].errors | מערך של שגיאות, אם יש כאלה, שזוהו במהלך הביצוע. | מערך | ללא. | כן. |
עדכון
מעדכנים את הרשומות ב-Salesforce.
תחביר
<Action>update</Action>
<Input><![CDATA[{
"sobject": records-sObject-type,
"records": [ records-to-update ],
"allOrNone": true | false
}]]></Input>
דוגמה
<Action>update</Action>
<Input><![CDATA[{
"sobject": "Account",
"records":[
{
"id":"0011U00000LQ76KQAT",
"Name": "MyNewAccountName"
}
],
"allOrNone": true
}]]></Input>
פרמטרים של בקשות
פרמטר | תיאור | סוג | ברירת מחדל | חובה |
---|---|---|---|---|
sobject | סוג ה-sObject של הרשומות שרוצים לעדכן. | מחרוזת | ללא. | כן. |
רשומות | מערך של רשומות sObject ב-JSON. כל רשומה שרוצים לעדכן חייבת לכלול את ערך המזהה של הרשומה. מקסימום: 1,000. | מערך | ללא. | כן. |
allOrNone | true כדי לגרום לכישלון של כל העדכון אם חלק כלשהו ממנו נכשל. |
בוליאני | FALSE | לא. |
תשובה
מערך results
שמכיל תוצאות מהעדכון.
{
results: [
{ id: '0011U00000LQ76KQAT', success: true, errors: [] },
{ id: '0011U00000LQ76LQAT', success: true, errors: [] }
]
}
פרמטר | תיאור | סוג | ברירת מחדל | חובה |
---|---|---|---|---|
results[*].id | מזהה ה-sObject שנוצר עבור הרשומה המעודכנת. | מחרוזת | ללא. | כן. |
results[*].success | true אם הוספת הרשומה בוצעה בהצלחה. |
בוליאני | ללא. | כן. |
results[*].errors | מערך של שגיאות, אם יש כאלה, שזוהו במהלך הביצוע. | מערך | ללא. | כן. |
אחזור
אחזור רשומות כ-sObjects לפי המזהים שלהן. הפונקציה מחזירה את כל השדות של סוג ה-SObject.
תחביר
<Action>retrieve</Action>
<Input><![CDATA[{
"sobject": records-sObject-type,
"ids":[ IDs-of-records-to-retrieve ]
}]]></Input>
דוגמה
<Action>retrieve</Action>
<Input><![CDATA[{
"sobject": "Account",
"ids":["0011U00000LQ76KQAT"]
}]]></Input>
פרמטרים של בקשות
פרמטר | תיאור | סוג | ברירת מחדל | חובה |
---|---|---|---|---|
sobject | סוג ה-sObject של הרשומות לאחזור. | מחרוזת | ללא. | כן. |
ids | מערך של רשומות של מזהי sObject לאחזור. מקסימום: 1,000. | מערך | ללא. | כן. |
allOrNone | true כדי לגרום לכישלון של כל הפעולה אם חלק כלשהו מהבקשה נכשל. |
בוליאני | FALSE | לא. |
תשובה
מערך records
של sObjects שמיוצגים כ-JSON. חשוב לזכור שכל המאפיינים של האובייקטים כלולים ב-JSON, גם אם ערך המאפיין הוא null.
{
records: [
{ sobject-json },
{ sobject-json }
]
}
querySOQL
שולחים שאילתות ל-Salesforce.com באמצעות Salesforce Object Query Language (SOQL).
תחביר
<Action>querySOQL</Action>
<Input><![CDATA[{
"soql": soql-query-statement
}]]></Input>
דוגמה
<Action>querySOQL</Action>
<Input><![CDATA[{
"soql": "SELECT Id, Name FROM Account"
}]]></Input>
פרמטרים של בקשות
פרמטר | תיאור | סוג | ברירת מחדל | חובה |
---|---|---|---|---|
soql | משפט SOQL שמשמש לשאילתה. | מחרוזת | ללא. | כן. |
תשובה
תוצאות השאילתה.
{
totalSize: 2,
records: [
{
attributes: { attributes-of-record },
Id: '0011U00000LQ76KQAT',
Name: 'AccountName1'
},
{
attributes: { attributes-of-record },
Id: '0011U00000LQ76LQAT',
Name: 'AccountName2'
}
],
done: true
}
פרמטר | תיאור | סוג | ברירת מחדל | חובה |
---|---|---|---|---|
totalSize | מספר הרשומות שהוחזרו על ידי השאילתה. | מספר שלם | ללא. | כן. |
רשומות | מערך של רשומות שהוחזרו כ-sObjects ב-JSON. מקסימום: 1,000. | מערך | ללא. | כן. |
סיום | true אם פעולת השאילתה הושלמה. |
בוליאני | ללא. | כן. |
list
הצגת רשימה של רשומות ב-Salesforce.com. הפונקציה מחזירה את כל השדות של סוג ה-sObject שצוין.
תחביר
<Action>list</Action>
<Input><![CDATA[{
"sobject": records-sObject-type,
"limit": max-number-of-records,
"offset": record-index-at-which-to-begin-response-set
}]]></Input>
דוגמה
<Action>list</Action>
<Input><![CDATA[{
"sobject": "Account",
"limit": 1000,
"offset": 0
}]]></Input>
פרמטרים של בקשות
פרמטר | תיאור | סוג | ברירת מחדל | חובה |
---|---|---|---|---|
sobject | סוג ה-sObject של הרשומות שרוצים להציג ברשימה. | מחרוזת | ללא. | כן. |
הגבלה | המספר המקסימלי של רשומות להחזרה. | מספר שלם | 1000 | לא. |
לקזז | הזזה של הרשומות ברשימה. | מספר שלם | 0 |
לא. |
תשובה
מערך records
שמכיל sObjects שמפורטים כ-JSON.
{
records: [
{ sobject-json },
{ sobject-json }
]
}
del
מוחקים רשומות עם המזהים שצוינו.
תחביר
<Action>del</Action>
<Input><![CDATA[{
"sobject": records-sObject-type,
"ids":[ IDs-of-records-to-retrieve ]
}]]></Input>
דוגמה
<Action>del</Action>
<Input><![CDATA[{
"sobject": "Account",
"ids":["0011U00000LQ76KQAT"]
}]]></Input>
פרמטרים של בקשות
פרמטר | תיאור | סוג | ברירת מחדל | חובה |
---|---|---|---|---|
sobject | sObject type של הרשומות למחיקה. | מחרוזת | ללא. | כן. |
ids | מערך של מזהי sObject של רשומות למחיקה. מקסימום: 1,000. | מערך | ללא. | כן. |
תשובה
מערך results
שמכיל את תוצאות הפעולה.
{
results:[
{ id: '0011U00000LQ76KQAT', success: true, errors: [] },
{ id: '0011U00000LQ76LQAT', success: true, errors: [] }
]
}
נכס | תיאור | סוג | ברירת מחדל | חובה |
---|---|---|---|---|
results[*].id | מזהה ה-sObject של הרשומה שצוינה. | מחרוזת | ללא. | כן. |
results[*].success | true אם הפעולה בוצעה בהצלחה ברשומה. |
בוליאני | ללא. | כן. |
results[*].errors | מערך של שגיאות, אם יש כאלה, שזוהו במהלך הביצוע. | מערך | ללא. | כן. |
getAccessToken
מקבלים אסימון גישה ל-API של Salesforce.com. אפשר להשתמש בהם כדי לשלוח שאילתות לממשקי API ל-REST.
תחביר
<Action>getAccessToken</Action>
<Input><![CDATA[{}]]></Input>
פרמטרים של בקשות
ללא.
תשובה
טוקן הגישה ב-JSON.
{
"accessToken":"00D1U0000014m3hqswvoM22I5GTw9EJrztlZ8eSSka88Q",
"scope":"api",
"instanceUrl": "https://na85.salesforce.com",
"id": "https://login.salesforce.com/id/00D1U0004564mutUAA/0051U43214qecVQAQ",
"tokenType": "Bearer"
}
נכס | תיאור | סוג | ברירת מחדל | חובה |
---|---|---|---|---|
accessToken | טוקן הגישה. | מחרוזת | ללא. | כן. |
היקף | ההיקפים שבהם האסימון מספק גישה. | מחרוזת | ללא. | כן. |
instanceUrl | כתובת ה-URL של המכונה שבה משתמשת הארגון ב-Salesforce. | מחרוזת | ללא. | כן. |
id [מזהה] | המזהה של האפליקציה המקושרת. | מחרוזת | ללא. | כן. |
tokenType | מקלידים את אסימון הגישה. | מחרוזת | פרמטרים לרשת | כן. |
מסמך עזר בנושא הגדרות
השתמשו בהוראות הבאות כשמגדירים ומפרסים את התוסף הזה לשימוש בשרתי proxy ל-API.
מאפייני תוספים נפוצים
המאפיינים הבאים קיימים בכל תוסף.
נכס | תיאור | ברירת המחדל | נדרש |
---|---|---|---|
name |
השם שבחרת לתצורה הזו של התוסף. | ללא | כן |
packageName |
השם של חבילת התוסף כפי שהוא סופק על ידי Apigee Edge. | ללא | כן |
version |
מספר הגרסה של חבילת התוסף שממנה מגדירים את התוסף. | ללא | כן |
configuration |
ערך הגדרה ספציפי לתוסף שרוצים להוסיף. מאפיינים לחבילת תוספים זו | ללא | כן |
הנכסים של חבילת התוספים הזו
מציינים ערכים למאפייני התצורה הבאים שספציפיים לתוסף הזה.
נכס | תיאור | ברירת מחדל | חובה |
---|---|---|---|
כתובת ה-URL של שרת ההרשאות | כתובת ה-URL שבה משתמשים כדי לקבל הרשאה מ-Salesforce. בדרך כלל זה https://login.salesforce.com |
ללא. | כן. |
מפתח צרכן של אפליקציה מחוברת | מפתח הצרכן ש-Salesforce מספקת לאפליקציה המקושרת שיצרתם. כדי לאחזר את מפתח הצרכן, יש לפעול לפי ההוראות בקטע דרישות מוקדמות. | ללא. | כן. |
פרטי כניסה | כשמזינים את הקטע הזה במסוף Apigee Edge, הוא מכיל את התוכן של הקובץ salesforce.key שיצרתם בשלבים שלמעלה. כששולחים אותו דרך Management API, הוא ערך בקידוד base64 שנוצר מקובץ salesforce.key. | ללא. | כן. |
שם המשתמש של המשתמש ב-Salesforce | שם המשתמש שמשויך לאפליקציה המקושרת שיצרתם. התוסף של Salesforce ישתמש בזה כדי לקבל הרשאה מ-Salesforce. | ללא. | כן. |