Del via


Send en permisjonsforespørsel til arbeidsflyt

Gjelder disse Dynamics 365-appene:
Human Resources

I Microsoft Dynamics 365 Human Resources kan du bruke MyLeaveRequests Submit() programmeringsgrensesnitt (API) for å sende en permisjonsforespørsel til arbeidsflyten. Dette API-et vises som en handling på MyLeaveRequests OData-enheten.

Forutsetninger

Permisjonsforespørselen må være lagret i databasen og må kunne hentes via MyLeaveRequests-enheten.

Tillatelser

En av følgende tillatelser kreves for å kalle dette API-et. Hvis du vil ha mer informasjon om tillatelser og hvordan du velger dem, kan du se Godkjenning.

Tillatelsestype Tillatelser (fra minst privilegert til mest privilegert)
Delegert (jobb- eller skolekonto) user_impersonation

HTTPS-forespørsel

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

Forespørselen overholder OData-standarder. Parameterne {requestId}, {leaveType}, {leaveDate} og {dataArea} refererer til feltene som utgjør den sammensatte naturlige nøkkelen for MyLeaveRequests-enheten.

Notat

Mens feltene for MyLeaveRequests-enheten refererer til en enkelt linje i permisjonsforespørselen, vil kall til Send-API-et hele sende permisjonsforespørselen (alle linjene) til arbeidsflyten.

Forespørselshoder

Hode Value
Autorisasjon Bærer {token} (obligatorisk)
Innholdstype program/json

Forespørselstekst

Ikke angi en forespørselstekst for denne metoden.

Svar

Et vellykket svar er alltid av typen 204 uten innhold.

Uautoriserte innringere mottar en 401 uautorisert eller en 403 forbudt svar.

Hvis innsendingen mislykkes (for eksempel på grunn av validering), er svar en 500-serverfeil, og den svar delen vil inneholde et JSON-objekt med ytterligere detaljer.

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 feilmeldinger

Som en del av kallet til innsendings-API-et utfører Human Resources en validering av forretningslogikken før innsending, som sikrer at permisjonsforespørselen er i en gyldig tilstand for innsending. De mulige feilmeldingene du kan motta i svaret hvis valideringer mislykkes, er:

  • Forespørselen ville lagt {LeaveTypeId}-saldoen under den tillatte minimumssaldoen i {date}.
  • Forespørsel om fritid i statusen Fullført kan ikke sendes inn.
  • Kan ikke sende inn eller lagre forespørselen fordi ingen endringer er utført. Legg til eller oppdater beløpet eller permisjonstypen, og prøv på nytt.
  • Fritidsforespørselen inneholder én eller flere dager med samme dato og permisjonstype som en eksisterende ventende forespørsel. Husk den eksisterende forespørselen om å gjøre endringer.
  • Årsakskoden {ReasonCodeId} gjelder ikke for noen av permisjonstypene i forespørselen.
  • Permisjonstypen {LeaveTypeId} krever en årsakskode. Velg riktig type og årsakskode.
  • Fritiden ble ikke sendt inn. Fritidsforespørselen er lagret som et utkast.

Se også