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.
Field Service kuruluşlarının, genellikle doğrudan müşteri tarafından bir hizmet aracı aracılığıyla iş zamanlaması gerekir. Rezervasyonlar genellikle şirketin elindeki kaynaklara ve işin gereksinimlerine göre oluşturulur.
En az Dynamics 365 Field Service v8.8.43.51 ve Universal Resource Scheduling v3.12.46.21 kullandığınızda, iş için uygun tüm kaynakları almak için msdyn_SearchResourceAvailability API'sini kullanarak işi verimli şekilde zamanlayabilirsiniz. Yazı sırasında, v3 web API çağrılarının en son sürümü msdyn_SearchResourceAvailability ve onları destekliyor.
Uyarı
API'nin en son sürümünü kullanın çünkü eski sürümler artık kullanılmayan kimlik doğrulama yöntemleri kullanabilir.
Giriş parametreleri
| Name | Türü | Açıklama | Gerekli | Default |
|---|---|---|---|---|
| Sürüm | Dize | API'nin sürüm numarası, çağrılması gereken API sürümünü tanımlar. Major.minor.patch biçimini izler.
|
Hayır | Güncel sürüm |
| IsWebApi | Boolean | Web API üzerinden program asistanını kullanmak için True olarak ayarlayın. | Evet | -Yok- |
| Gereksinim | Varlık | Bu öznitelik, kaynak kullanılabilirliğinin alındığı kaynak gereksinimini belirtir.
msdyn_resourcerequirement türünde bir varlık olması bekleniyor. Gereksinim, veritabanından önceden varolan bir kayıt veya gerekli kısıtlamalarla anında oluşturulan bir kayıt olabilir. Varlık, aramanızla ilgili tüm özellikleri içermelidir. Bu varlık için @odata.typeMicrosoft.Dynamics.CRM.msdyn_requirement olmalıdır. Aşağıdakiler doldurulacak bazı önemli özniteliklerdir:
|
Evet | -Yok- |
| Settings | Varlık | Ayarlar özniteliği, alınan kaynakları daha fazla filtrelemeye yardımcı olur. Bir varlık çantasında ayarları öznitelik olarak belirtin. Varlığın türü önemli değil. Herhangi bir varlık mantıksal adını belirtebilirsiniz. | Evet | -Yok- |
| ResourceSpecification | Varlık | Bu özniteliği resourceSpecification bir varlık torbasındaki öznitelikler olarak tanımlayın. Bu varlık için @odata.typeMicrosoft.Dynamics.CRM.expando olmalıdır. |
Hayır | Hiç kimse |
Ayarlar varlığı
Ayarlar varlığı Dataverse'te bulunmaz ancak zamanlama yardımcısı API'sinin sonuçları filtrelemesine yardımcı olan aşağıdaki özniteliklerin tümünün bir koleksiyonudur. Dolayısıyla, bu varlık için @odata.typeMicrosoft.Dynamics.CRM.expando olmalıdır.
| Name | Türü | Açıklama | Gerekli | Default |
|---|---|---|---|---|
| ConsiderSlotsWithLessThanRequiredCapacity | Boolean | Kaynağın takvimindeki kullanılabilir olası zaman aralıkları hesaplanırken gerekli kapasiteden (çabadan) daha az olan bir zaman aralığı düşünülmesi gerekiyorsa bunu Doğru olarak ayarlayın. | Hayır | Yanlış |
| ConsiderSlotsWithLessThanRequiredDuration | Boolean | Kaynağın takvimindeki kullanılabilir olası zaman aralıkları hesaplanırken gerekli süreden daha az süreye sahip bir zaman aralığı dikkate alınmalıysa bunu Doğru olarak ayarlayın. | Hayır | Yanlış |
| ConsiderSlotsWithOverlappingBooking | Boolean | Kaynağın takvimindeki olası kullanılabilir zaman aralıkları hesaplanırken çakışan rezervasyonların olduğu bir zaman aralığı dikkate alınmalıysa bunu Doğru olarak ayarlayın. | Hayır | Yanlış |
| ConsiderSlotsWithProposedBookings | Boolean | Kaynağın takvimindeki potansiyel kullanılabilir zaman aralıkları hesaplanırken önerilen rezervasyonların yer alan bir zaman aralığı dikkate alınmalıysa bunu Doğru olarak ayarlayın. | Hayır | Yanlış |
| ConsiderAppointments | Boolean | Kuruluş ve kaynak düzeyi ayarlarının yapıldığı koşulda, kaynak kullanılabilirliğini arama API'sinin var olan Dataverse randevularını kaynak üzerinde ayırmalar kabul etmesi için bu seçeneği True olarak ayarlayın. Yoğun veya Tamamlanmış durumlu randevular, operasyonların planlanması için kullanılamaz sayılır. | Hayır | Yanlış |
| ConsiderTravelTime | Boolean | Kaynağın takvimindeki olası zaman aralıkları hesaplanırken seyahat süresi dikkate alınmalıysa bunu Doğru olarak ayarlayın. | Hayır | Doğru |
| ExcludeResourceCharacteristics | Boolean | Yanıt olarak zaman dilimleri için kaynak özelliklerini hariç tutmak için bunu True olarak ayarlayın. | Hayır | Yanlış |
| MovePastStartDateToCurrentDate | Boolean | Geçmişteki bir başlangıç tarihini geçerli tarihe taşımak için bunu Doğru olarak ayarlayın. | Hayır | Yanlış |
| UseRealTimeResourceLocation | Boolean | Kaynağın takvimindeki olası zaman aralıkları hesaplanırken kaynakların gerçek zamanlı konumunun kullanılması gerekiyorsa bunu Doğru olarak ayarlayın. | Hayır | Yanlış |
| SortOrder | EntityCollection | Bir varlık koleksiyonu kullanarak sıralama düzenini belirtin. Koleksiyondaki her varlık bir sıralama ölçütünü temsil eder ve yalnızca yanıttan sıralama Resources yapabilir, ancak TimeSlots. Bu varlık için @odata.typeMicrosoft.Dynamics.CRM.expando olmalıdır. Doldurmanız gereken öznitelikler şunlardır:
|
Hayır | Hiç kimse |
| MaxResourceTravelRadius | Varlık | Bu öznitelik, bir varlıkta tanımlanabilecek en yüksek değeri belirtir. Bu varlık için @odata.typeMicrosoft.Dynamics.CRM.expando olmalıdır. Doldurmanız gereken öznitelikler şunlardır:
|
Hayır | 0 km uzaklıktadır. Bu durumda, yerinde gereksinimler için hiçbir kaynak döndürülmez. |
| MaxNumberOfResourcesToEvaluate | Tamsayı | Bu öznitelik, istek için dikkate alınılan kaynak sayısı için bir sınır tanımlar. | Hayır | Bu öznitelik API çağrısına dahil edilmediyse, sistem Edit settings for enabled entities (Edit settings'de tanımlanan Kaynak Erişilebilirliği Erişim Sınırı'nı kullanır. Çağrıya dahil edilirse, tanımlanan Kaynak Kullanılabilirliği Alma Sınırı'nın üzerine yazar. |
| ConsiderOutlookSchedules | Boolean | Outlook programları dikkate alınacaksa, bunu Trueolarak ayarlayın. Sadece 3.1.0 ve sonrasında mevcut. | Hayır | Yanlış |
Kaynak özelliği varlığı
| Name | Türü | Açıklama | Gerekli | Default |
|---|---|---|---|---|
| ResourceTypes | EntityCollection | Bu öznitelik, gereksinim için gereken kaynak türünü belirtir. Bu özniteliği belirtmek için bir varlık koleksiyonu kullanın. Koleksiyondaki her varlık bir ayrılabilir kaynak türünü temsil eder. Bu varlık için @odata.typeMicrosoft.Dynamics.CRM.msdyn_resourceType olmalıdır. Bu özellik gereklidir:
|
Hayır | Personel dışındaki tüm kaynak türleri |
| PreferredResources | EntityCollection | Bu öznitelik, gereksinim için tercih edilen kaynakları belirtir. Bu varlık koleksiyonuna kaynakları ekleyin ki mevcut kaynaklar listesinin en üstünde olduklarından emin olun. Varlık koleksiyonuna dahil olmayan kaynaklar bile listede yer alır, ancak sadece tercih edilen kaynaklardan sonra. | Hayır | Hiç kimse |
| RestrictedResources | EntityCollection | Bu öznitelik, gereksinim için dikkate alınmaması gereken kaynakları belirtir. Bu kaynağın tüm zaman dilimleri bu API'den alınan sonuçlar listesinden filtrelenmiştir. | Hayır | Hiç kimse |
| MustChooseFromResources | EntityCollection | Bu öznitelik, kullanılabilir kaynaklar listesinde olabilecek tek kaynakları belirtir. Çıkış listesinden tüm diğer sonuçları filtreler. | ||
| Sınırlamalar | Varlık | Bu öznitelik, kullanılabilir kaynakların alınmasına uygulanması gereken ek kısıtlamaları belirtir. | Hayır | Hiç kimse |
| RetrieveResourcesQueryId | Kılavuz | Kaynakları Al sorgusunun kimliği. | Hayır | Varsayılan Kaynağı Al Sorgusu Kimliği. |
| BookedResourceId | Kılavuz | Bu öznitelik, gereksinim için rezerve edilmiş kaynağı belirtir. | Hayır | Hiç kimse |
Uyarı
Preferred, Restricted ve MustChooseFrom kaynak özniteliklerini belirtmek için rezervasyon yapılabilir kaynak varlıklarından oluşan bir varlık koleksiyonunu kullanın. Koleksiyondaki her varlık, bir Tercih Edilen, Kısıtlı veya Seçmesi GerekenSeç kaynağını temsil eder. Bu özellik onlar için gereklidir:
-
Değer (Rehber): Preferred, Restricted veya MustChooseFrom kaynağının rezervasyon edilebilir kaynak kimliği. Bu varlık için
@odata.typeMicrosoft.Dynamics.CRM.msdyn_bookableresourceolmalıdır.
Sınırlamalar
Bu varlıktaki öznitelikler aracılığıyla ek kısıtlamalar belirtin. Varlığın türü önemli değil. Herhangi bir varlık mantıksal adını belirtebilirsiniz.
Hangi kısıtlamaların uygulanabileceğini belirlemek için zamanlama panosu Kaynakları Al Sorgusuna göz atın. Varsayılan olarak, aşağıdakileri içerir:
| Name | Türü | Açıklama |
|---|---|---|
| Özellikler | EntityCollection | Nitelikli bir kaynağın sahip olması gereken özellikler koleksiyonu. Her giriş, karakteristik ID'ye sahip bir characteristic içerir. İsteğe göre, kaynakları belirli bir yeterlilik seviyesine göre filtrelemek için derecelendirme değeri ID'si ile bir ratingvalue a'yı ekleyin. |
| Rolleri | EntityCollection | Nitelikli bir kaynağın sahip olması gereken rol kimlikleri topluluğu. |
| Bölgeler | EntityCollection | Bölge kimlikleri koleksiyonu. Bölgelerden birine nitelikli kaynak atanmalıdır. |
| UnspecifiedTerritory | Boolean | Bölgeler kısıtlamasıyla birlikte, bölgelerden birine nitelikli bir bölge atanması gerektiğini veya hiç bölge atanmaması gerektiğini belirtir. |
| OrganizationalUnits | EntityCollection | Kuruluş birimi kimlikleri koleksiyonu. Nitelikli bir kaynak belirtilen kuruluş birimlerinden birinin üyesi olmalıdır. |
| Takımlar | EntityCollection | Takım kimlikleri koleksiyonu. Nitelikli bir kaynak takımlardan birine ait olmalıdır (kaynak türünün bir sistem kullanıcısı olduğu anlamına gelir). |
| BusinessUnits | EntityCollection | Bir dizi iş birimi kimlikleri. Nitelikli bir kaynak departmanlardan birine ait olmalıdır (kaynağın bir sistem kullanıcısı olduğu anlamına gelir). |
Çıkış parametreleri
En yüksek düzeyde, çıktı aşağıdaki dört parametreye sahiptir. Sonuçlar varlık koleksiyonlarında ve varlıklarda temsil edilir. Yanıtlar, burada null değer olarak tanımlanan tüm öznitelikleri içermeyebilir veya NA değerleri yanıttan atlanmayabilir. Erişmeye çalışmadan önce her zaman bir özniteliğin varlığını denetleyin.
| Name | Türü | Açıklama |
|---|---|---|
| TimeSlots | EntityCollection | Zaman aralığı sonuçları koleksiyonu. Daha fazla bilgi için zaman dilimi varlığı bölümüne bakın. |
| Resources | EntityCollection | Kaynak sonuçları koleksiyonu. Kaynaklar, aşağıdaki özniteliklere sahip varlıklar topluluğu olarak temsil edilir:
|
| Related | Varlık | İlgili kaynaklar, istenen gereksinim için doğrudan nitelenmiş olmayan ancak ilişkili kaynakların kaynaklarını ve zaman aralıklarını temsil eder. Örneğin, bir ekip üyesi bir gereksinim için uygun olursa bu ekibin diğer üyeleri ilgili sonuçlar olur.
|
| Exceptions | Varlık | Bu öznitelik, oluşan herhangi bir özel durum hakkında ve kaynak aramasının kesilip kesilmediği ve nerede kesildiği hakkında bilgi içerir.
|
Zaman aralıkları varlığı
| Name | Türü | Açıklama |
|---|---|---|
| Kod | Kılavuz | Zaman aralığı için benzersiz tanımlayıcı |
| Türü | Tamsayı | Zaman dilimi türü. Aşağıdaki değerlerden biri olabilir:
|
| StartTime | Tarih Saat | Zaman diliminin başlangıç saati. Eğer gereklilik için seyahat varsa, bu zaman seyahatin başlangıç zamanıdır. Eğer yoksa, bu zaman gereksinimin başlangıç zamanıdır. |
| Varış Zamanı | Tarih Saat | Zaman diliminin varış saati. Eğer gereklilik için seyahat varsa, bu zaman seyahat tamamlandıktan sonra başlangıç zamanıdır. Yoksa zaman diliminin başlangıç saatiyle aynıdır. |
| EndTime | Tarih Saat | Zaman diliminin bitiş saati. |
| Effort | Tamsayı | Gereksinimleri yerine getirmek için kaynağın çabası veya kapasitesi. |
| ResourceRequirement | EntityReference | Zaman aralıklarının alındığı kaynak gereksinimi. |
| Potansiyel | Boolean | Zaman diliminin istenen gereksinimi karşılama potansiyeline sahip olup olmadığını gösteren bir boole değeri. |
| IsDuplicate | Boolean | Zaman diliminin yinelenen olup olmadığını gösteren bir boole değeri. |
| AllowOverlapping | Boolean | Çakışıp çakışmaya izin verilmediğini gösteren bir boole değeri. |
| Resource | Varlık | Zaman diliminin ait olduğu kaynak. Daha fazla bilgi için bkz. zaman aralığı kaynağı. |
| Location | Varlık | Konumun üç öznitelliği vardır:
|
| Seyahat | Varlık | Bu varlık, bir zaman dilimi için seyahat süresi ve mesafe bilgilerinin ayrıntılarını içerir. Öznitelikler şunlardır:
|
| İleri | Varlık | Bu varlık, seyahat süresi ve bir sonraki zaman slot rezervasyonuna olan mesafe hakkında ayrıntılar içerir.
|
| Kullanılabilirlik | Varlık | Bir zaman aralığı için ayrıntılı kullanılabilirlik bilgileri. Bu varlık zaman gruplarıyla birlikte kullanılır.
|
| TimeGroup | Varlık | Bir zaman grubuyla ilgili ayrıntılar.
|
Tip
API kullanarak rezervasyon oluştururken, tabloda tanımlanan Potansiyel alanını kullanın. Bu alanın kullanılmaması çakışan veya uygun olmayan ayırmalara yol açabilir.
Zaman aralığı kaynağı
| Name | Türü | Açıklama |
|---|---|---|
| Resource | EntityReference | Ayrılabilir kaynağına yönelik bir varlık başvurusu. |
| ResourceGroup | EntityReference | Ayrılabilir kaynak grubuna yönelik bir varlık başvurusu. |
| BusinessUnit | EntityReference | Departmana varlık referansı. |
| OrganizationalUnit | EntityReference | Kuruluş birimine varlık referansı. |
| KaynakTürü | Tamsayı | Kaynağın türü. Olası değerler için BookableResource varlığındaki ResourceType özniteliğini inceleyin. |
| PoolId | Kılavuz | Kaynağın zaman aralığı sırasında üyesi olduğu havuzun kimliği. |
| CrewId | Kılavuz | Kaynağın zaman aralığı sırasında üyesi olduğu ekibin kimliği. |
| Özellikler | EntityCollection | Rezerve edilebilir kaynak özellikleri. Koleksiyondaki her varlık, özellikleri ve derecelendirme bilgilerine sahip varlıklar içerir.
|
| HasStartLocation | Boolean | Kaynağın başlangıç konumu olup olmadığını gösteren boole değeri. |
| HasEndLocation | Boolean | Kaynağın bitiş konumu olup olmadığını gösteren bir boole değeri. |
| E-posta | Dize | Kaynağın e-posta adresi. |
| Telefon | Dize | Kaynağın telefon numarası. |
| ImagePath | Dize | Kaynak resminin yolu. |
| CalendarId | Kılavuz | Kaynağın takvim kimliği. |
Örnekler
Bu örnekte, web API çağrılarını destekleyen schedule assistant API'nin 3. sürümünü 60 dakika süreli bir gereksinim için kullanıyorsunuz. Özniteliği settings kullanarak sonuçları filtrelersiniz. Nihai sonuçlar için iki kaynak türü dikkate alınıyor: 1 ve 2 (yani genel ve kontakt).
{
"Version": "4",
"IsWebApi": true,
"Requirement": {
"msdyn_fromdate": "2021-07-14T00:00:00Z",
"msdyn_todate": "2021-07-15T23:59:00Z",
"msdyn_remainingduration": 60,
"msdyn_duration": 60,
"msdyn_TimeGroup@odata.bind": "/msdyn_timegroups(c3dc79ea-d12f-ee11-9cc9-000d3a745a58)",
"@odata.type": "Microsoft.Dynamics.CRM.msdyn_resourcerequirement"
},
"Settings": {
"ConsiderSlotsWithProposedBookings": false,
"MovePastStartDateToCurrentDate": true,
"@odata.type": "Microsoft.Dynamics.CRM.expando"
},
"ResourceSpecification": {
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"ResourceTypes@odata.type": "Collection(Microsoft.Dynamics.CRM.expando)",
"ResourceTypes": [
{
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"value": "1"
},
{
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"value": "2"
}
],
"Constraints": {
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"Characteristics@odata.type": "Collection(Microsoft.Dynamics.CRM.expando)",
"Characteristics": [
{
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"characteristic": {
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"value": "67387f9f-12e2-ec11-bb43-000d3aed25f7"
},
"ratingvalue": {
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"value": "a1b2c3d4-5678-90ab-cdef-1234567890ab"
}
}
],
"Territories@odata.type": "Collection(Microsoft.Dynamics.CRM.expando)",
"Territories": [
{
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"value": "cc19f004-4483-ee11-8178-000d3a5c32c3"
}
],
"Roles@odata.type": "Collection(Microsoft.Dynamics.CRM.expando)",
"Roles": [
{
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"value": "76998e42-744c-f011-877d-6045bdfb899e"
}
]
}
}
}
Aşağıdaki örnek varlık koleksiyonlarının doğru kullanımını göstermektedir. Bu durumda, MustChooseFromResourcesbelirtir .
{
"Version": "4",
"IsWebApi": true,
"Requirement": {
"msdyn_fromdate": "2021-07-14T00:00:00Z",
"msdyn_todate": "2021-07-15T23:59:00Z",
"msdyn_remainingduration": 60,
"msdyn_duration": 60,
"msdyn_latitude": 47.64807,
"msdyn_longitude": -122.41249,
"msdyn_worklocation": 690970000,
"msdyn_TimeGroup@odata.bind": "/msdyn_timegroups(c3dc79ea-d12f-ee11-9cc9-000d3a745a58)",
"@odata.type": "Microsoft.Dynamics.CRM.msdyn_resourcerequirement"
},
"Settings": {
"ConsiderSlotsWithProposedBookings": false,
"MovePastStartDateToCurrentDate": true,
"MaxNumberOfResourcesToEvaluate":500,
"ConsiderTravelTime": true,
"MaxResourceTravelRadius": {
"Value": 20,
"Unit" : 192350000,
"@odata.type": "Microsoft.Dynamics.CRM.expando"
},
"@odata.type": "Microsoft.Dynamics.CRM.expando"
},
"ResourceSpecification": {
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"ResourceTypes@odata.type": "Collection(Microsoft.Dynamics.CRM.expando)",
"ResourceTypes": [
{
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"value": "1"
},
{
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"value": "2"
}
],
"MustChooseFromResources@odata.type": "Collection(Microsoft.Dynamics.CRM.expando)",
"MustChooseFromResources": [
{
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"value": "2145a982-f718-ed11-b83e-0022482d79c8"
}
],
"Constraints": {
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"Characteristics@odata.type": "Collection(Microsoft.Dynamics.CRM.expando)",
"Characteristics": [
{
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"characteristic": {
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"value": "67387f9f-12e2-ec11-bb43-000d3aed25f7"
},
"ratingvalue": {
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"value": "a1b2c3d4-5678-90ab-cdef-1234567890ab"
}
}
],
"Territories@odata.type": "Collection(Microsoft.Dynamics.CRM.expando)",
"Territories": [
{
"@odata.type": "Microsoft.Dynamics.CRM.expando",
"value": "cc19f004-4483-ee11-8178-000d3a5c32c3"
}
]
}
}
}