תוסף Salesforce

אתם צופים במסמכי התיעוד של Apigee Edge.
כדאי לעיין במסמכי התיעוד של Apigee X.
מידע

גרסה: 2.0.2

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

התוכן הזה מספק הפניה להגדרת התוסף הזה ולשימוש בו.

דרישות מוקדמות

התוכן הזה מספק הפניה להגדרת התוסף הזה ולשימוש בו. לפני שמשתמשים בתוסף משרת proxy ל-API באמצעות מדיניות ExtensionCallout, צריך:

  1. יוצרים זוג של מפתח פרטי או אישור RSA x509.

    תשתמשו במפתח הפרטי (‎.key) כפרטי כניסה כשמגדירים את התוסף. תשתמשו בקובץ האישור (‎.crt) כשתיצרו אפליקציה מקושרת שתעניק לתוסף גישה ל-Salesforce.

    openssl req -x509 -sha256 -nodes -days 36500 -newkey rsa:2048 -keyout salesforce.key -out salesforce.crt
    
    
  2. הגדרת אפליקציה מקושרת

    אפליקציה מקושרת של Salesforce תספק גישה לתוסף Salesforce. הוראות להגדרת האפליקציה

  3. מקבלים את טוקן הצרכן של האפליקציה המקושרת. התוסף ישתמש בו כדי לבצע אימות מול האפליקציה.

    1. בהגדרות של Salesforce, בתפריט הניווט הימני, עוברים אל Apps > App Manager (אפליקציות > מרכז ניהול האפליקציות).
    2. ברשימה, מוצאים את האפליקציה המקושרת שיצרתם.
    3. בתפריט הנפתח שמשמאל בשורה של האפליקציה, לוחצים על הצגה.
    4. בקטע API (Enable OAuth Settings) (ממשק API (הפעלת הגדרות OAuth)), מאתרים את Consumer Key (מפתח צרכן) ומעתיקים את הערך שלו למקום בטוח לשימוש כשמגדירים את התוסף.

הגדרת אפליקציה מקושרת לגישה של התוסף

כדי שהתוסף של Salesforce יוכל לגשת ל-Salesforce, צריך ליצור אפליקציה מקושרת של Salesforce שדרכה התוסף יוכל להתחבר ל-Salesforce.

ב-Salesforce, אפליקציה מקושרת מאפשרת לאפליקציות חיצוניות להתחבר ל-Salesforce באמצעות ממשקי API.

