Aracılığıyla paylaş


Bir izin isteğini iş akışına gönderme

Şu Dynamics 365 uygulamaları için geçerlidir:
Human Resources

Microsoft Dynamics 365 Human Resources'ta, iş akışına bırakma isteği göndermek için MyLeaveRequests Submit () uygulama programlama arabirimini (API) kullanabilirsiniz. Bu API, MyLeaveRequests OData varlığı üzerinde bir eylem olarak sunulur.

Önkoşullar

İzin isteği veritabanına kaydedilmelidir ve MyLeaveRequests varlığı aracılığıyla alınabilir olmalıdır.

İzinler

Bu API 'YI çağırmak için aşağıdaki izinlerden biri gerekiyor. İzinler ve bunların seçilmesi hakkında daha fazla bilgi için, bkz Kimlik doğrulama.

İzin türü İzinler (en az ayrıcalıklı-büyük ayrıcalıklı)
Yetkilendirilen (İş veya okul hesabı) user_impersonation

HTTPS isteği

POST https://{cluster}.hr.talent.dynamics.com/namespaces/{namespace_guid}/data/MyLeaveRequests(RequestId='{requestId}', LeaveType='{leaveType}', LeaveDate={leaveDate}, dataAreaId={dataArea})/Microsoft.Dynamics.DataEntities.submit?cross-company=true

İstek OData standartlarına uygun. {requestId}, {leaveType}, {leaveDate} ve {dataArea} parametreleri, MyLeaveRequests varlığı için bileşik doğal anahtarı oluşturan alanlara başvuruda bulunuyor.

Dekont

MyLeaveRequests varlığının alanları izin talebindeki tek bir satıra başvuruda bulunduğu sürece, API gönder çağrısı, tüm izin vermez isteği (tüm satırlar) iş akışına gönderir.

İstek başlıkları

Başlık Value
Yetkilendirme Taşıyıcı {token} (gerekli)
İçerik Türü Uygulama/json

İstek gövdesi

Bu yöntem için bir istek gövdesi sağlamamalısınız.

Yanıt

Başarılı bir yanıt, her zaman 204 içerik yok yanıtıdır.

Yetkisiz arayıcılar 401 izinsiz veya 403 Yasak yanıt alır.

Gönderme işlemi başarısız olursa (örneğin, doğrulama nedeniyle), yanıt bir 500 sunucu hatası olur ve yanıt gövdesinde daha ayrıntılı bir JSON nesnesi bulunur.

Örnek

POST https://aos-rts-sf-550e5c091f6-prod-westus2.hr.talent.dynamics.com/namespaces/b2eb8003-334f-4a84-ab63-edbe23569090/data/MyLeaveRequests(RequestId='USMF-000065', LeaveType='Vacation', LeaveDate=2019-10-04T12:00:00Z, dataAreaId='USMF')/Microsoft.Dynamics.DataEntities.submit
{
  "error": {
    "code": "",
    "message": "An error has occurred.",
    "innererror": {
      "message": "Exception occurred while executing action submit on Entity MyLeaveRequest: The request would put the 'Vacation' balance below the allowed minimum balance on 9/10/2019.",
      "type": "System.InvalidOperationException",
      "stacktrace": "   at Microsoft.Dynamics.Platform.Integration.Services.OData.Action.ActionInvokable.Invoke()   at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.UpdateProcessor.ActionInvocation(ChangeOperationContext context, ActionInvokable action)   at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.UpdateManager.<>c__DisplayClass13_0.<ScheduleInvokable>b__0(ChangeOperationContext context)   at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.ChangeInfo.ExecuteActionsInCompanyContext(IEnumerable`1 actionList, ChangeOperationContext operationContext)\r\n   at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.ChangeInfo.ExecuteActions(ChangeOperationContext context)   at Microsoft.Dynamics.Platform.Integration.Services.OData.Update.UpdateManager.SaveChanges()   at Microsoft.Dynamics.Platform.Integration.Services.OData.AxODataDelegatingHandler.<SaveChangesAsync>d__3.MoveNext()"
    }
  }
}

Doğrulama ve hata iletileri

Gönderme API'sine yapılan çağrının bir parçası olarak İnsan Kaynakları gönderme işleminden önce iş mantığı doğrulaması yapar ve bu da bırakma isteğinin gönderme için geçerli bir durumda olmasını sağlar. Doğrulama başarısız olursa yanıt olarak alabileceğiniz olası hata iletileri şunlardır:

  • Talep '{LeaveTypeId}' bakiyesini {date} tarihinde izin verilen minimum bakiyenin altına indirecek.
  • Tamamlandı durumundaki istek süresi gönderilemez.
  • Hiçbir değişiklik yapılmadı olarak istek gönderilemiyor veya kaydedilemiyor. Tutarı veya izin tipini ekleyin veya güncelleştirin ve yeniden deneyin.
  • Girilen zaman isteği, aynı tarihle aynı tarihe sahip bir veya daha fazla gün içeriyor ve mevcut bekleyen istek olarak bu türü bırak. Lütfen değişiklik yapmak için varolan isteği geri çekin.
  • '{ReasonCodeId}' neden kodu istekteki izin türlerinin hiçbiri için geçerli değildir.
  • '{LeaveTypeId}' Çıkış türü neden kodu gerektiriyor. Uygun türü ve neden kodunu seçin.
  • Kapatma saati başarıyla gönderilmedi. Kapatma zamanı taslak istek olarak kaydedildi.

Ayrıca bkz.