Skicka en ledighetsansökan till arbetsflödet
Gäller dessa Dynamics 365-appar:
Human Resources
I Microsoft Dynamics 365 Human Resources kan du använda API:n MyLeaveRequests submit() (Application Programming Interface) för att skicka en begäran till arbetsflöde. Denna API visas som en åtgärd för OData-enheten MyLeaveRequests.
Förutsättningar
Tjänstledighetsbegäran måste sparas i databasen och måste kunna hämtas via MyLeaveRequests-entiteten.
Behörighet
En av följande behörigheter krävs för att anropa denna API. Mer information om behörigheter och hur du väljer dem finns i Autentisering.
Behörighetstyp | Behörigheter (från minst privilegierad till de mest privilegierade) |
---|---|
Delegerad (arbets- eller skolkonto) | user_impersonation |
HTTPS-begäran
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
Begäran följer OData-standarder. Parametrarna {requestId}, {leaveType}, {leaveDate} och {dataArea} refererar till de fält som utgör den sammansatta naturliga nyckeln för MyLeaveRequests-enheten.
Notering
När fälten för MyLeaveRequests-entiteten refererar till en enskild rad i tjänstledighetsbegäran och anropar AP kommer den att skicka hela tjänstledighetsbegäran (alla rader) till arbetsflödet.
Rubrik för begäran
Siduvud | Value |
---|---|
Auktorisering | Innehavaren {token} (obligatoriskt) |
Innehållstyp | program/json |
Begär brödtext
Ange ingen brödtext för den här metoden.
Svar
Ett lyckat svar är alltid 204 inget innehåll-svar.
Obehöriga inringare får 401 Obehörig eller 403 Uppsat svar .
Om sändningen misslyckas (på grund av validering), är svar till exempel ett 500 ServerFel och brödtexten svar innehålla ett JSON-objekt med mer information.
Exempel
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()"
}
}
}
Validerings- och felmeddelanden
Som en del av anropet till inskickade API skickar personal affärslogiken innan den skickas, vilket garanterar att begäran befinner sig i ett giltigt tillstånd för att skickas. De felmeddelanden som kan visas i svaret om valideringar misslyckas:
- Denna begäran innebär att saldot för {LeaveTypeId} hamnar under det minsta tillåtna saldot den {date}.
- 10.00 - FÖRFRÅGNING i slutfört läge kan inte skickas.
- Det går inte att skicka eller spara begäran eftersom inga ändringar har gjorts. Lägg till eller uppdatera belopp eller tjänstledighetstyp och försök igen.
- Ledighetsansökan innehåller en eller flera dagar med samma datum och lämnar typ som en befintlig väntande begäran. Återkalla den befintliga begäran om att göra ändringar.
- Orsakskoden {ReasonCodeId} gäller inte för någon av tjänstledighetstyperna i denna begäran.
- Tjänstledighetstyp '{LeaveTypeId}' kräver en orsakskod. Välj lämplig typ och orsakskod.
- Den tid som har angetts som slutförd har inte skickats. Ledig tid har sparats som en utkastbegäran.