استخدام عمليات الكتابة التحديث والحذف باستخدام واجهة API الويب للمداخل
يمكنك تنفيذ عمليات API للويب المتوفرة في البوابات. تتكون عمليات واجهة API الويب من طلبات واستجابات HTTP. توفر هذه المقالة عينة من عمليات القراءة والتحديث والحذف والطرق وURI ونموذج JSON الذي يمكنك استخدامه في طلبات HTTP.
هام
- يجب أن يكون إصدار المدخل 9.3.3.x أو إصدار أحدث حتى تعمل هذه الميزة.
المتطلبات
تمكين الجدول والحقل لعمليات واجهة API الويب. مزيد من المعلومات: إعدادات الموقع لواجهة API الويب
تنتقل واجهة API الويب للمداخل إلى سجلات الجدول وتتبع أذونات الجدول الممنوحة للمستخدمين من خلال أدوار الويب المقترنة. تأكد من تكوين أذونات الجدول الصحيحة. مزيد من المعلومات: إنشاء أدوار الويب
إنشاء سجل في جدول
إنشاء أساسي
| العملية | الطريقة | URI | عينة JSON |
|---|---|---|---|
| إنشاء أساسي | نشر | [Portal URI]/_api/accounts | {"الاسم":"عينة حساب"} |
نموذج JSON لإنشاء سجلات جدول ذات صلة في عملية واحدة
على سبيل المثال، سيؤدي نص الطلب التالي الذي تم نشره في مجموعة جداول الحساب إلى إنشاء مجموعة من أربعة جداول جديدة — بما في ذلك الحساب — في سياق إنشاء الجدول.
- يتم إنشاء جهة اتصال لأنها محددة كخاصية لخاصية تنقل أحادية القيمة
primarycontactid. - يتم إنشاء فرصة بسبب تعريفها ككائن داخل صفيف تم تعيينه إلى قيمة خاصية تنقل ذات قيم خاصة بمجموعة
opportunity_customer_accounts. - يتم إنشاء مهمة بسبب تعريفها ككائن داخل صفيف تم تعيينه إلى قيمة خاصية تنقل ذات قيم خاصة بمجموعة
Opportunity_Tasks.
{
"name": "Sample Account",
"primarycontactid":
{
"firstname": "Alton",
"lastname": "Stott"
},
"opportunity_customer_accounts":
[
{
"name": "Opportunity associated to Sample Account",
"Opportunity_Tasks":
[
{ "subject": "Task associated to opportunity" }
]
}
]
}
إقران سجلات الجدول عند الإنشاء
| العملية | الطريقة | URI | عينة JSON |
|---|---|---|---|
| إقران سجلات الجدول عند الإنشاء | نشر | [Portal URI]/_api/accounts | {"name":"Sample Account","primarycontactid@odata.bind":"/contacts(00000000-0000-0000-0000-000000000001)"} |
عينة JSON لإنشاء تعليق عبر واجهة برمجة التطبيقات للويب
{
"new_attribute1": "test attribute 1",
"new_attribute2": "test attribute 2",
"new_comments": "test comments",
"new_recordurl": recordURL,
"new_feedback_Annotations":
[
{
"notetext": "Screenshot attached",
"subject": "Attachment",
"filename": file.name,
"mimetype": file.type,
"documentbody": base64str,
}
]
}
documentbody سيحتوي على المرفق كسلسلة base64.
تحديث السجلات وحذفها باستخدام واجهة API للويب
تحديث أساسي
| العملية | الطريقة | URI | عينة JSON |
|---|---|---|---|
| تحديث أساسي | PATCH | [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000001) | { "name": "Updated Sample Account ", "creditonhold": true, "address1_latitude": 47.639583, "description": "This is the updated description of the sample account", "revenue": 6000000, "accountcategorycode": 2 } |
تحديث قيمة خاصية فردية
| العملية | الطريقة | URI | عينة JSON |
|---|---|---|---|
| تحديث قيمة خاصية فردية | PUT | [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000001)/name | {"value": "Updated Sample Account Name"} |
حذف قيمة خاصية فردية
| العملية | الطريقة | URI |
|---|---|---|
| حذف قيمة خاصية فردية | المفتاح DELETE | [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000001)/description |
الحذف الأساسي
| العملية | الطريقة | URI |
|---|---|---|
| الحذف الأساسي | المفتاح DELETE | [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000001) |
إقران الجداول وإلغاء إقرانها باستخدام واجهة API للويب
إضافة مرجع إلى خاصية تنقل ذات قيمة المجموعة
| العملية | الطريقة | URI | عينة JSON |
|---|---|---|---|
| إضافة مرجع إلى خاصية تنقل ذات قيمة المجموعة | نشر | [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)/opportunity_customer_accounts/$ref | {"@odata.id":"[Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)"} |
إزالة مرجع إلى جدول
| العملية | الطريقة | URI |
|---|---|---|
| إزالة مرجع إلى جدول | المفتاح DELETE | [Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)/opportunity_customer_accounts/$ref?$id=[Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001) |
إزالة مرجع إلى جدول لخاصية تنقل أحادية القيمة
بالنسبة لخاصية تنقل أحادية القيمة، أزل معلمة سلسلة الاستعلام $id.
| العملية | الطريقة | URI |
|---|---|---|
| إزالة مرجع إلى جدول لخاصية تنقل أحادية القيمة | المفتاح DELETE | [Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)/customerid_account/$ref |
تغيير المرجع في خاصية تنقل أحادية القيمة
| العملية | الطريقة | URI | عينة JSON |
|---|---|---|---|
| تغيير المرجع في خاصية تنقل أحادية القيمة | PUT | [Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001)/customerid_account/$ref | {"@odata.id":"[Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)"} |
إقران الجداول عند الإنشاء
يمكن إنشاء جداول جديدة مع العلاقات باستخدام الإدراج العميق.
إقران الجداول عند التحديث باستخدام خاصية تنقل أحادية القيمة
يمكنك إقران الجداول عند التحديث باستخدام نفس الرسالة الموضحة في التحديث الأساسي، سابقًا في هذا الموضوع، ولكن يجب عليك استخدام التعليق التوضيحي @odata.bind لتعيين قيمة خاصية تنقل أحادية القيمة. يغير المثال التالي الحساب المقترن بفرصة باستخدام خاصية التنقل ذات قيمة فردية customerid_account.
إقران الجداول عند التحديث باستخدام خاصية تنقل أحادية القيمة
| العملية | الطريقة | URI | عينة JSON |
|---|---|---|---|
| إقران الجداول عند التحديث باستخدام خاصية تنقل أحادية القيمة | PATCH | [Portal URI]/_api/opportunities(00000000-0000-0000-0000-000000000001) | {"customerid_account@odata.bind":"[Portal URI]/_api/accounts(00000000-0000-0000-0000-000000000002)"} |
عينات AJAX لواجهة API للويب
توضح هذه العينة كيفية إنشاء سجلات الجدول وتحديثها وحذفها باستخدام JavaScript غير المتزامن وXML (AJAX).
وظيفة Wrapper AJAX
(function(webapi, $){
function safeAjax(ajaxOptions) {
var deferredAjax = $.Deferred();
shell.getTokenDeferred().done(function (token) {
// add headers for AJAX
if (!ajaxOptions.headers) {
$.extend(ajaxOptions, {
headers: {
"__RequestVerificationToken": token
}
});
} else {
ajaxOptions.headers["__RequestVerificationToken"] = token;
}
$.ajax(ajaxOptions)
.done(function(data, textStatus, jqXHR) {
validateLoginSession(data, textStatus, jqXHR, deferredAjax.resolve);
}).fail(deferredAjax.reject); //AJAX
}).fail(function () {
deferredAjax.rejectWith(this, arguments); // on token failure pass the token AJAX and args
});
return deferredAjax.promise();
}
webapi.safeAjax = safeAjax;
})(window.webapi = window.webapi || {}, jQuery)
إنشاء
webapi.safeAjax({
type: "POST",
url: "/_api/accounts",
contentType: "application/json",
data: JSON.stringify({
"name": "Sample Account"
}),
success: function (res, status, xhr) {
//print id of newly created table record
console.log("entityID: "+ xhr.getResponseHeader("entityid"))
}
});
تحديث
webapi.safeAjax({
type: "PATCH",
url: "/_api/accounts(00000000-0000-0000-0000-000000000001)",
contentType: "application/json",
data: JSON.stringify({
"name": "Sample Account - Updated"
}),
success: function (res) {
console.log(res);
}
});
حذف
webapi.safeAjax({
type: "DELETE",
url: "/_api/accounts(00000000-0000-0000-0000-000000000001)",
contentType: "application/json",
success: function (res) {
console.log(res);
}
});
الخطوة التالية
برنامج تعليمي: استخدام واجهة API الويب للمدخل
(راجع أيضاً )
نظرة عامة على واجهة برمجة تطبيقات (API) الويب للمداخل عمليات القراءة في المداخل باستخدام واجهة API الويب
ملاحظة
هل يمكنك إخبارنا عن تفضيلات لغة التوثيق الخاصة بك؟ شارك في استطلاع قصير. (يرجى ملاحظة أن هذا الاستطلاع باللغة الإنجليزية)
سيستغرق الاستطلاع حوالي سبع دقائق. لا يتم جمع أي بيانات شخصية (بيان الخصوصية).
الملاحظات
إرسال الملاحظات وعرضها المتعلقة بـ