Dela via


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.

Se även