Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede, Dataverse Web API kullanarak Dynamics 365 Field Service iş siparişleri oluşturma örnekleri sağlanır. Örneklerde msdyn_workorder varlığı kullanılır.
Önkoşullar
- Web API uç noktasına sahip bir Dynamics 365 Field Service ortamı (örneğin,
https://yourorg.api.crm.dynamics.com/api/data/v9.2/). - OAuth 2.0 kullanan kimliği doğrulanmış istek. Web API'siyle Dataverse'de kimlik doğrulaması hakkında daha fazla bilgi edinin.
- Gerekli arama alanları için mevcut kayıtlar:
-
Hizmet Hesabı (
accountvarlık) -
İş Emri Türü (
msdyn_workordertypevarlık) -
Fiyat Listesi (
pricelevelvarlık)
-
Hizmet Hesabı (
Önemli
Aşağıdaki örneklerde yer alan GUID'ler kurgusaldır. Bunları Dynamics 365 ortamınızdaki gerçek kayıt kimlikleriyle değiştirin.
Tek bir iş emri oluşturma
İş emri oluşturmak üzere msdyn_workorders varlık kümesine POST isteği gönderin.
Web API'sini kullanarak tablo satırı oluşturma bölümünde daha fazla bilgi edinin.
HTTP isteği
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 yanıtı
Başarılı bir istek, yeni iş emri kaydının URL'sini içeren bir OData-EntityId başlığıyla birlikte HTTP 204 No Content döndürür.
Birden çok iş emri oluşturma
Tek bir istekte birden çok iş emri oluşturmak için eylemi kullanın CreateMultiple . Bu, tek tek POST isteklerinden veya toplu işlemlerden daha yüksek performanslıdır.
Toplu işlem iletilerini kullanma bölümünde daha fazla bilgi edinin.
HTTP isteği
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 yanıtı
Başarılı bir istek, oluşturulan kayıtların kimlikleriyle birlikte HTTP 200 OK döndürür.
{
"@odata.context": "[Organization URL]/api/data/v9.2/$metadata#Microsoft.Dynamics.CRM.CreateMultipleResponse",
"Ids": [
"c1d2e3f4-5678-9abc-def0-111111111111",
"c1d2e3f4-5678-9abc-def0-222222222222"
]
}
İş siparişi alma
Bir iş emri oluşturduktan sonra onu bir GET talebiyle alın.
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>
Yanıt
{
"@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"
}
Uyarı
msdyn_name alanı, Field Service tarafından oluşturulan, otomatik olarak atanan iş emri numarasını içerir.
msdyn_address1 ve msdyn_city değerleri hizmet hesabı kaydından doldurulur.
Hata işleme
İş emirleri oluşturulurken sık karşılaşılan hata yanıtları:
| Durum Kodu | Nedeni | Çözüm |
|---|---|---|
400 Bad Request |
Gerekli alanlar veya geçersiz alan değerleri eksik. | Tüm gerekli alanların (msdyn_serviceaccount, msdyn_workordertype, msdyn_pricelist, msdyn_systemstatus, ) msdyn_taxablegeçerli değerlerle eklendiğini doğrulayın. |
400 Bad Request (kod 0x80060888) |
Arama alanı değeri, varlık kümesi yolu olmayan çıplak bir GUID'dir. | Tam OData varlık başvuru biçimini kullanın, örneğin yalnızca GUID yerine /accounts(guid). |
401 Unauthorized |
Eksik veya süresi dolmuş erişim belirteci. | Yeni bir OAuth 2.0 erişim belirtecini yenileyin veya alın. |
403 Forbidden |
Yetersiz ayrıcalıklar. | Kullanıcının Alan Hizmeti - Dağıtıcı veya Alan Hizmeti - Yönetici güvenlik rolüne sahip olduğundan emin olun. |
404 Not Found |
Başvurulan arama kaydı mevcut değil. | Hizmet Hesabı, İş Siparişi Türü ve Fiyat Listesi GUID'lerinin var olan kayıtlara başvurduğunu doğrulayın. |