Sende en orlovsanmodning til arbejdsproces
Gælder for disse Dynamics 365-apps:
Human Resources
I Microsoft Dynamics 365 Human Resources kan du bruge MyLeaveRequests submit() Application Programming Interface (API) til at sende en orlovsanmodning til arbejdsgangen. Denne API vises som en handling i MyLeaveRequests OData-enheden.
Forudsætninger
Orlovsanmodningen skal gemmes i databasen og skal kunne hentes via MyLeaveRequests-enheden.
Tilladelser
En af følgende tilladelser kræves for at kalde denne API. Du kan finde flere oplysninger om tilladelser, og hvordan du vælger dem, i Godkendelse.
Tilladelsestype | Tilladelser (fra færrest til flest rettigheder) |
---|---|
Delegeret (arbejds- eller skolekonto) | user_impersonation |
HTTPS-anmodning
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
Anmodningen er i overensstemmelse med OData-standarder. Parametrene {requestId}, {leaveType}, {leaveDate} og {dataArea} refererer til de felter, der udgør den sammensatte naturlige nøgle for MyLeaveRequests-enheden.
Bemærk!
Mens felterne for MyLeaveRequests-enheden refererer til en enkelt linje i orlovsanmodningen, vil kald af submit-API'en sende hele orlovsanmodningen (alle linjer) til arbejdsgangen.
Overskrifter til anmodning
Header | Value |
---|---|
Godkendelse | Bærer {token} (obligatorisk) |
Indholdstype | program/json |
Anmodningstekst
Du skal ikke angive en anmodningstekst for denne metode.
Svar
Et vellykket svar er altid svaret 204 intet indhold.
Uautoriserede opkald modtager en 401 uautoriseret eller en 403 forbudt svar.
Hvis indsendelsen mislykkes (f.eks. på grund af validering), er svar en 500-serverfejl, og den svar brødtekst medtager et JSON-objekt med yderligere oplysninger.
Eksempel
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()"
}
}
}
Validering og fejlmeddelelser
Som led i kaldet til submit-API'en udfører Human Resources validering af forretningslogik før afsendelse, hvilket sikrer, at orlovsanmodningen er i en gyldig tilstand for afsendelse. De mulige fejlmeddelelser, du kan modtage i svaret, hvis valideringer ikke lykkes, er:
- Anmodningen ville bringe saldoen '{LeaveTypeId}' ned under den tilladte minimumsaldo på {date}.
- Anmodning om fravær i fuldført tilstand kan ikke sendes.
- Anmodningen kan ikke sendes eller gemmes, da der ikke er foretaget ændringer. Tilføj eller opdater beløbet eller orlovstypen, og prøv igen.
- Den angivne anmodning om fridage indeholder en eller flere dage med samme dato og orlovstype som en eksisterende ventende anmodning. Husk den eksisterende anmodning om at foretage ændringer.
- Årsagskoden '{ReasonCodeId}' kan ikke anvendes til nogen af orlovstyperne i anmodningen.
- Orlovstypen '{LeaveTypeId}' kræver en årsagskode. Vælg den relevante type og årsagskode.
- Fridagen blev ikke sendt. Anmodningen om fridage er gemt som en kladdeanmodning.