כדי להגדיר אפליקציה מקושרת

  1. נכנסים ל-Salesforce.
  2. לוחצים על סמל גלגל השיניים בפינה השמאלית העליונה ואז על הגדרה.
  3. בחלונית הניווט הימנית, מרחיבים את האפשרויות אפליקציות > המרכז לניהול אפליקציות.
  4. בדף App Manager (המרכז לניהול אפליקציות), לוחצים על New Connected App (אפליקציה מקושרת חדשה).
  5. בקטע מידע בסיסי, ממלאים את שדות החובה. הערכים הם לצרכי הנהלת חשבונות, והתוסף לא משתמש בהם.
  6. בקטע API (Enable OAuth Settings) (ממשק API (הפעלת הגדרות OAuth)), מסמנים את תיבת הסימון Enable OAuth Settings (הפעלת הגדרות OAuth).
  7. מזינים כתובת URL של קריאה חוזרת, למרות שהתוסף לא משתמש בה. אפשר להשתמש ב-http://localhost/ או במארח אחר של placeholder.
  8. מסמנים את תיבת הסימון שימוש בחתימות דיגיטליות.
  9. בקטע Use digital signatures (שימוש בחתימות דיגיטליות), לוחצים על Choose File (בחירת קובץ) כדי לאתר ולהעלות את salesforce.crt שיצרתם קודם.
  10. בקטע Selected OAuth Scopes (היקף הרשאות נבחר של OAuth), מוסיפים את ההרשאות הבאות כך שיופיעו בקטע Selected OAuth Scopes:
    • גישה לנתונים וניהול שלהם (API)
    • ביצוע בקשות בשמכם בכל שלב (refresh_token, offline_access)
  11. לוחצים על שמירה. אם יש שגיאות, יכול להיות שתצטרכו ליצור מחדש את קובץ salesforce.crt ולהעלות אותו.
  12. בדף האפליקציה שמופיע, לוחצים על ניהול.
  13. בדף 'מרכז ניהול האפליקציות' של האפליקציה שיצרתם, לוחצים על עריכת מדיניות.
  14. בקטע OAuth policies (מדיניות OAuth), לוחצים על התפריט הנפתח Permitted Users (משתמשים מורשים) ואז על Admin approved users are pre-authorized (משתמשים שאושרו על ידי האדמין מורשים מראש).
  15. לוחצים על שמירה.
  16. חוזרים לדף האפליקציה, ובקטע פרופילים לוחצים על ניהול פרופילים.
  17. בדף הקצאת פרופיל לאפליקציה, מסמנים את תיבות הסימון של פרופילי המשתמשים שיכולים להשתמש באפליקציה הזו.

    חשוב לבחור פרופיל שמתאים למשתמש ששם המשתמש שלו ישמש להגדרת התוסף. כמו כן, חשוב לוודא שלפחות למשתמשים עם הרשאת אדמין יש גישה לאפליקציה הזו.

    אפשר לראות את הגדרות הפרופיל של המשתמש ב-Salesforce. באזור הגדרה, מרחיבים את האפשרות משתמשים > משתמשים, מאתרים את המשתמש שהתוסף ייצג ואז מאתרים את הפרופיל שלו בעמודה פרופיל.

  18. לוחצים על שמירה.

מידע על Salesforce

‫Salesforce היא פלטפורמה לניהול קשרי לקוחות (CRM). ניהול קשרי לקוחות (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 סוג אובייקט S של הרשומות שרוצים להוסיף. מחרוזת ללא. כן.
רשומות מערך של רשומות 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 מערך של שגיאות, אם יש כאלה, שזוהו במהלך הביצוע. מערך ללא. כן.

אחזור

שליפת רשומות כאובייקטים מסוג sObject לפי המזהים שלהן. הפונקציה מחזירה את כל השדות של סוג ה-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 של רשומות לאחזור. מקסימום: 1,000. מערך ללא. כן.
allOrNone true כדי שהפעולה כולה תיכשל אם חלק כלשהו מהבקשה ייכשל. בוליאני false לא.

תשובה

‫records מערך של אובייקטים מסוג sObject שמיוצגים כ-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 מספר הרשומות שמוחזרות על ידי השאילתה. מספר שלם ללא. כן.
רשומות מערך של רשומות שהוחזרו כאובייקטים מסוג sObject ב-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 שמכיל אובייקטים של sObject שמופיעים ברשימה בפורמט 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 סוג אובייקט s של הרשומות שרוצים למחוק. מחרוזת ללא. כן.
מזהים מערך של מזהי sObject של רשומות למחיקה. מקסימום: 1,000. מערך ללא. כן.

תשובה

מערך results שמכיל את תוצאות הפעולה.

{
  results:[
    { id: '0011U00000LQ76KQAT', success: true, errors: [] },
    { id: '0011U00000LQ76LQAT', success: true, errors: [] }
  ]
}
נכס תיאור סוג ברירת מחדל חובה
results[*].id מזהה sObject של הרשומה שצוינה. מחרוזת ללא. כן.
results[*].success ‫true אם הפעולה הצליחה עבור הרשומה. בוליאני ללא. כן.
results[*].errors מערך של שגיאות, אם יש כאלה, שזוהו במהלך הביצוע. מערך ללא. כן.

getAccessToken

מקבלים טוקן גישה ל-Salesforce.com API. אפשר להשתמש בו כדי לשלוח שאילתות לממשקי REST API.

תחביר

<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. ללא. כן.