Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo fornisce esempi di creazione di ordini di lavoro in Dynamics 365 Customer Voice usando l'API Web Dataverse. Negli esempi viene usata l'entità msdyn_workorder .
Prerequisiti
- Un ambiente Dynamics 365 Customer Voice con l'endpoint dell'API Web, ad esempio
https://yourorg.api.crm.dynamics.com/api/data/v9.2/. - Richiesta autenticata con OAuth 2.0. Per altre informazioni, vedere Eseguire l'autenticazione a Dataverse con l'API Web.
- Record esistenti per i campi di ricerca obbligatori:
-
Account di servizio (entità
account) -
Tipo di ordine di lavoro (
msdyn_workordertypeentità) -
Listino prezzi (
pricelevelentità)
-
Account di servizio (entità
Importante
I GUID negli esempi seguenti sono fittizi. Sostituirli con gli ID record effettivi dell'ambiente di Dynamics 365.
Creare un singolo ordine di lavoro
Inviare una POST richiesta al msdyn_workorders set di entità per creare un ordine di lavoro. Per altre informazioni, vedere Creare una riga di tabella usando l'API Web.
Richiesta 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"
}
Risposta HTTP
Una richiesta con esito positivo restituisce HTTP 204 No Content con un'intestazione OData-EntityId contenente l'URL del nuovo record dell'ordine di lavoro.
Creare più ordini di lavoro
Per creare più ordini di lavoro in una singola richiesta, usare l'azione CreateMultiple . Questa operazione è più efficiente rispetto alle singole richieste POST o alle operazioni batch. Per saperne di più, consulta Usare messaggi di operazioni in blocco.
Richiesta 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"
}
]
}
Risposta HTTP
Una richiesta con esito positivo restituisce HTTP 200 OK con gli ID dei record creati.
{
"@odata.context": "[Organization URL]/api/data/v9.2/$metadata#Microsoft.Dynamics.CRM.CreateMultipleResponse",
"Ids": [
"c1d2e3f4-5678-9abc-def0-111111111111",
"c1d2e3f4-5678-9abc-def0-222222222222"
]
}
Recuperare un ordine di lavoro
Dopo aver creato un ordine di lavoro, recuperarlo con una GET richiesta.
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>
risposta
{
"@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"
}
Annotazioni
Il msdyn_name campo contiene il numero di ordine di lavoro assegnato automaticamente generato da Field Service. I valori msdyn_address1 e msdyn_city vengono popolati dal record dell'account del servizio.
Gestione degli errori
Risposte di errore comuni durante la creazione di ordini di lavoro:
| Codice di stato | Ragione | Resolution |
|---|---|---|
400 Bad Request |
Campi obbligatori mancanti o valori di campo non validi. | Verificare che tutti i campi obbligatori (msdyn_serviceaccount, msdyn_workordertype, msdyn_pricelistmsdyn_systemstatus, , msdyn_taxable) siano inclusi con valori validi. |
400 Bad Request (codice 0x80060888) |
Il valore del campo di ricerca è un GUID bare senza un percorso del set di entità. | Usare il formato di riferimento completo dell'entità OData, ad esempio /accounts(guid) anziché solo il GUID. |
401 Unauthorized |
Token di accesso mancante o scaduto. | Aggiornare o ottenere un nuovo token di accesso OAuth 2.0. |
403 Forbidden |
Privilegi insufficienti. | Verificare che l'utente disponga del ruolo di sicurezza Field Service - Dispatcher o Field Service - Administrator . |
404 Not Found |
Un record di ricerca a cui si fa riferimento non esiste. | Verifica che i GUID per l'account del servizio, il tipo di ordine di lavoro e il listino prezzi facciano riferimento ai record esistenti. |