Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Dit artikel bevat voorbeelden van het maken van werkorders in Dynamics 365 Field Service met behulp van de Dataverse Web-API. In de voorbeelden wordt de entiteit msdyn_workorder gebruikt.
Vereiste voorwaarden
- Een Dynamics 365 Field Service-omgeving met het web-API-eindpunt (bijvoorbeeld
https://yourorg.api.crm.dynamics.com/api/data/v9.2/). - Een geverifieerde aanvraag met OAuth 2.0. Meer informatie in Verifiëren bij Dataverse met de web-API.
- Bestaande records voor de vereiste opzoekvelden:
-
Serviceaccount (
accountentiteit) -
Type werkorder (
msdyn_workordertypeentiteit) -
Prijslijst (
pricelevelentiteit)
-
Serviceaccount (
Belangrijk
De GUID's in de volgende voorbeelden zijn fictief. Vervang deze door de werkelijke record-id's uit uw Dynamics 365-omgeving.
Eén werkorder maken
Verzend een POST aanvraag naar de msdyn_workorders entiteitsset om een werkorder te maken. Meer informatie vindt u in Een tabelrij maken met behulp van de web-API.
HTTP-aanvraag
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-antwoord
Een geslaagde aanvraag wordt geretourneerd HTTP 204 No Content met een OData-EntityId header die de URL van het nieuwe werkopdrachtrecord bevat.
Meerdere werkorders maken
Als u meerdere werkorders in één aanvraag wilt maken, gebruikt u de CreateMultiple actie. Dit is efficiënter dan het gebruik van afzonderlijke POST-aanvragen of batchbewerkingen. Meer informatie over bulkbewerkingsberichten gebruiken.
HTTP-aanvraag
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-antwoord
Een geslaagde aanvraag wordt geretourneerd HTTP 200 OK met de id's van de gemaakte records.
{
"@odata.context": "[Organization URL]/api/data/v9.2/$metadata#Microsoft.Dynamics.CRM.CreateMultipleResponse",
"Ids": [
"c1d2e3f4-5678-9abc-def0-111111111111",
"c1d2e3f4-5678-9abc-def0-222222222222"
]
}
Een werkorder ophalen
Nadat u een werkorder hebt gemaakt, haalt u deze op met een GET aanvraag.
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>
Antwoord
{
"@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"
}
Opmerking
Het msdyn_name veld bevat het automatisch toegewezen werkordernummer dat is gegenereerd door Field Service. De msdyn_address1 waarden en msdyn_city waarden worden ingevuld vanuit de serviceaccountrecord.
Foutafhandeling
Veelvoorkomende foutberichten bij het maken van werkorders:
| Statuscode | Reden | Oplossing |
|---|---|---|
400 Bad Request |
Ontbrekende vereiste velden of ongeldige veldwaarden. | Controleer of alle vereiste velden (msdyn_serviceaccount, msdyn_workordertype, msdyn_pricelist, msdyn_systemstatus) msdyn_taxablezijn opgenomen in geldige waarden. |
400 Bad Request (code 0x80060888) |
De waarde van het opzoekveld is een kale GUID zonder een pad naar een entiteitsset. | Gebruik de volledige OData-entiteitsreferentieindeling, bijvoorbeeld /accounts(guid) in plaats van alleen de GUID. |
401 Unauthorized |
Ontbrekend of verlopen toegangstoken. | Vernieuw of haal een nieuw OAuth 2.0-toegangstoken op. |
403 Forbidden |
Onvoldoende bevoegdheden. | Zorg ervoor dat de gebruiker de beveiligingsrol Field Service - Dispatcher of Field Service - Administrator heeft. |
404 Not Found |
Er bestaat geen opzoekrecord waarnaar wordt verwezen. | Controleer of de GUID's voor serviceaccount, werkordertype en prijslijst verwijzen naar bestaande records. |