Salesforce एक्सटेंशन

Apigee Edge का दस्तावेज़ देखा जा रहा है.
Apigee X के दस्तावेज़ पर जाएं.
info

वर्शन: 2.0.2

आपके Salesforce खाते में मौजूद डेटा को ऐक्सेस करना. डेटा डालना, अपडेट करना, वापस पाना, और क्वेरी करना.

इस कॉन्टेंट में, इस एक्सटेंशन को कॉन्फ़िगर करने और इस्तेमाल करने के बारे में जानकारी दी गई है.

ज़रूरी शर्तें

इस कॉन्टेंट में, इस एक्सटेंशन को कॉन्फ़िगर करने और इस्तेमाल करने के बारे में जानकारी दी गई है. 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 सेटअप में, बाईं ओर मौजूद नेविगेशन में, ऐप्लिकेशन > ऐप्लिकेशन मैनेजर पर जाएं.
    2. सूची में, कनेक्ट किया गया वह ऐप्लिकेशन ढूंढें जिसे आपने बनाया है.
    3. ऐप्लिकेशन की लाइन में दाईं ओर मौजूद ड्रॉप-डाउन से, देखें पर क्लिक करें.
    4. एपीआई (OAuth सेटिंग चालू करें) में जाकर, उपयोगकर्ता कुंजी ढूंढें. इसके बाद, इसकी वैल्यू को किसी सुरक्षित जगह पर कॉपी करें, ताकि एक्सटेंशन को कॉन्फ़िगर करते समय इसका इस्तेमाल किया जा सके.

एक्सटेंशन के ज़रिए ऐक्सेस करने के लिए, कनेक्ट किया गया ऐप्लिकेशन सेट अप करना

Salesforce एक्सटेंशन को Salesforce का ऐक्सेस देने से पहले, आपको Salesforce से कनेक्ट किया गया एक ऐसा ऐप्लिकेशन बनाना होगा जिसके ज़रिए एक्सटेंशन, Salesforce से कनेक्ट हो सके.

Salesforce में, कनेक्ट किया गया ऐप्लिकेशन, बाहरी ऐप्लिकेशन को एपीआई के ज़रिए Salesforce से कनेक्ट करने का तरीका उपलब्ध कराता है.

