De afgelopen periode zijn de volgende verbeteringen in de API doorgevoerd.
Learning API
Nieuw endpoints Person & Employment ter vervanging van Employees endpoint Endpoints: Persons and Employments; Employees endpoint deprecated Het het huidige employee endpoint is een samengesteld endpoint dat zowel de persoons- als dienstverbandgegevens van medewerkers bevat. Afgelopen jaar is gebleken dat het combineren van deze data de complexiteit van het endpoint heeft verhoogd en de performance en stabiliteit achter blijft op de door ons gestelde eisen. We hebben dan ook besloten om het employee endpoint te splitsen in een endpoint met de persoonsgegevens en een endpoint met de dienstverbandgegevens.
Hiervoor hebben wij 2 nieuwe endpoints aan de learning API toegevoegd, te weten het endpoint Persons en het endpoint Employments. Beide endpoint bevatten alle gegevens uit het employees endpoint die horen tot de respectievelijk de persoon of het bijbehorende dienstverband. Het huidige Employee endpoint blijft voorlopig bestaan, echter het endpoint zal niet verder uitgebreid worden. Nieuwe velden of andere verbeteringen zullen enkel in de nieuwe endpoint voor Persons en Employments doorgevoerd worden.
Wij adviseren u om nieuwe koppelingen te baseren op de endpoints Persons en Employments en geen gebruik meer te maken van het Employee endpoint. Op termijn zal het huidige employee endpoint komen te vervallen.
IAM API
Person & Employment ter vervanging van Employees endpoint
Ook in de IAM api hebben wij naast het Employees endpoint een endpoint Persons en Employments beschikbaar. Deze Persons endpoint en Employments endpoint bevatten alle velden die ook in het employees endpoint voor respectievelijk persoon en dienstverband zitten.
Het huidige Employee endpoint blijft voorlopig bestaan, echter het endpoint zal niet verder uitgebreid worden. Nieuwe velden of andere verbeteringen zullen enkel in het endpoint voor Persons en Employments doorgevoerd worden. Wij adviseren u om nieuwe koppelingen te baseren op de endpoints Persons en Employments en geen gebruik meer te maken van het Employees endpoint. Op termijn zal het huidige employees endpoint komen te vervallen.
autorisatie filters
De IAM api is uitgebreid met autorisatie mechanisme. Op basis van dit autorisatie mechanisme kan de API consultant bij Visma Raet een autorisatie filter inrichten. Dit autorisatie filter zorgt ervoor dat het externe systeem alleen die medewerkers in de API te zien krijgt die voldoen aan het filter. Zo kunt u bijvoorbeeld ervoor kiezen om alleen interne medewerkers op basis van het veld Soort Arbeidsrelatie in de IAM api te laten opnemen. De consultant kan deze een autorisatie filter inrichten op basis van de volgende velden:
P01103 CEA-nummer / Payroll Client Code
P01104 Instelling nummer / Payroll Institution Code
P01102 Soort arbeidsrelatie / Employment type
P01110 Code doelgroep / Classification
P05041 Learning API
Raadpleeg uw customer succes manager als u in contact wilt komen met de API consultant voor het inrichten van deze filters.
De afgelopen periode zijn er weer een aantal verbeteringen in de API's doorgevoerd.
API's nu ook beschikbaar via Visma developer portal
De Visma developer portal is binnen de Visma groep de centrale plaats voor delen en publiceren van API's uit de Visma groep voor derden. Om hierbij aan te sluiten hebben we de afgelopen periode de IAM en Learning API op de Visma developer portal gepubliceerd. De IAM en Learning API is ook nog beschikbaar via de oude Raet developer portal waardoor bestaande integraties niet zullen wijzigen.
Voor nieuwe integraties zal er door de API consultant veelal voor gekozen worden om deze via de nieuwe Visma developer Portal te ontsluiten. Ook nieuwe API zullen in de toekomst enkel nog via deze nieuwe Portal gepubliceerd worden. Onze API consultants zullen developers en klanten tijdens de implementatie hierbij begeleiden.
Een uitgebreide beschrijving voor het aanmaken van een account staat beschreven op de deze pagina. Wij adviseren uit echter om vooraf eerst contact op te nemen met onze API consultant (api.consulting.raet@visma.com). Zij kunnen aanvullende uitleg geven over het gebruik van de Visma Developer portal.
Extension API toegevoegd aan Visma developer portal
In de nieuwe Visma Developer portal is de Extensie API als uitbreiding op een domein API, zoals zoals de IAM of Learning API, beschikbaar gekomen. Met deze extensie API is het mogelijk om extra velden aan de domein API toe te voegen. Bijvoorbeeld het toevoegen van een klant eigen rubriek behorende bij de persoon of het dienstverband.
De extensie API dient altijd in combinatie met één van de domein API gebruikt te worden. Tevens kunnen enkel niet-ingedeelde rubrieken op het niveau Persoon of Dienstverband aan de API toegevoegd worden. Het toevoegen van extra velden kan op dit moment geregeld worden door een API consultant. Uiteraard geldt wel dat het ontvangende systeem ook met extra velden en endpoints overweg moet kunnen gaan. Een uitgebreide beschrijving is te vinden op deze pagina
De extensies kunnen per per klant en domain API verschillend. Voor respectievelijk de IAM en learning API hebben wij de volgende endpoints beschikbaar. api.youforce.com/extensions/v1.0/IAM/persons api.youforce.com/extensions/v1.0/IAM/employments api.youforce.com/extensions/v1.0/learning/persons api.youforce.com/extensions/v1.0/learning/employments
Afhankelijk van de gekozen endpoint worden de extensies op persoons- of dienstverband niveau weergegeven. Indien de rubriek in Beaufort bestaat uit veld met een referentie tabel dan wordt ook de bijbehorende omschrijving uit de referentietabel in het endpoint weergegeven. Zie onderstaand voorbeeld bij rubriek API002.
In this update you can find the improvements and solved issues in the domain api's.
Improvements
IAM API: New fields are added to the employment endpoint
The following fields are added to the employment endpoint.
PayrollClientCode ( P01103 Opdrachtgever)
PayrollInsittutionCode ( P01104 Instelling)
Classification ( P01110 - Code doelgroep)
Learning API: User endpoint added to version 1.0
The user endpoint is added to version 1.0 of the learning API. This endpoint will return the unique ID of the user which can be used for the SSO process of a customer.
For example:
GET https://api.youforce.com/learning/v1.0/users(employeeId=10010)
By adding this endpoint version 1.0 of the learning API is backwards compatible with version 0.1.
Action API Consumer:
We ask you to change the url of you api call to this new version. Version 0.1 is deprecated from now.
Solved issues
Learning API : Texts with special chars were not displayed correctly [VRINA-1613]
Special characters for the fields 'FirstNames' or 'KnownAs' were not correctly processed in the API database. As result to API shows the name incorrectly.
For example:
-> "KnownAs": "Desirée"
was showed as:
-> "KnownAs": "Desir?e"
The issue is solved.
Improvements
Learning API: New endpoints for uploading other type of documents
We have added new endpoints for the following document types:
certificate / Certificaat
diploma / Diploma
career agreement / Loopbaan afspraak
career mail / Correspondentie loopbaan
career other / Overige loonbaan documenten
appraisal Review / Beoordelingsgesprek
performance Review / Functioneringsgesprek
To use these endpoints, the document type needs to be activated in the personal file system (authorisation & configuration Personal file system). All these endpoint are available as version 1.1.
See here for more information
Solved issues
SIVI API : Postal code in uppercase and without spaces
In HR Core Beaufort it is possible to store the postal code in different formats. For instance with spaces (1234 AB) or in lower case (1234 ab). The Sivi standard requires a fixed format without spaces and in uppercase (1234AB). Note: The API will not change the postal code if it's invalid or doesn't exists.
The issue is solved
De afgelopen periode zijn de volgende verbeteringen in de API's doorgevoerd:
WFM API
Nieuwe endpoints voor Employments en Salary Details beschikbaar De WFM API is uitgebreid met 2 nieuwe endpoints voor Employments en Salary Details. Beide endpoint zijn gebaseerd op de historie tabel van Beaufort waardoor de endpoints de ingangsdatum bevat. De nieuwe endpoints zijn:
employmentTimelines
salaryDetailTimelines
Het endpoint employmentTimelines bevat dezelfde velden als het oorspronkelijk endpoint employments maar dus nu ook inclusief ingangsdatum waardoor er een soort tijdlijn ontstaat. Hetzelfde geldt voor de endpoints salaryDetailTimelines en salaryDetails. Voor zowel het endpoint employmentTimelines als ook het endpoint SalaryDetailTimelines geldt dat data met ingangsdatum uit de historie tabel komen. In de standaard inrichting van Beaufort staat voor deze rubrieken de historie aan (zie Beaufort scherm standaard rubrieken). Onderstaand een voorbeeld van het nieuwe endpoint employmentTimelines
Op dit moment wordt de API data voor deze nieuwe endpoints één keer per dag om 18:00 UTC met Beaufort gesynchroniseerd.
Alle domein API's
Het endpoint organisation units is uitgebreid met de velden indicatie geblokkeerd, kostenplaats en adresgegevens.
Het endpoint organisation units van zowel de Learning, IAM als ook de WFM api is uitgebreid met de volgende API velden:
isBlocked (True/false)
Address
PhoneNumber
CostCenterCode
Deze velden komen overeen met de volgende gegevens uit Beaufort.
Note: het veld isBlocked (Inactief) wordt in Beaufort vaak gebruikt om organisatie eenheden inactief te maken tijdens een reorganisatie. Deze indicatie wordt dan gebruikt om aan te geven dat er geen nieuwe medewerkers meer op de organisatie eenheid mogen worden geplaatst. Echter bij een reorganisatie komt het regelmatig voor dat bestaande medewerkers nog herplaatst moeten worden. De indicatie IsBlocked wil dus niet zeggen dat er geen medewerkers meer aan gekoppeld zijn.
Visma Developer Portal
Vanaf nu zijn alle domein API inclusief alle endpoints te gebruiken via de Visma Developer portal. De Visma Developer Portal (https://oauth.developers.visma.com/) vervangt hiermee de oudere developer portal als de Youforce developer portal (https://developers.youforce.com/) of Raet developer portal (https://developers.raet.com/)
note: De meest recente aanpassing betreft het endpoint Get users. Vanaf nu werkt ook dit GET users endpoint in de learning en IAM api met een Visma account uit de Visma developer portal. Heeft u nog credentials op één van de oude developer Portal dan kunt u die nog blijven gebruiken. Echter nieuwe credentials kunnen alleen nog aangemaakt worden via de Visma Developer Portal. Zie hiervoor: Aanmaken credentials Visma Developer Portal
Ook adviseren wij u om met uw applicatie over te gaan naar de nieuwe Visma Developer portal. De Visma developer portal heeft als voordeel dat u en u collega samen de apps en credentials kunt beheren. Wel zijn daarbij enkele aandachtspunten waarmee uw development omgeving rekening moet houden, zie onderstaande tabel.
Oude Raet developer portal
Oude Youforce Developer Portal
Nieuwe Visma developer Portal
Authencation token
url: https://api.raet.com/authentication /token
Met in de Body de volgende authenticatie gegevens uit de Raet developer portal:
client_id
client_secret
url: https://api.youforce.com/authentication /token
Met in de Body de volgende authenticatie gegevens uit de Youforce developer portal:
client_id
client_secret
url: https://connect.visma.com /connect/token
Met in de Body de volgende authenticatie gegevens uit de Visma developer portal:
client_id
client_secret
tenant_id
Let op: De tenant_id is dus toegevoegd aan de authencation en wordt tussen de endpoint meegegeven in de bearer token.
GET User endpoint
niet beschikbaar
In learning API is het endpoint beschikbaar via verschillende url versie zoals v0.1 en v.1.0 GET https://api.youforce.com//learning/v0.1/ users (employeeId=xxxx) GET https://api.youforce.com//learning/v1.0/ users (employeeId=xxxx)
In de Learning en IAM is het endpoint enkel beschikbaar via de url versie v1.0 GET https://api.youforce.com//learning/v1.0/ users(employeeId=10010)
All endpoints
base url: api.raet.com met de volgende gegevens in de header
bearer authorisation token uit het raet.com authorisation token
Tenant_id. Dit is een 7-cijferig nummer dat de klant binnen Raet identificeert
base url: api.youforce.com met de volgende gegevens in de header
bearer authorisation token uit het youforce.com authorisation token
Tenant_id. Dit is een 7-cijferig nummer dat de klant binnen Raet identificeert
base url: api.youforce.com met de volgende gegevens in de header
bearer authorisation token uit het visma.com authorisation token. In dit visma token zit de tenant_id al verwerkt
Note: Het tenant_id hoeft dus niet meer bij elke API call meegegeven worden. Wordt de tenant_id per ongeluk wel meegegeven in de API call dan wordt deze genegeerd Daarnaast blijven de endpoints via de base url api.youforce.com
Learning API verbeterd
Afgelopen maand is de learning API verbeterd. Hieronder wordt een overzicht gegeven van de belangrijkste verbeteringen:
Performance & stabiliteit
alle endpoints
In het verleden kon het nog wel eens voorkomen dat de API geen response gaf waardoor er time-outs ontstonden. De afgelopen maand is de architectuur van de API gewijzigd waardoor de performance van de API is verbeterd en de kans op time-outs is geminimaliseerd.
Loonverdelingsregels als endpoint toegevoegd Endpoint: costAllocations
Aan de learning API is een nieuwe endpoint met de Cost Allocation toegevoegd. Dit endpoint komt overeen met de entiteit Loonverdeling uit Beaufort. Met behulp van het endpoint kan per medewerker de kostenplaats, kostensoort en eventueel kostendrager uit Beaufort gehaald worden.
Adresgegevens uitgebreid
Endpoint : Employees
Bij de adresgegevens naast de landcode ook de naam van het land getoond. Dit betreft de naam zoals ook wordt weergegeven in Beaufort zelf.
Naam van onder andere organisatie eenheid, functie en classificatie als extra veld toegevoegd
Endpoint Employees
In de endpoints Employee wordt bij de dienstverband gegevens naast een code voor functie, classificatie, organisatie eenheid, ect ook de naam getoond. Hierdoor wordt het eenvoudiger om vanuit één endpoint de naam in het IAM systeem op te nemen. Voor organisatie eenheid is naast de naam ook nog een extra veld met de logisch code toegevoegd.
Meer records per page
[alle endpoints]
Door het verbeteren van de architecture is het ook mogelijk meer records in response weer te geven. Standaard wordt bij elke endpoint maximaal 100 records terug gegeven. Mocht de tabel meer records bevatten dat wordt middels een NextLink de volgende data set aangeboden.
Vanaf deze release is het echter ook mogelijk meer dan 100 records in één pagina op te vragen. Dit kan middels de parameter take toe te voegen aan de url.
Hieronder een voorbeeld waarbij 125 records per pagina wordt opgehaald.
GET https://api.youforce.com/learning/v1.0/employees?take=125
In de nextLink wordt deze page size overgenomen, zodat ook de vervolg pagina's maximaal 125 records bevat.
U kunt een page size tot maximaal 1000 records opvragen.
De afgelopen periode zijn de volgende verbeteringen in de API's doorgevoerd:
Learning API Big nummer toegevoegd aan het endpoint employment De Beaufort rubriek P09165 Big nummer is als veld toegevoegd aan het endpoint employment in de learning API. Dit veld kan door learning systemen gebruikt worden om het BIG register van de medewerker bij te werken.
WFM API Concept versie beschikbaar
De afgelopen periode is de eerste versie van de workforce management API op de Visma developer portal gepubliceerd.
De WFM API is bedoeld voor het integreren van planning- & tijdregistratie systemen met HR Core Beaufort. Deze eerste versie bevat enkel lees (GET) endpoints waarmee veel gebruikte data uit HR Core in het WFM systeem ingelezen kan worden.
De WFM api is op dit moment als concept versie beschikbaar. De komende maanden wordt de API ter validatie aan verschillende WFM partijen voorgelegd. Ook kunnen WFM partijen starten met het analyseren en bouwen van nieuwe integraties op basis van deze API. De API bevat diverse endpoint voor het ophalen van de medewerker en organisatie data. Ook kan de API met de Extensie API gecombineerd worden. Zie ook Eigen rubrieken met de Extension API
Onderstaand domein model geeft een overzicht van entiteiten en endpoint die beschikbaar zijn binnen deze API.
Note: Op dit moment wordt voor de dienstverbandgegevens en salarisgegevens enkel nog de actuele gegevens uit Beaufort gebruikt. In een volgende versie zal ook de ingangsdatum uit de historie in de API betrokken worden.
Het endpoint Assignment (inzet) is toegevoegd aan de learning & Recruitment API
De url van het endpoint is respectievelijk: GET https://api.youforce.com/learning/v1.0/Assignments
GET https://api.youforce.com/recruitment/v1.0/Assignments
Het endpoint laat de volgende gegevens zien:
Deze gegevens zijn afkomstig van het scherm "inzet" uit Beaufort.
Nieuwe functionaliteit en verbeteringen
Veld effectiveDate toegevoegd aan adresgegevens (Alle API's)
In het endpoint Person is bij de adresgegeven het veld effectiveDate toegevoegd. Dit veld komt overeen met het veld 'Adres m.i.v.' uit het Beaufort scherm Additionele adresgegevens Persoon (rubriek P011012 / P01011) . Het veld is beschikbaar in alle API met een endpoint Person.
Met het veld Reden einde dienstverband (P01113) in Beaufort wordt aangegeven op welke grond het dienstverband is beëindigd. Afhankelijk van de reden is het soms wenselijk in een Learning systeem of in een IAM systeem anders te handelen. Om dit mogelijk te maken, is het veld Termination Reason toegevoegd aan het employment endpoint in zowel de Learning als de IAM API.
Het endpoint JobProfile is uitgebreid met de volgende velden:
type
costUnit
costType
Deze velden komen overeen met de HR Core Beaufort velden functie type, kostendrager en kostensoort.
Deze velden zijn beschikbaar in alle API's waar het endpoint jobProfile beschikbaar is.
Bij het inrichten van een nieuwe connectie voor een bepaald systeem, wordt vaak in overleg met de consultant een autorisatie filter voor de connectie geconfigureerd. Dit autorisatie filter zorgt ervoor dat alleen relevante medewerkers in de connectie worden opgenomen. Dit maakt het mogelijk om in een MLM-systeem uitsluitend de eigen medewerkers te betrekken.
Echter dit autorisatie filter werd niet toegepast op het endpoint voor RoleAssignment. Daardoor waren voor een extern systeem alle rollen en personeelsnummers toegankelijk. Hoewel dit alleen de personeelsnummers betrof, waren dit desondanks records die door een extern systeem zouden moeten worden uitgefilterd.
Om het integratieproces te stroomlijnen, wordt nu ook het autorisatie filter toegepast op het RoleAssignment endpoint.