Při práci s uživateli přes API rozlišujte dvě samostatné operace: založení globálního uživatele, který vznikne na úrovni služby, a přidání uživatele do konkrétní firmy, kde získá přístup a roli. Bez přidání do firmy nemá samotné založení uživatele na přístup do firmy praktický dopad.
ℹ️ Globální uživatelé žijí mimo databázi firmy, na endpointu /u. Uživatelé přiřazení k firmě jsou naopak evidence /c/{firma}/uzivatel uvnitř dané firmy.
Vytvoření globálního uživatele
Globálního uživatele založíte požadavkem PUT nebo POST na endpoint /u.json s hlavičkou Content-Type: application/json a s údaji v těle požadavku. Dostupné položky zjistíte dotazem GET na tentýž endpoint.
PUT https://demo.flexibee.eu/u.json
Content-Type: application/json
{
"username": "novy_uzivatel",
"givenName": "Jan",
"familyName": "Novák",
"email": "jan.novak@example.com",
"userType": "READ_ONLY",
"password": "tajne_heslo_123",
"blocked": false,
"permissions": {
"manageAll": false,
"createCompany": false,
"deleteCompany": false,
"createUser": false,
"changePassword": false,
"grantPermission": false,
"licenseMgmt": false
},
"defaultRole": "UZIVATEL",
"overrideRole": false,
"apiAccessEnabled": false
}
Typ uživatele
Hodnota userType je kontrolovaná — neplatná hodnota vrací 400 s kódem invalidUserTypeUsed a uživatel nevznikne. Používané hodnoty jsou NORMAL, READ_ONLY, REST_API a AUTOMATIC.
Práva serveru
Objekt permissions odpovídá právům serveru, jak je vidíte v aplikaci. Vhodné jsou zejména pro roli ADMIN a nabývají hodnot true a false:
Právo | Co povoluje |
| Správu všech firem na instanci. |
| Zakládání firem. |
| Mazání firem. |
| Zakládání uživatelů. |
| Změnu hesla uživatelům. |
| Udělování oprávnění uživatelům. |
| Správu licencí. |
Editace globálního uživatele
Editace probíhá požadavkem PUT na endpoint /u/{uzivatel}.json; v těle uveďte jen ty položky, které chcete změnit.
PUT https://demo.flexibee.eu/u/novy_uzivatel.json
Content-Type: application/json
{
"email": "novy.email@example.com"
}
Dotaz na neexistujícího uživatele vrací 404 s kódem uzivatelNeexistuje.
Přidání uživatele do firmy
Po založení globálního uživatele je potřeba přidat ho do konkrétní firmy. To se provádí požadavkem PUT na firemní evidenci /c/{firma}/uzivatel, kde uvedete uživatele a roli, kterou má v dané firmě mít:
PUT https://demo.flexibee.eu/c/demo/uzivatel
Content-Type: application/json
{ "winstrom": { "uzivatel": [ { "id": "code:novy_uzivatel", "role": "code:ADMIN" } ] } }
V uvedeném příkladu se uživatel novy_uzivatel přidá do firmy demo s rolí ADMIN. Neexistující role skončí chybou notObjectIdentifier a záznam se nezaloží.
🚨 Firemní evidence si nekontroluje, že globální uživatel skutečně existuje — při překlepu v id se záznam bez chyby založí a vrátí created: 1. Vznikne tak uživatel firmy, ke kterému žádný globální účet nepatří. Po přidání proto vždy porovnejte výpis /c/{firma}/uzivatel s výpisem /u.json.
ℹ️ Výchozí role při založení globálního uživatele (defaultRole) a role přidělená ve firmě jsou dvě různé věci.
Editace role uživatele na firmě
Role se mění stejným požadavkem jako přidání — PUT na /c/{firma}/uzivatel s novou hodnotou role:
PUT https://demo.flexibee.eu/c/demo/uzivatel
Content-Type: application/json
{
"winstrom": {
"uzivatel": [
{
"id": "code:novy_uzivatel",
"role": "code:SKLADNIK"
}
]
}
}
Odebrání uživatele z firmy
Potřebujete-li uživateli zrušit přístup do konkrétní firmy, smažte jeho vazbu na firmu akcí delete v evidenci uzivatel:
PUT https://demo.flexibee.eu/c/demo/uzivatel
Content-Type: application/json
{ "winstrom": { "uzivatel": [ { "@action": "delete", "id": "code:novy_uzivatel" } ] } }
⚠️ Tímto krokem uživatele odeberete z konkrétní firmy — pokud to ale byla jeho jediná přidělená firma, smaže se globálně. Jsou-li na uživatele historicky navázané záznamy v databázi, odebrání neprojde; v takovém případě použijte blokaci uživatele.
Blokace uživatele
Blokace se provádí požadavkem POST na /u/{uzivatel}.json s příznakem blocked. Volitelný blocked@message uloží důvod:
POST https://demo.flexibee.eu/u/novy_uzivatel.json
Content-Type: application/json
{
"blocked": true,
"blocked@message": "Blocked from API"
}
Hodnotu blocked lze poslat i jako data formuláře (blocked=true).
⚠️ Blokací uživatele uvolníte jeho licenci a znemožníte mu přihlášení. Odblokování provedete stejným požadavkem s hodnotou false.
Výpis všech uživatelů
Přehled všech globálních uživatelů vrátí GET na /u.json:
GET https://demo.flexibee.eu/u.json
U každého uživatele jsou vždy vyplněné username, userType, blocked, permissions, overrideRole, createDt, licenseGroup, twoPhaseAuthEnabled, resetTokenFilled a apiAccessEnabled. Položky email, givenName, familyName, defaultRole, lastLoginDate a lastApiDate se v odpovědi objeví jen tehdy, když mají hodnotu.
📝 Ve výpisu je users.user polem, kdežto dotaz na jednoho uživatele (/u/{uzivatel}.json) vrací users.user jako jediný objekt. Kód, který odpověď zpracovává, na to musí být připravený.
Výpis uživatelů z konkrétní firmy
Uživatele navázané ke konkrétní firmě vrátí firemní evidence:
GET https://demo.flexibee.eu/c/demo/uzivatel.json?limit=0&detail=full
⚠️ Parametr limit=0 ruší výchozí limit 20 záznamů, takže dostanete všechny uživatele dané firmy. Parametr detail=full vypíše všechna pole a jejich hodnoty — viz úrovně detailu.
Výpis rolí ve firmě
Dostupné role ve firmě zjistíte dotazem nad evidencí role. Pro přehledný seznam si vyžádejte jen ID, kód a název:
GET https://demo.flexibee.eu/c/demo/role.json?limit=0&detail=custom:id,kod,nazev
🚨 detail=full zde vrací seznam všech nastavených práv, tedy přes 10 000 řádků na jednu roli. Potřebujete-li práva přečíst, omezte dotaz na jedinou roli: GET /c/{firma}/role/code:ADMIN.json?detail=full.
Role jsou přes API pouze ke čtení — pokus o jejich import vrací 400 s kódem importNotAllowed.
Přehled endpointů
Operace | Metoda a endpoint | Poznámka |
Vytvoření globálního uživatele |
| JSON tělo |
Editace globálního uživatele |
| JSON tělo, jen měněné položky |
Přidání uživatele do firmy |
| JSON tělo s |
Editace role uživatele na firmě |
| JSON tělo |
Odebrání uživatele z firmy |
| akce |
Blokace uživatele |
| příznak |
Výpis všech uživatelů |
| globální uživatelé |
Výpis uživatelů z firmy |
| uživatelé konkrétní firmy |
Výpis rolí |
| volte vlastní detail, opatrně s |
Na co dát pozor
Založení uživatele a přidání do firmy jsou dvě oddělené operace — je potřeba provést obě.
Firemní evidence uživatelů neověřuje existenci globálního účtu, takže překlep v uživatelském jménu se neprojeví chybou.
Výpisy s
detail=fullmohou být výrazně rozsáhlé a méně přehledné.Role jsou přes API pouze ke čtení, zapisovat do nich nelze.
Práci s uživateli přes API si vylaďte na testovacím prostředí nebo vůči testovací databázi.