कनेक्ट किया गया ऐप्लिकेशन सेट अप करने के लिए

  1. Salesforce में साइन इन करें.
  2. सबसे ऊपर दाईं ओर मौजूद, गियर आइकॉन पर क्लिक करें. इसके बाद, सेटअप पर क्लिक करें.
  3. बाईं ओर मौजूद नेविगेशन में, ऐप्लिकेशन > ऐप्लिकेशन मैनेजर को बड़ा करें.
  4. ऐप्लिकेशन मैनेजर पेज पर, कनेक्ट किया गया नया ऐप्लिकेशन पर क्लिक करें.
  5. बुनियादी जानकारी में जाकर, ज़रूरी फ़ील्ड में जानकारी भरें. ये वैल्यू, हिसाब-किताब रखने के लिए होती हैं. इनका इस्तेमाल एक्सटेंशन नहीं करता.
  6. एपीआई (OAuth सेटिंग चालू करें) में जाकर, OAuth सेटिंग चालू करें चेकबॉक्स को चुनें.
  7. एक्सटेंशन इसका इस्तेमाल नहीं करता है, लेकिन कॉलबैक यूआरएल डालें. http://localhost/ या किसी अन्य प्लेसहोल्डर होस्ट का इस्तेमाल किया जा सकता है.
  8. डिजिटल हस्ताक्षर इस्तेमाल करें चेकबॉक्स चुनें.
  9. डिजिटल हस्ताक्षर इस्तेमाल करें में जाकर, फ़ाइल चुनें पर क्लिक करें. इसके बाद, पहले जनरेट किया गया salesforce.crt ढूंढें और उसे अपलोड करें.
  10. चुने गए OAuth के दायरे सेक्शन में, इन्हें जोड़ें, ताकि ये चुने गए OAuth के दायरे में शामिल हो जाएं:
    • अपने डेटा को ऐक्सेस और मैनेज करना (एपीआई)
    • किसी भी समय आपकी ओर से अनुरोध पूरे करना (refresh_token, offline_access)
  11. सेव करें पर क्लिक करें. अगर कोई गड़बड़ी है, तो आपको salesforce.crt फ़ाइल को फिर से जनरेट करके अपलोड करना पड़ सकता है.
  12. इसके बाद, ऐप्लिकेशन के पेज पर मैनेज करें पर क्लिक करें.
  13. आपने जिस ऐप्लिकेशन को अभी बनाया है उसके लिए, App Manager पेज पर नीतियों में बदलाव करें पर क्लिक करें.
  14. OAuth नीतियां में जाकर, अनुमति वाले उपयोगकर्ता ड्रॉप-डाउन पर क्लिक करें. इसके बाद, एडमिन से मंज़ूरी पा चुके उपयोगकर्ताओं को पहले से अनुमति मिली हुई है पर क्लिक करें.
  15. सेव करें पर क्लिक करें.
  16. ऐप्लिकेशन पेज पर वापस जाएं. इसके बाद, प्रोफ़ाइलें में जाकर, प्रोफ़ाइलें मैनेज करें पर क्लिक करें.
  17. ऐप्लिकेशन प्रोफ़ाइल असाइनमेंट पेज पर, उन उपयोगकर्ता प्रोफ़ाइलों के लिए चेक बॉक्स चुनें जो इस ऐप्लिकेशन का इस्तेमाल कर सकती हैं.

    पक्का करें कि आपने ऐसी प्रोफ़ाइल चुनी हो जो उस उपयोगकर्ता से जुड़ी हो जिसका उपयोगकर्ता नाम, एक्सटेंशन को कॉन्फ़िगर करते समय इस्तेमाल किया जाएगा. यह भी पक्का करें कि कम से कम सिस्टम एडमिन के पास इस ऐप्लिकेशन का ऐक्सेस हो.

    Salesforce में जाकर, उपयोगकर्ता के लिए प्रोफ़ाइल सेटिंग देखी जा सकती है. सेटअप सेक्शन में, उपयोगकर्ता > उपयोगकर्ता को बड़ा करें. इसके बाद, उस उपयोगकर्ता को ढूंढें जिसे एक्सटेंशन दिखाएगा. फिर, प्रोफ़ाइल कॉलम में उसकी प्रोफ़ाइल ढूंढें.

  18. सेव करें पर क्लिक करें.

Salesforce के बारे में जानकारी

Salesforce एक कस्टमर रिलेशनशिप मैनेजमेंट (सीआरएम) प्लैटफ़ॉर्म है. कस्टमर रिलेशनशिप मैनेजमेंट (सीआरएम) की मदद से, कंपनियां अपने ग्राहकों की ज़रूरतों को समझ पाती हैं. साथ ही, ग्राहकों की जानकारी और उनके साथ होने वाले इंटरैक्शन को बेहतर तरीके से मैनेज करके, उनकी समस्याओं को हल कर पाती हैं. यह सब एक ही प्लैटफ़ॉर्म पर होता है. इस प्लैटफ़ॉर्म को किसी भी डेस्कटॉप या डिवाइस से ऐक्सेस किया जा सकता है.

कार्रवाइयां

इंसर्ट करें

रिकॉर्ड को 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 टाइप जिन्हें शामिल करना है. स्ट्रिंग कोई नहीं. हां.
रिकॉर्ड JSON में sObject रिकॉर्ड का कलेक्शन. ज़्यादा से ज़्यादा: 1,000. Array कोई नहीं. हां.
allOrNone true का इस्तेमाल करके, अपडेट के किसी भी हिस्से के काम न करने पर पूरे अपडेट को फ़ेल किया जा सकता है. बूलियन गलत नहीं.

जवाब

यह results अरे है. इसमें इंसर्ट ऑपरेशन के नतीजे शामिल होते हैं.

