Lomapyynnön lähettäminen työnkulkuun
Koskee seuraavia Dynamics 365 -sovelluksia:
Human Resources
Voit Microsoft Dynamics 365 Human Resources lähettää työnkulkuun lomapyynnön MyLequests submit() application programming interface (API) -liittymän avulla. Tämä ohjelmointirajapinta altistuu MyLeaveRequests OData -yksikölle.
Edellytykset
Lomapyyntö on tallennettava tietokantaan, ja sen on oltava haettavissa MyLeaveRequests-yksikön kautta.
Käyttöoikeudet
Tämän ohjelmointirajapinnan kutsumiseen tarvitaan jokin seuraavista käyttöoikeuksista. Lisätietoja käyttöoikeuksista ja niiden valinnasta on ohjeaiheessa Todentaminen.
Käyttöoikeuden tyyppi | Käyttöoikeudet (vähiten etuoikeutetusta etuoikeutetuimpaan) |
---|---|
Valtuutettu (työ- tai opiskelijatili) | user_impersonation |
HTTPS-pyyntö
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
Pyyntö on OData-standardien mukainen. {requestId}-, {leaveType}-, {leaveDate}- ja {dataArea}-parametrit viittaavat kenttiin, jotka muodostavat MyLeaveRequests-yksikön luonnollisen yhdistelmäavaimen.
Muistiinpano
Vaikka MyLeaveRequests-yksikön kentät viittaavat lomapyynnön yksittäiseen riviin, lähetyksen ohjelmointirajapinnan kutsuminen lähettää koko lomapyynnön (kaikki rivit) työnkulkuun.
Pyynnön otsikot
Otsikko | Value |
---|---|
Valtuutus | Haltija {token} (pakollinen) |
Sisältötyyppi | sovellus/json |
Pyynnön teksti
Älä anna tälle menetelmälle pyynnön tekstiä.
Vastaus
Onnistunut vastaus on aina 204 ei sisältöä -vastaus.
Luvaton callers saa 401 Unauthorized tai 403 Vastaus .
Jos lähetys epäonnistuu (esimerkiksi oikeellisuustarkistuksen vuoksi), vastaus on 500-palvelimen virhe ja vastaus sisältää JSON-objektin, jossa on lisätietoja.
Esimerkki
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()"
}
}
}
Oikeellisuustarkistus ja virhesanomat
Osana ohjelmointirajapinnan lähettämisen kutsua henkilöstöhallinto tekee tarkistuksen ennen lähettämistä, mikä varmistaa, että lomapyyntö on kelvollisessa lähetystilassa. Mahdolliset virhesanomat, jotka voidaan saada vastauksessa, jos oikeellisuustarkistukset epäonnistuvat, ovat:
- Pyynnön tuloksena kohteen {LeaveTypeId} saldo on pienempi kuin kohteen {date} sallittu vähimmäissaldo.
- Valmis-osavaltion aikapyyntöä ei voi lähettää.
- Pyyntöä ei voi lähettää tai tallentaa, koska muutoksia ei ole tehty. Lisää tai päivitä summa tai lomatyyppi ja yritä uudelleen.
- Määritetty lomapyyntö sisältää yhden tai useamman päivän, joilla on sama päivämäärä ja joiden tyypin mukaan on olemassa odottava pyyntö. Peruuta aiemmin luotu muutospyyntö.
- Syykoodi {ReasonCodeId} ei koske mitään pyynnön lomatyyppejä.
- Lomatyyppi '{LeaveTypeId}' edellyttää syykoodia. Valitse sopiva tyyppi ja syykoodi.
- Sen jälkeen, kun sen lähettäjä ei ole onnistunut. Tämä lomapyyntö on tallennettu luonnospyynnöksi.