Salesforce एक्सटेंशन

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

वर्शन: 1.0.1

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

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

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

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

  1. RSA x509 निजी पासकोड/सर्टिफ़िकेट का जोड़ा बनाएं.

    एक्सटेंशन को कॉन्फ़िगर करते समय, क्रेडेंशियल के तौर पर निजी कुंजी (.key) का इस्तेमाल किया जाएगा. Salesforce से कनेक्ट किया गया ऐसा ऐप्लिकेशन बनाते समय, आपको सर्टिफ़िकेट (.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. API (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 का इस्तेमाल किया जाता है, ताकि अनुरोध का कोई भी हिस्सा पूरा न होने पर, पूरी कार्रवाई को रद्द किया जा सके. बूलियन गलत नहीं.

जवाब

JSON के तौर पर दिखाए गए sObjects का records ऐरे. ध्यान दें कि ऑब्जेक्ट की सभी प्रॉपर्टी को 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 ऐरे में, सूची में शामिल 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 मिटाए जाने वाले रिकॉर्ड का 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 संगठन की ओर से इस्तेमाल किए गए इंस्टेंस का यूआरएल. स्ट्रिंग कोई नहीं. हां.
id कनेक्ट किए गए ऐप्लिकेशन का आईडी. स्ट्रिंग कोई नहीं. हां.
tokenType ऐक्सेस टोकन का टाइप. स्ट्रिंग धारक हां.

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

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

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

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

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

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

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

प्रॉपर्टी ब्यौरा डिफ़ॉल्ट ज़रूरी है
पुष्टि करने वाले सर्वर का यूआरएल Salesforce से अनुमति लेते समय इस्तेमाल किया जाने वाला यूआरएल. आम तौर पर, यह https://login.salesforce.com होता है कोई नहीं. हां.
कनेक्ट किए गए ऐप्लिकेशन की उपभोक्ता कुंजी यह उपभोक्ता कुंजी, Salesforce ने उस कनेक्ट किए गए ऐप्लिकेशन के लिए दी है जिसे आपने बनाया है. उपयोगकर्ता कुंजी पाने के लिए, ज़रूरी शर्तें में दिए गए निर्देश देखें. कोई नहीं. हां.
क्रेडेंशियल

Apigee Edge Console में इस्तेमाल करते समय: salesforce.key फ़ाइल का पूरा कॉन्टेंट (इसमें BEGIN और END टैग भी शामिल हैं). यह कॉन्टेंट, आपने ज़रूरी शर्तें सेक्शन में जनरेट किया था.

मैनेजमेंट एपीआई के ज़रिए भेजते समय: salesforce.key फ़ाइल से जनरेट की गई base64-encoded वैल्यू.

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