{
  results: [
    { id: '0011U00000LQ76KQAT', success: true, errors: [] },
    { id: '0011U00000LQ76LQAT', success: true, errors: [] }
  ]
}
प्रॉपर्टी ब्यौरा टाइप डिफ़ॉल्ट ज़रूरी है
results[*].id नए रिकॉर्ड के लिए जनरेट किया गया sObject आईडी. स्ट्रिंग कोई नहीं. हां.
results[*].success true अगर रिकॉर्ड डाला गया हो. बूलियन कोई नहीं. हां.
results[*].errors अगर स्क्रिप्ट चलाने के दौरान कोई गड़बड़ी होती है, तो गड़बड़ियों की जानकारी देने वाला कलेक्शन. Array कोई नहीं. हां.

अपडेट करें

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 टाइप. स्ट्रिंग कोई नहीं. हां.
रिकॉर्ड JSON में sObject रिकॉर्ड का कलेक्शन. अपडेट किए जाने वाले हर रिकॉर्ड में, रिकॉर्ड के आईडी की वैल्यू शामिल होनी चाहिए. ज़्यादा से ज़्यादा: 1,000. Array कोई नहीं. हां.
allOrNone true का इस्तेमाल करके, अपडेट के किसी भी हिस्से के काम न करने पर पूरे अपडेट को फ़ेल किया जा सकता है. बूलियन गलत नहीं.

जवाब

यह results अरे है. इसमें अपडेट के नतीजे शामिल होते हैं.

{
  results: [
    { id: '0011U00000LQ76KQAT', success: true, errors: [] },
    { id: '0011U00000LQ76LQAT', success: true, errors: [] }
  ]
}
पैरामीटर ब्यौरा टाइप डिफ़ॉल्ट ज़रूरी है
results[*].id अपडेट किए गए रिकॉर्ड के लिए जनरेट किया गया sObject आईडी. स्ट्रिंग कोई नहीं. हां.
results[*].success true अगर रिकॉर्ड डाला गया हो. बूलियन कोई नहीं. हां.
results[*].errors अगर स्क्रिप्ट चलाने के दौरान कोई गड़बड़ी होती है, तो गड़बड़ियों की जानकारी देने वाला कलेक्शन. Array कोई नहीं. हां.

वैल्यू पाएं

रिकॉर्ड को उनके आईडी के हिसाब से 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 टाइप जिन्हें वापस पाना है. स्ट्रिंग कोई नहीं. हां.
आईडी यह उन sObject आईडी रिकॉर्ड का कलेक्शन है जिन्हें वापस पाना है. ज़्यादा से ज़्यादा: 1,000. Array कोई नहीं. हां.
allOrNone true का इस्तेमाल किया जाता है, ताकि अनुरोध का कोई भी हिस्सा पूरा न होने पर, पूरी कार्रवाई को रद्द किया जा सके. बूलियन गलत नहीं.

जवाब

sObjects का records ऐरे, जिसे JSON के तौर पर दिखाया गया है. ध्यान दें कि ऑब्जेक्ट की सभी प्रॉपर्टी को JSON में शामिल किया जाता है. भले ही, प्रॉपर्टी की वैल्यू शून्य हो.

{
  records: [
    { sobject-json },
    { sobject-json }
  ]
}

querySOQL

Salesforce ऑब्जेक्ट क्वेरी लैंग्वेज (एसओक्यूएल) का इस्तेमाल करके, Salesforce.com से क्वेरी करें.

सिंटैक्स

<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 क्वेरी से मिले रिकॉर्ड की संख्या. पूर्णांक कोई नहीं. हां.
रिकॉर्ड JSON में sObjects के तौर पर दिखाए गए रिकॉर्ड का कलेक्शन. ज़्यादा से ज़्यादा: 1,000. Array कोई नहीं. हां.
done क्वेरी ऑपरेशन पूरा होने पर true. बूलियन कोई नहीं. हां.

सूची

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 ऐरे में, JSON के तौर पर लिस्ट किए गए sObjects शामिल होते हैं.

