أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلى
مستندات Apigee X. info
الإصدار: 2.0.2
الوصول إلى البيانات في حسابك على Salesforce إدراج البيانات وتعديلها واستردادها والاستعلام عنها
يوفّر هذا المحتوى مرجعًا لإعداد هذه الإضافة واستخدامها.
المتطلبات الأساسية
يوفّر هذا المحتوى مرجعًا لإعداد هذه الإضافة واستخدامها. قبل استخدام الإضافة من خادم وكيل لواجهة برمجة التطبيقات باستخدام سياسة 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، انتقِل إلى التطبيقات > إدارة التطبيقات في شريط التنقّل الأيمن.
- في القائمة، حدِّد موقع التطبيق المرتبط الذي أنشأته.
- من القائمة المنسدلة على يسار صف التطبيق، انقر على عرض.
- ضمن واجهة برمجة التطبيقات (تفعيل إعدادات OAuth)، ابحث عن مفتاح المستهلك وانسخ قيمته إلى مكان آمن لاستخدامه عند ضبط الإضافة.
إعداد تطبيق مرتبط للسماح للإضافة بالوصول إليه
قبل أن تتمكّن إضافة Salesforce من الوصول إلى Salesforce، عليك إنشاء تطبيق Salesforce مرتبط يمكن من خلاله ربط الإضافة بـ Salesforce.
في Salesforce، يوفّر تطبيق مرتبط طريقة لربط التطبيقات الخارجية بـ Salesforce من خلال واجهات برمجة التطبيقات.
لإعداد تطبيق مرتبط، اتّبِع الخطوات التالية:
- سجِّل الدخول إلى Salesforce.
- انقر على رمز الترس في أعلى اليسار، ثم انقر على الإعداد.
- في شريط التنقّل على يمين الصفحة، وسِّع التطبيقات > إدارة التطبيقات.
- في صفحة إدارة التطبيقات، انقر على تطبيق مرتبط جديد.
- ضمن المعلومات الأساسية، املأ الحقول المطلوبة. هذه القيم مخصّصة لحفظ السجلات، ولا تستخدمها الإضافة.
- ضِمن واجهة برمجة التطبيقات (تفعيل إعدادات OAuth)، ضَع علامة في مربّع الاختيار تفعيل إعدادات OAuth.
- على الرغم من أنّ الإضافة لا تستخدمه، أدخِل عنوان URL لرد الاتصال. يمكنك استخدام
http://localhost/أو مضيف عنصر نائب آخر. - ضَع علامة في مربّع الاختيار استخدام التوقيعات الرقمية.
- ضمن استخدام التواقيع الرقمية، انقر على اختيار ملف لتحديد موقع
salesforce.crtالذي أنشأته سابقًا وتحميله. - في قسم نطاقات OAuth المحدّدة، أضِف ما يلي ليكون ضمن نطاقات OAuth المحدّدة:
- الوصول إلى بياناتك وإدارتها (api)
- تنفيذ الطلبات نيابةً عنك في أي وقت (refresh_token وoffline_access)
- انقر على حفظ. في حال حدوث أي أخطاء، قد تحتاج إلى إعادة إنشاء ملف
salesforce.crtوتحميله. - في صفحة التطبيق الناتجة، انقر على إدارة.
- في صفحة "إدارة التطبيقات" للتطبيق الذي أنشأته للتو، انقر على تعديل السياسات.
- ضمن سياسات OAuth، انقر على القائمة المنسدلة المستخدمون المسموح لهم، ثم انقر على المستخدمون الذين وافق عليهم المشرف لديهم إذن مسبق.
- انقر على حفظ.
- بالعودة إلى صفحة التطبيق، انقر على إدارة الملفات الشخصية ضمن الملفات الشخصية.
في صفحة تعيين ملف التطبيق، ضَع علامة في مربّعات ملفات المستخدمين التي يمكنها استخدام هذا التطبيق.
احرص على اختيار ملف دفع يتوافق مع المستخدم الذي ستستخدم اسم المستخدم الخاص به عند إعداد الإضافة. تأكَّد أيضًا من أنّ مستخدمي "مشرف النظام" على الأقل يمكنهم الوصول إلى هذا التطبيق.
يمكنك الاطّلاع على إعدادات الملف الشخصي للمستخدم في 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 الحد الأقصى: 1000 | مصفوفة | بلا عُري | نعم. |
| allOrNone | true لتعذُّر التحديث بأكمله في حال تعذُّر أي جزء منه |
منطقي | خطأ | لا. |
الردّ
صفيف 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 يجب أن يتضمّن كل سجلّ تريد تعديله قيمة المعرّف الخاص به. الحد الأقصى: 1000 | مصفوفة | بلا عُري | نعم. |
| allOrNone | true لتعذُّر التحديث بأكمله في حال تعذُّر أي جزء منه |
منطقي | خطأ | لا. |
الردّ
صفيف 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 للسجلات المطلوب استردادها | سلسلة | بلا عُري | نعم. |
| ids | مصفوفة من سجلات أرقام تعريف sObject المطلوب استردادها الحد الأقصى: 1000 | مصفوفة | بلا عُري | نعم. |
| allOrNone | true لتعذُّر العملية بأكملها في حال تعذُّر أي جزء من الطلب. |
منطقي | خطأ | لا. |
الردّ
صفيفة records من عناصر sObject يتم تمثيلها بتنسيق JSON. يُرجى العِلم أنّ جميع سمات العناصر مضمّنة في JSON، حتى إذا كانت قيمة السمة فارغة.
{
records: [
{ sobject-json },
{ sobject-json }
]
}
querySOQL
استعلم عن Salesforce.com باستخدام لغة طلبات البحث الخاصة بكائنات Salesforce (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 الحد الأقصى: 1000 | مصفوفة | بلا عُري | نعم. |
| تم | 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 | لا. |
| offset | إزاحة السجلات المطلوب إدراجها | عدد صحيح | 0 |
لا. |
الردّ
مصفوفة records تحتوي على عناصر sObject مُدرَجة بتنسيق JSON.
{
records: [
{ sobject-json },
{ sobject-json }
]
}
حذف
احذف السجلات التي تحمل أرقام التعريف المحدّدة.
البنية
<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 للسجلات المطلوب حذفها | سلسلة | بلا عُري | نعم. |
| ids | مصفوفة من معرّفات sObject للسجلات المطلوب حذفها. الحد الأقصى: 1000 | مصفوفة | بلا عُري | نعم. |
الردّ
مصفوفة results تحتوي على نتائج العملية
{
results:[
{ id: '0011U00000LQ76KQAT', success: true, errors: [] },
{ id: '0011U00000LQ76LQAT', success: true, errors: [] }
]
}
| الموقع | الوصف | النوع | تلقائي | مطلوب |
|---|---|---|---|---|
| results[*].id | معرّف sObject للسجلّ المحدّد. | سلسلة | بلا عُري | نعم. |
| results[*].success | true إذا نجحت العملية في السجلّ. |
منطقي | بلا عُري | نعم. |
| results[*].errors | مصفوفة الأخطاء التي تم رصدها أثناء التنفيذ، إن وُجدت | مصفوفة | بلا عُري | نعم. |
getAccessToken
الحصول على رمز الدخول إلى واجهة برمجة التطبيقات في Salesforce.com يمكن استخدامها لطلب بيانات من واجهات 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 | اكتب رمز الدخول. | سلسلة | الحامل | نعم. |
مرجع الإعدادات
استخدِم ما يلي عند ضبط هذه الإضافة ونشرها لاستخدامها في خوادم 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. | بلا عُري | نعم. |