Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln innehåller exempel på hur du skapar arbetsorder i Dynamics 365 Field Service med hjälp av webb-API:et Dataverse. Exemplen använder entiteten msdyn_workorder .
Förutsättningar
- En Dynamics 365 Field Service miljö med webb-API-slutpunkten (till exempel
https://yourorg.api.crm.dynamics.com/api/data/v9.2/). - En autentiserad begäran med OAuth 2.0. Läs mer i Autentisera till Dataverse med webb-API:et.
- Befintliga poster för de nödvändiga uppslagsfälten:
-
Tjänstkonto (
accountentitet) -
Typ av arbetsorder (
msdyn_workordertypeentitet) -
Prislista (
pricelevelentitet)
-
Tjänstkonto (
Viktigt!
GUID:erna i följande exempel är fiktiva. Ersätt dem med de faktiska post-ID:na från din Dynamics 365-miljö.
Skapa en enskild arbetsordning
Skicka en POST begäran till entitetsuppsättningen msdyn_workorders för att skapa en arbetsorder. Läs mer i Skapa en tabellrad med hjälp av webb-API:et.
HTTP-begäran
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-svar
En lyckad begäran returnerar HTTP 204 No Content med en OData-EntityId-huvud som innehåller URL:en för den nya arbetsorderposten.
Skapa flera arbetsorder
Om du vill skapa flera arbetsorder i en enda begäran använder du åtgärden CreateMultiple . Detta är mer högpresterande än enskilda POST-begäranden eller batchåtgärder. Läs mer i Använda massåtgärdsmeddelanden.
HTTP-begäran
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-svar
En lyckad begäran returnerar HTTP 200 OK med ID:n för de skapade posterna.
{
"@odata.context": "[Organization URL]/api/data/v9.2/$metadata#Microsoft.Dynamics.CRM.CreateMultipleResponse",
"Ids": [
"c1d2e3f4-5678-9abc-def0-111111111111",
"c1d2e3f4-5678-9abc-def0-222222222222"
]
}
Hämta en arbetsorder
När du har skapat en arbetsorder hämtar du den med en GET begäran.
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>
Svar
{
"@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"
}
Anmärkning
Fältet msdyn_name innehåller det automatiskt tilldelade arbetsordernumret som genereras av Fälttjänst. Värdena msdyn_address1 och msdyn_city fylls i ur servicekontokontot.
Felhantering
Vanliga felsvar när du skapar arbetsorder:
| Statuskod | Förnuft | Lösning |
|---|---|---|
400 Bad Request |
Obligatoriska fält eller ogiltiga fältvärden saknas. | Kontrollera att alla obligatoriska fält (msdyn_serviceaccount, , msdyn_workordertypemsdyn_pricelist, msdyn_systemstatus, msdyn_taxable) ingår i giltiga värden. |
400 Bad Request (kod 0x80060888) |
Uppslagsfältets värde är enbart en GUID utan en entitetsuppsättningssökväg. | Använd det fullständiga OData-entitetsreferensformatet, till exempel /accounts(guid) i stället för bara GUID. |
401 Unauthorized |
Åtkomsttoken saknas eller har upphört att gälla. | Uppdatera eller hämta en ny OAuth 2.0-åtkomsttoken. |
403 Forbidden |
Otillräcklig behörighet. | Se till att användaren har säkerhetsrollen Field Service – Dispatcher eller Field Service – Administratör . |
404 Not Found |
Det finns ingen refererad uppslagspost. | Kontrollera att GUID:erna för tjänstkonto, arbetsordertyp och prislista refererar till befintliga poster. |