Loo töökorraldused Dataverse'i veebi API abil

See artikkel toob näiteid töökorralduste loomisest Dynamics 365 Field Service kasutades Dataverse Web API. Näidetes kasutatakse msdyn_workorder üksust.

Eeltingimused

  • Dynamics 365 Field Service keskkond Web API lõpp-punktiga (näiteks https://yourorg.api.crm.dynamics.com/api/data/v9.2/).
  • Autentitud päring OAuth 2.0 abil. Loe lähemalt Authenticate to Dataverse veebi API-ga.
  • Olemasolevad kirjed nõutavate otsinguväljade jaoks:
    • Teenusekonto (account üksus)
    • Töökorralduse tüüp (msdyn_workordertype üksus)
    • Hinnakiri (pricelevel üksus)

Oluline

Järgmiste näidete GUID-id on väljamõeldud. Asenda need oma Dynamics 365 keskkonna tegelike kirje ID-dega.

Loo üks töökorraldus

Saada POST päring üksusele msdyn_workorders , kes on seadistatud töökorralduse loomiseks. Loe lähemalt jaotisest Create a table row using Web API.

HTTP-päring

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 vastus

Õnnestunud päring tagastab HTTP 204 No Content päise OData-EntityId , mis sisaldab uue töökorralduse kirje URL-i.

Loo mitu töökorraldust

Mitme töötellimuse loomiseks ühes päringus kasuta tegevust CreateMultiple . See on tõhusam kui üksikud POST-taotlused või partiitoimingud. Loe lähemalt jaotisest Kasuta hulgitoimingu sõnumeid.

HTTP-päring

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 vastus

Edukas päring tagastatakse HTTP 200 OK loodud kirjete ID-dega.

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

Hangi töökorraldus

Pärast töökorralduse loomist too see koos GET päringuga.

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>

Vastus

{
  "@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"
}

Märkus.

Väli msdyn_name sisaldab automaatselt määratud töökorralduse numbrit, mille genereerib Väliteenistus. Väärtused msdyn_address1 ja msdyn_city on täidetud teenusekonto kirjest.

Tõrketöötlus

Levinud veavastused töökorralduste koostamisel:

Olekukood Põhjus Eraldusvõime
400 Bad Request Puuduvad nõutud väljad või kehtetud väljaväärtused. Kontrolli, et kõik nõutud väljad (msdyn_serviceaccount, msdyn_workordertype, msdyn_pricelist, msdyn_systemstatus, msdyn_taxable) on kaasatud kehtivate väärtustega.
400 Bad Request (kood 0x80060888) Otsinguvälja väärtus on paljas GUID, millel puudub entiteedi komplekti tee. Kasuta näiteks /accounts(guid) täielikku OData entiteedi viiteformaati, mitte ainult GUID-i.
401 Unauthorized Puuduv või aegunud ligipääsumärk. Värskenda või hanki uus OAuth 2.0 ligipääsutoken.
403 Forbidden Ebapiisavad privileegid. Veendu, et kasutajal on väliteenistuse - dispetšer või väliteenistuse - administraatori turvaroll.
404 Not Found Viidatud otsingukirjet ei eksisteeri. Veendu, et teeninduskonto, töökorralduse tüübi ja hinnaloendi GUID-d viitavad olemasolevatele kirjetele.