{
  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 टाइप. स्ट्रिंग कोई नहीं. हां.
आईडी मिटाए जाने वाले रिकॉर्ड के लिए sObject आईडी का कलेक्शन. ज़्यादा से ज़्यादा: 1,000. Array कोई नहीं. हां.

जवाब

कार्रवाई के नतीजों वाला results अरे.

{
  results:[
    { id: '0011U00000LQ76KQAT', success: true, errors: [] },
    { id: '0011U00000LQ76LQAT', success: true, errors: [] }
  ]
}
प्रॉपर्टी ब्यौरा टाइप डिफ़ॉल्ट ज़रूरी है
results[*].id बताए गए रिकॉर्ड का sObject आईडी. स्ट्रिंग कोई नहीं. हां.
results[*].success true अगर रिकॉर्ड के लिए कार्रवाई पूरी हो गई है. बूलियन कोई नहीं. हां.
results[*].errors अगर स्क्रिप्ट चलाने के दौरान कोई गड़बड़ी होती है, तो गड़बड़ियों की जानकारी देने वाला कलेक्शन. Array कोई नहीं. हां.

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 Salesforce संगठन के लिए इस्तेमाल किए गए इंस्टेंस का यूआरएल. स्ट्रिंग कोई नहीं. हां.
आईडी कनेक्ट किए गए ऐप्लिकेशन का आईडी. स्ट्रिंग कोई नहीं. हां.
tokenType ऐक्सेस टोकन का टाइप. स्ट्रिंग धारक हां.

कॉन्फ़िगरेशन का रेफ़रंस

एपीआई प्रॉक्सी में इस एक्सटेंशन का इस्तेमाल करने के लिए, इसे कॉन्फ़िगर और डिप्लॉय करते समय यहां दी गई जानकारी का इस्तेमाल करें.

सामान्य एक्सटेंशन प्रॉपर्टी

हर प्रॉपर्टी के लिए नीचे दी गई प्रॉपर्टी मौजूद हैं.

प्रॉपर्टी जानकारी डिफ़ॉल्ट ज़रूरी है
name वह नाम, जिसे आप एक्सटेंशन का यह कॉन्फ़िगरेशन दे रहे हैं. कभी नहीं हां
packageName एक्सटेंशन पैकेज का नाम, जो Apigee Edge से दिया गया है. कभी नहीं हां
version उस एक्सटेंशन पैकेज का वर्शन नंबर जिससे आपको एक्सटेंशन कॉन्फ़िगर करना है. कभी नहीं हां
configuration आप जिस एक्सटेंशन को जोड़ रहे हैं उसके लिए खास तौर पर कॉन्फ़िगरेशन वैल्यू. इस एक्सटेंशन पैकेज के लिए प्रॉपर्टी देखें कभी नहीं हां

इस एक्सटेंशन पैकेज के लिए प्रॉपर्टी

इस एक्सटेंशन के लिए, कॉन्फ़िगरेशन की इन प्रॉपर्टी की वैल्यू तय करें.

प्रॉपर्टी ब्यौरा डिफ़ॉल्ट ज़रूरी है
अनुमति देने वाले सर्वर का यूआरएल Salesforce से अनुमति लेते समय इस्तेमाल किया जाने वाला यूआरएल. आम तौर पर, यह https://login.salesforce.com होता है कोई नहीं. हां.
कनेक्ट किए गए ऐप्लिकेशन की उपभोक्ता कुंजी यह उपभोक्ता कुंजी, Salesforce ने उस कनेक्ट किए गए ऐप्लिकेशन के लिए दी है जिसे आपने बनाया है. उपयोगकर्ता कुंजी वापस पाने के लिए, ज़रूरी शर्तें में दिए गए निर्देश देखें. कोई नहीं. हां.
क्रेडेंशियल Apigee Edge कंसोल में डालने पर, यह salesforce.key फ़ाइल का कॉन्टेंट होता है. इसे आपने ऊपर दिए गए चरणों में जनरेट किया था. Management API का इस्तेमाल करके भेजे जाने पर, यह salesforce.key फ़ाइल से जनरेट की गई base64-encoded वैल्यू होती है. कोई नहीं. हां.
Salesforce उपयोगकर्ता का उपयोगकर्ता नाम कनेक्ट किए गए उस ऐप्लिकेशन से जुड़ा उपयोगकर्ता नाम जिसे आपने बनाया है. Salesforce एक्सटेंशन इसका इस्तेमाल, Salesforce से अनुमति पाने के लिए करेगा. कोई नहीं. हां.