Jaa


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.

Lisätietoja