יצירת הזמנות עבודה באמצעות ה- API של Dataverse Web

מאמר זה מספק דוגמאות ליצירת הזמנות עבודה ב- Dynamics 365 Field Service באמצעות Dataverse Web API. הדוגמאות משתמשות בישות msdyn_workorder זו.

דרישות מוקדמות

  • סביבת Dynamics 365 Field Service עם נקודת הקצה של API באינטרנט (לדוגמה, https://yourorg.api.crm.dynamics.com/api/data/v9.2/).
  • בקשה מאומתת באמצעות OAuth 2.0. קבל מידע נוסף בנושא אימות ל- Dataverse עם ה- API של האינטרנט.
  • רשומות קיימות עבור שדות בדיקת המידע הנדרשים:
    • חשבון שירות (account ישות)
    • סוג הזמנת עבודה (msdyn_workordertype ישות)
    • מחירון (pricelevel ישות)

חשוב

מזהי ה- GUID שבדוגמאות הבאות הם מלאכותיים. החלף אותם עם זהות הרשומה בפועל מהסביבה Dynamics 365 שלך.

יצירת הזמנת עבודה יחידה

שלח בקשה POST לישות msdyn_workorders המוגדרת ליצירת הזמנת עבודה. קבל מידע נוסף בנושא יצירת שורת טבלה באמצעות ה- API של האינטרנט.

בקשת 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 - דיספצ'ר, או Field Service - Administrator .
404 Not Found רשומת בדיקת מידע שאליה מתבצעת הפניה אינה קיימת. ודא כי מזהי ה- GUID עבור חשבון שירות, סוג הזמנת העבודה ו- Price List מפנים לרשומות קיימות.