إنشاء أوامر العمل باستخدام واجهة برمجة تطبيقات ويب Dataverse

توفر هذه المقالة أمثلة لإنشاء أوامر العمل في Dynamics 365 Field Service باستخدام Dataverse Web API. تستخدم الأمثلة الكيان msdyn_workorder .

المتطلبات الأساسية

  • بيئة Dynamics 365 Field Service مع نقطة نهاية واجهة برمجة تطبيقات الويب (على سبيل المثال، https://yourorg.api.crm.dynamics.com/api/data/v9.2/).
  • طلب مصادق عليه باستخدام OAuth 2.0. تعرف على المزيد في المصادقة على Dataverse باستخدام واجهة برمجة تطبيقات الويب.
  • السجلات الموجودة لحقول البحث المطلوبة:
    • حساب الخدمة (account كيان)
    • نوع أمر التشغيل (msdyn_workordertype الجهة)
    • قائمة الأسعار (pricelevel كيان)

Important

GUIDs في الْأمثلة الْتالْية وهمية. استبدلها بمعرفات السجلات الفعلية من بيئة Dynamics 365.

إنشاء أمر عمل واحد

إرسالْ طلب POST إلى مجموعة الْكائنات msdyn_workorders، لإنشاء أمر عمل. تعرف على المزيد في إنشاء صف جدول باستخدام واجهة برمجة تطبيقات الويب.

طلب HTTP

POST [Organization URL]/api/data/v9.2/msdyn_workorders
Accept: application/json
Content-Type: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
Authorization: Bearer <access_token>

{
  "msdyn_serviceaccount@odata.bind": "/accounts(e1a2b3c4-5678-9abc-def0-1234567890ab)",
  "msdyn_workordertype@odata.bind": "/msdyn_workordertypes(a1b2c3d4-5678-9abc-def0-1234567890cd)",
  "msdyn_pricelist@odata.bind": "/pricelevels(f1e2d3c4-5678-9abc-def0-1234567890ef)",
  "msdyn_systemstatus": 690970000,
  "msdyn_taxable": false,
  "msdyn_instructions": "Install new equipment"
}

استجابة HTTP

يرجع HTTP 204 No Content الْطلب الْناجح برأس OData-EntityId يحتوي على عنوان URL لسجل أمر الْعمل الْجديد.

إنشاء أوامر عمل متعددة

لإنشاء أوامر عمل متعددة في طلب واحد، استخدم CreateMultiple الإجراء . هذا أكثر أداء من طلبات POST الفردية أو عمليات الدفعات. تعرف على الْمزيد في استخدام رسائل الْعملية الْمجمعة.

طلب HTTP

POST [Organization URL]/api/data/v9.2/msdyn_workorders/Microsoft.Dynamics.CRM.CreateMultiple
Accept: application/json
Content-Type: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
Authorization: Bearer <access_token>

{
  "Targets": [
    {
      "@odata.type": "Microsoft.Dynamics.CRM.msdyn_workorder",
      "msdyn_serviceaccount@odata.bind": "/accounts(e1a2b3c4-5678-9abc-def0-1234567890ab)",
      "msdyn_workordertype@odata.bind": "/msdyn_workordertypes(a1b2c3d4-5678-9abc-def0-1234567890cd)",
      "msdyn_pricelist@odata.bind": "/pricelevels(f1e2d3c4-5678-9abc-def0-1234567890ef)",
      "msdyn_systemstatus": 690970000,
      "msdyn_taxable": false,
      "msdyn_instructions": "Work order 1 - Install new equipment"
    },
    {
      "@odata.type": "Microsoft.Dynamics.CRM.msdyn_workorder",
      "msdyn_serviceaccount@odata.bind": "/accounts(e1a2b3c4-5678-9abc-def0-1234567890ab)",
      "msdyn_workordertype@odata.bind": "/msdyn_workordertypes(a1b2c3d4-5678-9abc-def0-1234567890cd)",
      "msdyn_pricelist@odata.bind": "/pricelevels(f1e2d3c4-5678-9abc-def0-1234567890ef)",
      "msdyn_systemstatus": 690970000,
      "msdyn_taxable": false,
      "msdyn_instructions": "Work order 2 - Preventive maintenance check"
    }
  ]
}

استجابة HTTP

طلب ناجح يرجع HTTP 200 OK مع المعرّفات للسجلات التي تم إنشاؤها.

{
  "@odata.context": "[Organization URL]/api/data/v9.2/$metadata#Microsoft.Dynamics.CRM.CreateMultipleResponse",
  "Ids": [
    "c1d2e3f4-5678-9abc-def0-111111111111",
    "c1d2e3f4-5678-9abc-def0-222222222222"
  ]
}

استرداد أمر عمل

بعد إنشاء أمر عمل، قم باسترداده بطلب GET .

GET [Organization URL]/api/data/v9.2/msdyn_workorders(<work-order-id>)?$select=msdyn_name,msdyn_systemstatus,msdyn_address1,msdyn_city
Accept: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
Authorization: Bearer <access_token>

استجابة

{
  "@odata.context": "[Organization URL]/api/data/v9.2/$metadata#msdyn_workorders(msdyn_name,msdyn_systemstatus,msdyn_address1,msdyn_city)/$entity",
  "@odata.etag": "W/\"7998533\"",
  "msdyn_workorderid": "d4e5f6a7-1234-5678-9abc-def012345678",
  "msdyn_name": "00051",
  "msdyn_systemstatus": 690970000,
  "msdyn_address1": "205 108th Ave NE",
  "msdyn_city": "Bellevue"
}

ملاحظة

msdyn_name يحتوي الحقل على رقم أمر العمل المعين تلقائيا الذي تم إنشاؤه بواسطة Field Service. msdyn_address1 يتم ملء القيم و msdyn_city من سجل حساب الخدمة.

معالجة الخطأ

استجابات الخطأ الشائعة عند إنشاء أوامر العمل:

رمز الحالة السبب القرار
400 Bad Request الحقول المطلوبة المفقودة أو قيم الحقول غير الصالحة. تحقق من تضمين كافة الحقول المطلوبة (msdyn_serviceaccount، msdyn_workordertype، msdyn_pricelist، ، msdyn_systemstatus، msdyn_taxable) مع قيم صالحة.
400 Bad Request (التعليمات البرمجية 0x80060888) قيمة حقل الْبحث هي GUID منفرد بدون مسار مرتبط بمجموعة كيان. استخدم تنسيق مرجع كيان OData الكامل، على سبيل المثال /accounts(guid) بدلا من GUID فقط.
401 Unauthorized رمز الوصول مفقود أو منتهي الصلاحية. تحديث أو الحصول على رمز وصول OAuth 2.0 جديد.
403 Forbidden امتيازات غير كافية. تأكد من أن المستخدم لديه دور أمان Field Service - Dispatcher أو Field Service - Administrator .
404 Not Found سجل البحث المشار إليه غير موجود. تحقق من أن معرفات GUID لحساب الخدمة ونوع أمر العمل وقائمة الأسعار تشير إلى سجلات موجودة.