Pastaba.
Prieigai prie šio puslapio reikalingas įgaliojimas. Galite bandyti prisijungti arba pakeisti katalogus.
Prieigai prie šio puslapio reikalingas įgaliojimas. Galite bandyti pakeisti katalogus.
Šiame straipsnyje pateikiami darbo užsakymų kūrimo Dynamics 365 Field Service naudojant Dataverse žiniatinklio API pavyzdžiai. Pavyzdžiuose naudojamas objektas msdyn_workorder .
Būtinosios sąlygos
- Dynamics 365 Field Service aplinka su žiniatinklio API galiniu punktu (pvz.,
https://yourorg.api.crm.dynamics.com/api/data/v9.2/). - Autentifikuota užklausa naudojant "OAuth 2.0". Sužinokite daugiau apie autentifikavimą "Dataverse" naudojant žiniatinklio API.
- Esami reikiamų peržvalgos laukų įrašai:
-
Paslaugos sąskaita (
accountsubjektas) -
Darbo užsakymo tipas (
msdyn_workordertypeobjektas) -
Kainoraštis (
pricelevelobjektas)
-
Paslaugos sąskaita (
Svarbu
Toliau pateiktuose pavyzdžiuose pateikiami GUID yra fiktyvūs. Pakeiskite juos faktiniais įrašų ID iš savo "Dynamics 365" aplinkos.
Vieno darbo užsakymo kūrimas
Siųsti užklausą POSTmsdyn_workorders objektų rinkiniui, kad būtų sukurtas darbo užsakymas. Sužinokite daugiau lentelės eilutės kūrimas naudojant žiniatinklio API.
HTTP užklausa
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 atsakymas
Sėkminga užklausa pateikiama HTTP 204 No Content su antrašte, OData-EntityId kurioje yra naujo darbo užsakymo įrašo URL.
Kelių darbo užsakymų kūrimas
Norėdami sukurti kelis darbo užsakymus vienoje užklausoje, naudokite veiksmą.CreateMultiple Tai našesnis nei atskiros POST užklausos ar paketinės operacijos. Sužinokite daugiau skyriuje Masinių operacijų pranešimų naudojimas.
HTTP užklausa
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 atsakymas
Sėkminga užklausa grįžta HTTP 200 OK su sukurtų įrašų ID.
{
"@odata.context": "[Organization URL]/api/data/v9.2/$metadata#Microsoft.Dynamics.CRM.CreateMultipleResponse",
"Ids": [
"c1d2e3f4-5678-9abc-def0-111111111111",
"c1d2e3f4-5678-9abc-def0-222222222222"
]
}
Darbo užsakymo gavimas
Sukūrę darbo užsakymą, nuskaitykite jį su užklausa 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>
Atsakas
{
"@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"
}
Pastaba.
Lauke msdyn_name yra automatiškai priskirtas darbo užsakymo numeris, kurį sugeneravo "Field Service". Reikšmės msdyn_address1 ir msdyn_city užpildomos iš tarnybos abonemento įrašo.
Klaidų tvarkymas
Dažniausi atsakymai į klaidas kuriant darbo užsakymus:
| Būsenos kodas | Priežastis | Vertinimas |
|---|---|---|
400 Bad Request |
Trūksta privalomų laukų arba neleistinos lauko reikšmės. | Patikrinkite, ar visi privalomi laukai (msdyn_serviceaccount, msdyn_workordertype, msdyn_pricelist, msdyn_systemstatusmsdyn_taxable, ) yra įtraukti su galiojančiomis reikšmėmis. |
400 Bad Request (kodas 0x80060888) |
Peržvalgos lauko reikšmė yra plikas GUID be objekto rinkinio kelio. | Naudokite visą OData objekto nuorodos formatą, pvz. /accounts(guid) , vietoj tik GUID. |
401 Unauthorized |
Trūksta prieigos atpažinimo ženklo arba jo galiojimo laikas baigėsi. | Atnaujinkite arba gaukite naują "OAuth 2.0" prieigos atpažinimo ženklą. |
403 Forbidden |
Nepakankamos teisės. | Įsitikinkite, kad vartotojas turi saugos vaidmenį "Field Service" – dispečeris arba "Field Service" – administratorius . |
404 Not Found |
Nurodyto peržvalgos įrašo nėra. | Patikrinkite, ar aptarnavimo sąskaitos, darbo užsakymo tipo ir kainoraščio GUID nurodo esamus įrašus. |