Pro správu zaměstnanců a jejich pracovních poměrů slouží v REST API dvě evidence — osoba s osobními údaji zaměstnance a pracovni-pomer s pracovním poměrem, který je na osobu navázaný.
ℹ️ Vedle nich existují ještě „hlavičkové" evidence osoba-hlavicka a pracovni-pomer-hlavicka. Ty drží zaměstnance jako celek, zatímco osoba a pracovni-pomer obsahují jeho jednotlivá časově platná nastavení.
Získání dat
Data o osobách vyčtete metodou GET; použít lze standardní filtrování i úroveň detailu:
GET https://demo.flexibee.eu/c/demo/osoba.xml
GET https://demo.flexibee.eu/c/demo/pracovni-pomer.json?detail=full
Verzování nastavení
Obě evidence používají verzování pomocí vlastností platiOd a platiDo. Každý zaměstnanec i pracovní poměr tak může mít více verzí nastavení s různou časovou platností. Při importu s novým platiOd:
systém najde existující nastavení, které se s novým datem překrývá,
to překrývající se automaticky zkrátí — nastaví mu
platiDona den před novýmplatiOd,vytvoří novou verzi nastavení s hodnotami zkopírovanými z předchozí verze,
a na novou verzi aplikuje hodnoty z importu.
<winstrom version="1.0">
<osoba>
<osbCis>123</osbCis>
<platiOd>2026-07-01</platiOd>
<prijmeni>Novotná</prijmeni>
</osoba>
</winstrom>
Tento import vytvoří novou verzi nastavení od 1. 7. 2026; předchozí verze bude automaticky ukončena k 30. 6. 2026. Odpověď obsahuje ID nové i zkrácené verze.
📝 Odpověď u osob často obsahuje řadu varování k nevyplněným legislativním údajům — například osobaOicPrazdne nebo osobaNejvyssiVzdelaniK. Import tím neblokují, jen upozorňují, že údaje bude potřeba doplnit.
Propsání do budoucna
Atribut propsatDoBudoucna="true" promítne provedenou změnu i do všech budoucích verzí nastavení. Systém uloží změnu do adresovaného nastavení, najde všechna nastavení s pozdějším platiOd a aplikuje na ně stejnou změnu:
<winstrom version="1.0">
<pracovni-pomer propsatDoBudoucna="true">
<idPpv>PP-001</idPpv>
<uvazHodDenne>6.0</uvazHodDenne>
</pracovni-pomer>
</winstrom>
Bez tohoto atributu se změna projeví pouze v adresovaném nastavení a budoucí verze zůstanou nedotčené. Nikdy se nepropagují tyto vlastnosti:
u osoby
platiOd,platiDoapassword,u pracovního poměru
platiOdaplatiDo.
Odeslání dat
Pro zápis použijte metodu POST nebo PUT:
POST https://demo.flexibee.eu/c/demo/osoba.xml
<?xml version="1.0"?>
<winstrom version="1.0">
<osoba>
<platiOd>2021-07-01</platiOd>
<osbCis>PP123456</osbCis>
<prijmeni>Pavelka</prijmeni>
<jmeno>Pavel</jmeno>
<stredisko>code:C</stredisko>
</osoba>
</winstrom>
Identifikace záznamů
Osoba se hledá v tomto pořadí: interní ID (<id>123</id>), osobní číslo (<osbCis>1</osbCis>), rodné číslo v normalizovaném formátu (<rodCis>9002020005</rodCis>), kombinace rodCis + ecp a nakonec samotné EČP.
Pracovní poměr se hledá takto: interní ID, kodCsszPP + platiOd, idPpv + platiOd, idPpv + aktivní smlouva (není-li platiOd uvedeno) a nakonec osoba spolu s kodCsszPP nebo idPpv.
Pro identifikaci záznamů platí obvyklé tvary 123, code:ZKRATKA, ext:ID a ext:SYSTEM:ID. Datumy se zapisují v ISO 8601, s časovou zónou (2026-01-01+01:00) i bez ní.
Vnořené kolekce
Víceslovné názvy kolekcí používají camelCase pro obal a pomlčkový zápis pro položky:
Kolekce | Obal | Položka |
Bankovní spojení osoby |
|
|
Pracovní poměry osoby |
|
|
Děti |
|
|
Osoby blízké |
|
|
Srážky |
|
|
Stálé mzdové složky poměru |
|
|
Nepřítomnosti |
|
|
|
|
Kompletní import osoby s pracovním poměrem
Pracovní poměr vnořený v kolekci pracovniPomery se automaticky propojí s osobou, takže vše lze poslat v jednom požadavku:
<winstrom version="1.0">
<osoba>
<osbCis>1</osbCis>
<jmeno>Jan</jmeno>
<prijmeni>Novák</prijmeni>
<datNaroz>1990-05-15+01:00</datNaroz>
<rodCis>9005150001</rodCis>
<pohlaviK>pohlavi.muz</pohlaviK>
<zpusPlatbyK>zpusobPlatby.ucet</zpusPlatbyK>
<zdravPoj>code:201</zdravPoj>
<bankovniSpojeni>
<mzdy-bankovni-spojeni>
<buc>1234567890</buc>
<smerKod>code:0100</smerKod>
<primarni>true</primarni>
</mzdy-bankovni-spojeni>
</bankovniSpojeni>
<pracovniPomery>
<pracovni-pomer>
<idPpv>PP-001</idPpv>
<kod>PP-001</kod>
<nazev>Hlavní pracovní poměr</nazev>
<typPracPom>code:1-STANDARD</typPracPom>
<aktivniOd>2026-01-01+01:00</aktivniOd>
<zacatek>2026-01-01+01:00</zacatek>
<hlavni>true</hlavni>
<uvazHodDenne>8.0</uvazHodDenne>
<uvazDnuTydne>5</uvazDnuTydne>
<staleMzdoveSlozky>
<stala-mzdova-slozka>
<cisMzdSloz>code:MĚSÍČNÍ MZDA</cisMzdSloz>
<zaklMzd>45000</zaklMzd>
</stala-mzdova-slozka>
</staleMzdoveSlozky>
<nepritomnosti>
<nepritomnost>
<platiOd>2026-07-01+01:00</platiOd>
<platiDo>2026-07-14+01:00</platiDo>
<cisMzdSloz>code:DOVOLENÁ</cisMzdSloz>
</nepritomnost>
</nepritomnosti>
</pracovni-pomer>
</pracovniPomery>
</osoba>
</winstrom>
Mazání nastavení
Importem lze přidávat nová nastavení s uvedeným začátkem platnosti a mazat vybraná nastavení — kromě posledního zbývajícího. Platnosti ostatních nastavení se adekvátně upraví. Ke smazání použijte akci delete:
<?xml version="1.0"?>
<winstrom version="1.0">
<osoba action="delete">
<id>1</id>
</osoba>
</winstrom>
Na co si dát pozor
Vlastnosti
kodELDPakodCsszPPnelze po uložení pracovního poměru změnit.platiOdby mělo být prvním dnem měsíce — jinak systém zobrazí varování.Při importu pracovního poměru musí navázaná osoba už existovat.
