Variabelen kunnen worden ingelezen middels het versturen van een POST bericht naar onze koppeling. Deze service is beveiligd middels basic authentication en om gebruik hiervan te maken zal Polaris een account aan moeten maken. De POST koppeling kan zowel XML als JSON qua bestandsformaat aan en zal de resultaten in hetzelfde formaat retourneren. De variabelen worden na importeren klaar gezet voor de Polaris gebruiker welke deze op een later tijdstip definitief kan importeren. De import is beveiligd voor het inlezen van dubbele invoer. Een regel welke al voorkomt met de combinatie Persoon, Looncomponent, Datum en Bedrag en nog niet geïmporteerd is, zal dan ook niet worden meegenomen.
Request naar de koppeling
De koppeling kan worden benaderd via de url “https://api.polarishrs.nl/API2/V2.0/RestService/Variabelen”. Om connectie te maken dien je vervolgens een gebruikersnaam en wachtwoord in te voeren. In de meeste gevallen zul je dit via de toevoeging van een Authorization header in de code uitvoeren. Kijk onderaan bij “Ureninvoer via Restfull Push” voor een voorbeeld in Javascript van een dergelijke koppeling.
Bestandopbouw
De bestanden kunnen zowel in XML als JSON worden ingestuurd en hebben een vaste opbouw. Voorbeelden van deze bestanden kunnen in XML en in JSON worden gedownload. Heb je specifieke vragen over de inhoud van deze bestanden, neem dan contact op met de helpdesk van Polaris. Bestanden kunnen indien gewenst als een Base64 string worden ingezonden.
Variabelen
Via de koppeling kunnen variabelen worden ingelezen, in onderstaand voorbeeld is aangegeven hoe de node opbouw er uit kan zien. Daaronder is een tabel zichtbaar met per node de voorwaarden waar aan moet worden voldaan. Er kunnen een onbeperkt aantal nodes met medewerkers, looncodes en boekingen worden ingevoerd. Bij de node “Boeking” en zijn childnodes is de node “Bedrag” als enige verplicht en dient te bestaan uit een valide decimale waarde. Indien de node “Datum” wordt meegestuurd dient deze de opbouw ‘dd-MM-yyy’ (01-12-2024) te hebben. “Boekkenmerk” is alleen nodig indien de koppeling vanuit Metacom komt. Bestaat de combinatie tussen Persoonsnummer, Looncomponent, Bedrag, Datum en Inzet al, dan zal de invoer worden genegeerd.
5,5020-12-2018PTest ABCD1101409,0017-09-2018
|
Node |
Type |
Verplicht |
Opmerking |
|---|---|---|---|
|
Administratie |
int |
Ja |
Nummer van de administratie, aangeven via attribute nr |
|
Persoon |
int |
Ja |
Persoonsnummer van de medewerker, aangeven via attribute nr |
|
Looncomponent |
int |
Ja |
Looncode, aangeven via attribute nr |
|
Boeking |
– |
Ja |
|
|
Bedrag |
money |
Ja |
|
|
Datum |
smalldatime |
Nee |
|
|
Inzet |
– |
Nee |
|
|
Boekkenmerk |
varchar(50) |
Nee |
Waarde P,G of M indien metacom koppeling |
|
Boeksleutel1 |
varchar(50) |
Nee |
|
|
Boeksleutel2 |
varchar(50) |
Nee |
|
|
Boeksleutel3 |
varchar(50) |
Nee |
Boeksleutels
De koppeling geeft ook de mogelijkheid om boeksleutels in te lezen, in onderstaand voorbeeld is aangegeven hoe een dergelijke node er uit kan zien. De boeksleutels worden aangemaakt onder de organisatie welke is aangegeven in de Organisatie node. Er kan een onbeperkt aantal boeksleutels worden gekoppeld via een node “Boeksleutel” onder de node “Boeksleutels”. Indien er een boeksleutel wordt opgegeven welke qua Laag en Code al bestaat dan zal deze met de opgegeven gegevens worden geüpdatet. Bij de “Persoon” is de controle t.b.v. update Persoonsnummer en ContactCode.
ORG3<code>ABCD1</code>
Eenheid 1Eenheid voorbeeld 11234501-01-2019111000Straat21Q1234AAPlaatsnaam30NL101-12-201815-03-20194180301-12-201815-03-20191
In onderstaande tabel staat per node aangegeven aan welke voorwaarden deze moet voldoen.
|
Node |
Type |
Verplicht |
Opmerking |
|---|---|---|---|
|
Laag |
varchar(50) |
Ja |
Code van de laag in de structuur, te vinden op Organisatie => Structuur |
|
Code |
varchar(50) |
Ja |
|
|
Naam |
varchar(50) |
Ja |
|
|
Omschrijving |
varchar(50) |
Nee |
|
|
ValtOnder |
varchar(50) |
Nee |
Code van de eenheid waar deze onder valt, alleen mogelijk indien organisatie => structuur => valtonder is ingeregeld |
|
EindDatum |
smalldatetime |
||
|
Administratie |
int |
Nee |
Nummer van de administratie |
|
Adres |
Nee |
||
|
Straat |
varchar(100) |
Nee |
|
|
Huisnummer |
int |
Nee |
|
|
Toevoeging |
varchar(15) |
Nee |
|
|
Postcode |
varchar(10) |
Nee |
|
|
Plaats |
varchar(50) |
Nee |
|
|
Reisafstand |
smallmoney |
Nee |
|
|
LandCode |
varchar(2) |
Nee |
Standaard internationale landcodes (NL, DE) |
|
AdresCode |
tinyint |
Nee |
Waarde gedefinieerd in de zoektabel Adres |
|
DatumVanaf |
smalldatetime |
Nee |
|
|
DatumTotmet |
smalldatetime |
Nee |
|
|
Verantwoordelijke |
Nee |
||
|
Persoon |
Nee |
Meerdere nodes mogelijk |
|
|
Persoonsnummer |
int |
Ja |
|
|
DatumVanaf |
smalldatetime |
Nee |
|
|
DatumTotmet |
smalldatetime |
Nee |
|
|
ContactCode |
smallint |
Nee |
Indien leeg dan wordt standaard code 101 (verantwoordelijke) toegepast |
Resultaat en foutcodes
Het resultaat van de import wordt in hetzelfde formaat geretourneerd als dat van het ingezonden bestand. Als er opmerkingen en/of fouten zijn gevonden binnen een node dan zal deze opmerking er bij een xml als een attribute “exception” aan toe zijn gevoegd en bij JSON als een extra node. Aan de code van de exception kun je afleiden wat het probleem is. Onderstaand is een lijst te vinden met de exception die op kunnen treden.
|
Melding |
Node |
Oorzaak |
|---|---|---|
|
100 |
|
Er dient minimaal 1 node Organisatie te bestaan welke valt onder de node VAR |
|
101 |
|
Er is geen of een leeg attribute nr in de node Organisatie |
|
102 |
|
Ongeldig of geen organisatiecode (nr=100) opgegeven |
|
103 |
n.v.t |
Er kon geen batch worden aangemaakt |
|
110 |
|
Ongeldig of geen administratienummer (nr=100) opgegeven |
|
120 |
|
Ongeldig of geen persoonsnummer (nr=100) opgegeven |
|
121 |
n.v.t |
Combinatie administratie x en persoon y niet gevonden |
|
122 |
|
Ongeldig of geen looncomponent (nr=100) opgegeven |
|
123 |
n.v.t |
Looncode x niet gevonden onder administratie y |
|
130 |
|
Node Bedrag is verplicht binnen een node Boeking |
|
200 |
|
Er zijn geen organisatielagen gevonden bij aangegeven organisatie code |
|
201 |
|
Node Laag binnen Boeksleutel is leeg of niet aanwezig |
|
202 |
|
Node Code binnen Boeksleutel is leeg of niet aanwezig |
|
203 |
|
Node Naam binnen Boeksleutel is leeg of niet aanwezig |
|
204 |
|
Er is geen organisatielaag gevonden met de aangegeven code |
|
205 |
|
Er is geen persoonsnummer meegegeven bij de verantwoordelijke |
|
210 |
|
De eenheid op basis van de aangegeven code kon niet worden aangemaakt en/of geladen |