תוסף Salesforce

אתם קוראים את מאמרי העזרה של Apigee Edge.
אפשר לעבור אל מסמכי התיעוד של Apigee X.
מידע

גרסה: 2.0.1

גישה לנתונים בחשבון 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. בדף המרכז לניהול אפליקציות, לוחצים על אפליקציה מקושרת חדשה.
  5. בקטע מידע בסיסי, ממלאים את שדות החובה. הערכים האלה משמשים לניהול חשבונות, והתוסף לא משתמש בהם.
  6. בקטע API (Enable OAuth Settings) (ממשק API (הפעלת הגדרות OAuth)), מסמנים את תיבת הסימון Enable OAuth Settings (הפעלת הגדרות OAuth).
  7. מזינים כתובת URL לקריאה חוזרת (callback), למרות שהתוסף לא משתמש בה. אתם יכולים להשתמש ב-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, לוחצים על התפריט הנפתח משתמשים מורשים ואז על משתמשים שאושרו על ידי האדמין מורשים מראש.
  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 סוג ה-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 מערך של שגיאות, אם יש כאלה, שזוהו במהלך הביצוע. מערך ללא. כן.

אחזור

אחזור רשומות כאובייקטים מסוג 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 של הרשומות לאחזור. מחרוזת ללא. כן.
מזהים מערך של מזהי 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 שיצרתם בשלבים. כששולחים אותו באמצעות API לניהול, זהו ערך בקידוד Base64 שנוצר מקובץ salesforce.key. ללא. כן.
שם המשתמש של משתמש Salesforce שם המשתמש שמשויך לאפליקציה המקושרת שיצרתם. התוסף של Salesforce ישתמש בזה כדי לקבל הרשאה מ-Salesforce. ללא. כן.