Protokol REST (KS webAPI): Porovnání verzí
(založena nová stránka s textem „ <h1>KS REST WebAPI</h1> <h2>Základní informace</h2> Komplexní API pro správu dat souhrnů údajů, zaměstnanců a autentizaci uživatelů. Umožňuje vkládání, aktualizaci, výběr a mazání dat v různých souhrnech údajů na základě specifikovaných kritérií a operací prováděných prostřednictvím HTTP metod. <!-- AUTENTIZACE --> <h2 id="access">Autentizace k API KS Program</h2> <ol>…“) |
|||
(Není zobrazeno 12 mezilehlých verzí od stejného uživatele.) | |||
Řádek 1: | Řádek 1: | ||
<h2>Základní informace</h2> | <h2>Základní informace</h2> | ||
Komplexní API pro správu dat souhrnů údajů, zaměstnanců a autentizaci uživatelů. | Komplexní API pro správu dat souhrnů údajů, zaměstnanců a autentizaci uživatelů. | ||
Řádek 5: | Řádek 4: | ||
specifikovaných kritérií a operací prováděných prostřednictvím HTTP metod. | specifikovaných kritérií a operací prováděných prostřednictvím HTTP metod. | ||
<!-- AUTENTIZACE --> | <!-- AUTENTIZACE --> | ||
<h2 id="access">Autentizace | <h2 id="access">Autentizace</h2> | ||
<ol> | <ol> | ||
<li> | <li> | ||
Řádek 17: | Řádek 16: | ||
<li> | <li> | ||
<b>Autentizace</b> | <b>Autentizace</b> | ||
<p>Pro autentizaci je třeba odeslat na adresu <i>.../KSAsServer/WebService/WebAPI/rest/users/authenticate</i> JSON body s údaji <i>"Username"</i> a <i>"Password"</i>. Pokud jsou tyto údaje správné, obdržíte < | <p>Pro autentizaci je třeba odeslat na adresu <i>.../KSAsServer/WebService/WebAPI/rest/users/authenticate</i> JSON body s údaji <i>"Username"</i> a <i>"Password"</i>. Pokud jsou tyto údaje správné, obdržíte <b>token</b>, který je nutný pro používání API po určitou dobu. Token i jeho platnost jsou vráceny v těle odpovědi.</p> | ||
</li> | </li> | ||
<li> | <li> | ||
Řádek 35: | Řádek 34: | ||
<li> | <li> | ||
V URI | V URI | ||
<pre>GET /KSAsServer/WebService/WebAPI/rest/KmenoveUdaje/Jmeno/Karel? | <pre>GET /KSAsServer/WebService/WebAPI/rest/KmenoveUdaje/Jmeno/Karel?token=eyJ0eXAwibmFtZSI6InBhdmVIuMDGtBE1GxcdkwUuTTLDL4&</pre> | ||
</li> | </li> | ||
</ul> | </ul> | ||
Řádek 42: | Řádek 41: | ||
</ol> | </ol> | ||
<h3>Příklad | <h3>Příklad</h3> | ||
<p><b>Požadavek</b></p> | <p><b>Požadavek</b></p> | ||
<pre> | <pre> | ||
Řádek 68: | Řádek 67: | ||
<!-- METODY --> | <!-- METODY --> | ||
<h1 id="methods">Metody</h1> | <h1 id="methods">Metody</h1> | ||
<p>Veškerá dokumentakce k metodám: | <p>Veškerá dokumentakce k metodám: [[Metody (KS webAPI)|Metody]].</p> | ||
<!-- PARAMTERY --> | <!-- PARAMTERY --> | ||
<h3>Parametry</h3> | <h3>Parametry</h3> | ||
<ul> | <ul> | ||
<li> | <li> | ||
< | <b>Request header</b> | ||
<p>Content-Type - application/raw</p> | |||
<p>Accept - application/json</p> | |||
</li> | </li> | ||
<li> | <li> | ||
< | <b>Items</b> | ||
<p> | <p> | ||
Vyplňuje se v případě volání metody GET/POST. Předává se seznam | Vyplňuje se v případě volání metody GET/POST. Předává se seznam [[Položky (KS webAPI)|Položky]], které budou v návratové datové struktuře, na které má uživatel oprávnění. | ||
Jednotlivé položky se oddělují čárkou. Pokud bude v parametru předáno více položek, vrací se návratová datová struktura, která obsahuje všechny | Jednotlivé položky se oddělují čárkou. Pokud bude v parametru předáno více položek, vrací se návratová datová struktura, která obsahuje všechny | ||
položky uvedené v parametru oddělené čárkami. Pokud bude zadáno více 'Item' v parametru, bude vrácena množina údajů odpovídající průniku | položky uvedené v parametru oddělené čárkami. Pokud bude zadáno více 'Item' v parametru, bude vrácena množina údajů odpovídající průniku | ||
Řádek 88: | Řádek 86: | ||
</p> | </p> | ||
</li> | </li> | ||
<li>< | <li><b>[[JsonSearchCriteria]]</b></li> | ||
<li>< | <li><b>[[JsonOptions]]</b></li> | ||
<li>< | <li><b>Token</b></li> | ||
</ul> | </ul> | ||
<!-- CESTY --> | <!-- CESTY --> | ||
Řádek 98: | Řádek 96: | ||
<ul> | <ul> | ||
<li> | <li> | ||
<b> | <b>ItemGroup</b> | ||
<p> | <p> | ||
(Required) | (Required) | ||
Název souhrnu údajů. Parametr { | Název souhrnu údajů. Parametr {ItemGroup} je nutno zaměnit za reálný souhrn údajů. | ||
Předává se název skupiny údajů (entity) v KS mzdy (např. 'KmenoveUdaje'). | Předává se název skupiny údajů (entity) v KS mzdy (např. 'KmenoveUdaje'). | ||
</p> | </p> | ||
</li> | </li> | ||
</ul> | </ul> | ||
<pre> | |||
GET /KSAsServer/WebService/WebAPI/rest/{ItemGroup]/{Item}?token=12asd16a5sda1s32d&Items=Jmeno,Prijmeni,OsCislo,RodneCislo&JsonSearchCriteria=[{ 'Item': 'OsCislo', 'Operator': '<=', 'Value': 100 }] | |||
</pre> | |||
<!-- GET-SOUHRN METHOD --> | <!-- GET-SOUHRN METHOD --> | ||
Řádek 111: | Řádek 115: | ||
<p> | <p> | ||
<b>Povinné parametry:</b> | <b>Povinné parametry:</b> | ||
Token, | Token, ItemGroup. | ||
</p> | </p> | ||
<p> | <p> | ||
Řádek 118: | Řádek 122: | ||
</p> | </p> | ||
<h3>Příklad | <h3>Příklad</h3> | ||
<p>Vrátí data ze souhrnu údajů "KmenoveUdaje", kde OsCislo <= 100.</p> | <p>Vrátí data ze souhrnu údajů "KmenoveUdaje", kde OsCislo <= 100.</p> | ||
<p><b>Požadavek</b></p> | <p><b>Požadavek</b></p> | ||
<pre>GET /KSAsServer/WebService/WebAPI/rest/KmenoveUdaje/?token=12asd16a5sda1s32d& | <pre>GET /KSAsServer/WebService/WebAPI/rest/KmenoveUdaje/?token=12asd16a5sda1s32d&Items=Jmeno,Prijmeni,OsCislo,RodneCislo&JsonSearchCriteria=[{ 'Item': 'OsCislo', 'Operator': '<=', 'Value': 100 }]</pre> | ||
<p><b>Odpověď</b></p> | <p><b>Odpověď</b></p> | ||
<pre> | <pre> | ||
Řádek 139: | Řádek 143: | ||
<p> | <p> | ||
<b>Povinné parametry:</b> | <b>Povinné parametry:</b> | ||
Token, | Token, ItemGroup, aOsCislo. | ||
</p> | </p> | ||
<p> | <p> | ||
Řádek 146: | Řádek 150: | ||
</p> | </p> | ||
<h3>Příklad | <h3>Příklad</h3> | ||
<p>Vrátí data ze souhrnu údajů "KmenoveUdaje", kde OsCislo = 1. Vrátí sloupce OsCislo, Titul, Jmeno, Primeni, RodneCislo</p> | <p>Vrátí data ze souhrnu údajů "KmenoveUdaje", kde OsCislo = 1. Vrátí sloupce OsCislo, Titul, Jmeno, Primeni, RodneCislo</p> | ||
<p><b>Požadavek</b></p> | <p><b>Požadavek</b></p> | ||
<pre>GET /KSAsServer/WebService/WebAPI/rest/KmenoveUdaje/1?token=eyJ0eXAiOIiwi7_GcdkwUuTTLDL4& | <pre>GET /KSAsServer/WebService/WebAPI/rest/KmenoveUdaje/1?token=eyJ0eXAiOIiwi7_GcdkwUuTTLDL4&Items=OsCislo, Titul, Jmeno, Prijmeni, RodneCislo</pre> | ||
<p><b>Odpověď</b></p> | <p><b>Odpověď</b></p> | ||
<pre> | <pre> | ||
Řádek 164: | Řádek 168: | ||
<!-- GET-ITEM METHOD --> | <!-- GET-ITEM METHOD --> | ||
<h2 id="get-item">GET - Vrací data, kde údaj ' | <h2 id="get-item">GET - Vrací data, kde údaj 'Item' má hodnotu 'Value' v rámci zadaného souhrnu údajů 'ItemGroup'.</h2> | ||
<p> | <p> | ||
<b>Povinné parametry:</b> | <b>Povinné parametry:</b> | ||
Token, | Token, ItemGroup, Item, Value. | ||
</p> | </p> | ||
<p> | <p> | ||
Řádek 174: | Řádek 178: | ||
</p> | </p> | ||
<h3>Příklad | <h3>Příklad</h3> | ||
<p>Vrátí data ze souhrnu údajů "KmenoveUdaje", kde Jmeno = Pavel.</p> | <p>Vrátí data ze souhrnu údajů "KmenoveUdaje", kde Jmeno = Pavel.</p> | ||
<p><b>Požadavek</b></p> | <p><b>Požadavek</b></p> | ||
Řádek 200: | Řádek 204: | ||
<p> | <p> | ||
<b>Povinné parametry:</b> | <b>Povinné parametry:</b> | ||
Token, | Token, ItemGroup, JsonChangeData (data v těle požadavku). | ||
</p> | </p> | ||
<h3>Příklad | <h3>Příklad</h3> | ||
<p>Vloží data z body požadavku do souhrnu údajů "KmenoveUdaje".</p> | <p>Vloží data z body požadavku do souhrnu údajů "KmenoveUdaje".</p> | ||
<p><b>Požadavek</b></p> | <p><b>Požadavek</b></p> | ||
Řádek 243: | Řádek 247: | ||
<p> | <p> | ||
<b>Povinné parametry:</b> | <b>Povinné parametry:</b> | ||
Token, | Token, ItemGroup, JsonChangeData (data v těle požadavku), JsonSearchCriteria. | ||
</p> | </p> | ||
<h3>Příklad | <h3>Příklad</h3> | ||
<p>Aktualizuje data v souhrnu údajů "Kontakty", kde Hodnota = 222 222 222, na Hodnota = 111 111 111. </p> | <p>Aktualizuje data v souhrnu údajů "Kontakty", kde Hodnota = 222 222 222, na Hodnota = 111 111 111. </p> | ||
<p><b>Požadavek</b></p> | <p><b>Požadavek</b></p> | ||
Řádek 277: | Řádek 281: | ||
<p> | <p> | ||
<b>Povinné parametry:</b> | <b>Povinné parametry:</b> | ||
Token, | Token, ItemGroup, JsonSearchCriteria. | ||
</p> | </p> | ||
<h3>Příklad | <h3>Příklad</h3> | ||
<p>Smaže data v souhrnu údajů "Kontakty", kde Hodnota = 111 111 111</p> | <p>Smaže data v souhrnu údajů "Kontakty", kde Hodnota = 111 111 111</p> | ||
<p><b>Požadavek</b></p> | <p><b>Požadavek</b></p> | ||
Řádek 297: | Řádek 301: | ||
}</pre> | }</pre> | ||
</div> | </div> | ||
== Odkazy == | |||
* [[Protokoly (KS webAPI)|Protokoly]] |
Aktuální verze z 10. 3. 2025, 14:15
Základní informace
Komplexní API pro správu dat souhrnů údajů, zaměstnanců a autentizaci uživatelů. Umožňuje vkládání, aktualizaci, výběr a mazání dat v různých souhrnech údajů na základě specifikovaných kritérií a operací prováděných prostřednictvím HTTP metod.
Autentizace
-
Zabezpečení protokolu
Všechny dotazy na API musí být zasílány prostřednictvím zabezpečeného protokolu HTTPS.
-
Přístupová oprávnění
Uživatel musí mít povolení k užívání API, které mu uděluje administrátor. K tomu je nezbytné mít vygenerováno jméno a heslo k API.
-
Autentizace
Pro autentizaci je třeba odeslat na adresu .../KSAsServer/WebService/WebAPI/rest/users/authenticate JSON body s údaji "Username" a "Password". Pokud jsou tyto údaje správné, obdržíte token, který je nutný pro používání API po určitou dobu. Token i jeho platnost jsou vráceny v těle odpovědi.
-
Použití tokenu
Při každém volání API ,mimo autentizaci, je třeba zaslat platný token jedním ze dvou způsobů:
-
V HEADER
Plain:
Authorization - eyJ0eXAwibmFtZSI6InBhdmVIuMDGtBE1GxcdkwUuTTLDL4&
Bearer:Authorization - Bearer eyJ0eXAwibmFtZSI6InBhdmVIuMDGtBE1GxcdkwUuTTLDL4&
-
V URI
GET /KSAsServer/WebService/WebAPI/rest/KmenoveUdaje/Jmeno/Karel?token=eyJ0eXAwibmFtZSI6InBhdmVIuMDGtBE1GxcdkwUuTTLDL4&
Způsob HEADER je preferován před URI.
-
V HEADER
Příklad
Požadavek
POST /KSAsServer/WebService/WebAPI/rest/user/authenticate body: { "Username": "jmeno", "Password": "heslo" }
Odpověď
{ "ErrorCode": 0, "ErrorMessage": null, "ErrorText": null, "IsError": false, "Message": "Created", "ResponseDatetime": "/Date(1720705997339+0200)/", "StatusCode": 201, "Token": "jkdsjflsdfjsdfklsjdflskdfjs.6tQew", "ValidTo": "/Date(1720715997000+0200)/" }
Metody
Veškerá dokumentakce k metodám: Metody.
Parametry
-
Request header
Content-Type - application/raw
Accept - application/json
-
Items
Vyplňuje se v případě volání metody GET/POST. Předává se seznam Položky, které budou v návratové datové struktuře, na které má uživatel oprávnění. Jednotlivé položky se oddělují čárkou. Pokud bude v parametru předáno více položek, vrací se návratová datová struktura, která obsahuje všechny položky uvedené v parametru oddělené čárkami. Pokud bude zadáno více 'Item' v parametru, bude vrácena množina údajů odpovídající průniku záznamů jednotlivých 'Item'. V případě nezadání paramteru, vrátí všechny položky, na které má uživatel oprávnění.
- JsonSearchCriteria
- JsonOptions
- Token
Proměnné cesty
-
ItemGroup
(Required) Název souhrnu údajů. Parametr {ItemGroup} je nutno zaměnit za reálný souhrn údajů. Předává se název skupiny údajů (entity) v KS mzdy (např. 'KmenoveUdaje').
GET /KSAsServer/WebService/WebAPI/rest/{ItemGroup]/{Item}?token=12asd16a5sda1s32d&Items=Jmeno,Prijmeni,OsCislo,RodneCislo&JsonSearchCriteria=[{ 'Item': 'OsCislo', 'Operator': '<=', 'Value': 100 }]
GET - Vrací data souhrnu údajů podle zadaného názvu souhrnu.
Povinné parametry: Token, ItemGroup.
Volitelné parametry: JsonSearchCriteria, Items, JsonOptions.
Příklad
Vrátí data ze souhrnu údajů "KmenoveUdaje", kde OsCislo <= 100.
Požadavek
GET /KSAsServer/WebService/WebAPI/rest/KmenoveUdaje/?token=12asd16a5sda1s32d&Items=Jmeno,Prijmeni,OsCislo,RodneCislo&JsonSearchCriteria=[{ 'Item': 'OsCislo', 'Operator': '<=', 'Value': 100 }]
Odpověď
{ "Data": "[{\"OsCislo\":36,\"Titul\":null,\"Jmeno\":\"Miroslav\",\"Prijmeni\":\"Nový\",\"RodneCislo\":\"123456789\"...}], "ErrorCode": 0, "ErrorMessage": null, "ErrorText": null, "IsError": false, "Message": "Data nalezena.", "ResponseDatetime": "/Date(1720696754982+0200)/", "StatusCode": "200" }
GET - Vyhledá zaměstnance ze skupiny údajů 'KmenoveUdaje' podle zadaného osobního čísla.
Povinné parametry: Token, ItemGroup, aOsCislo.
Volitelné parametry: JsonSearchCriteria, Items, JsonOptions.
Příklad
Vrátí data ze souhrnu údajů "KmenoveUdaje", kde OsCislo = 1. Vrátí sloupce OsCislo, Titul, Jmeno, Primeni, RodneCislo
Požadavek
GET /KSAsServer/WebService/WebAPI/rest/KmenoveUdaje/1?token=eyJ0eXAiOIiwi7_GcdkwUuTTLDL4&Items=OsCislo, Titul, Jmeno, Prijmeni, RodneCislo
Odpověď
{ "Data": "[{\"OsCislo\":1,\"Titul\":\"Ing.\",\"Jmeno\":\"Pavel\",\"Prijmeni\":\"Hovorka\",\"RodneCislo\":\"581227411\"}]", "ErrorCode": 0, "ErrorMessage": null, "ErrorText": null, "IsError": false, "Message": "Data nalezena.", "ResponseDatetime": "/Date(1720766282434+0200)/", "StatusCode": "200" }
GET - Vrací data, kde údaj 'Item' má hodnotu 'Value' v rámci zadaného souhrnu údajů 'ItemGroup'.
Povinné parametry: Token, ItemGroup, Item, Value.
Volitelné parametry: JsonSearchCriteria, Items, JsonOptions.
Příklad
Vrátí data ze souhrnu údajů "KmenoveUdaje", kde Jmeno = Pavel.
Požadavek
GET /KSAsServer/WebService/WebAPI/rest/KmenoveUdaje/Jmeno/Pavel?token=eyJ0eXAwibmFtZSI6InBhdmVIuMDGtBE1GxcdkwUuTTLDL4&
Odpověď
{ "Data": "[{\"OsCislo\":1,\"Titul\":\"Ing.\",\"Jmeno\":\"Pavel\",\"Prijmeni\":\"Hovorka\",\"RodneCislo\":\"581227411\"}, {\"OsCislo\":18,\"Titul\":null,\"Jmeno\":\"Pavel\"...}]", "ErrorCode": 0, "ErrorMessage": null, "ErrorText": null, "IsError": false, "Message": "Data nalezena.", "ResponseDatetime": "/Date(1720766630099+0200)/", "StatusCode": "200" }
POST - Vkládá data do zadaného souhrnu údajů.
Metoda InsertData zapisuje data do databáze KS mzdy.
Povinné parametry: Token, ItemGroup, JsonChangeData (data v těle požadavku).
Příklad
Vloží data z body požadavku do souhrnu údajů "KmenoveUdaje".
Požadavek
POST /KSAsServer/WebService/WebAPI/rest/KmenoveUdaje?token=eyJ0eXAiOiJKV1QtL2BDA7_GcdkwUuTTLDL4& Body: [ { "IdPodniku": "1", "Jmeno": "Karel", "Prijmeni": "Nový", "RodneCislo": "9710085892", "MistoNarozeni": "Vsetín", "StatNar": "CZ", "StPrisl": "203", "RodinStav": "2", "TrCislo": "100", "PscTrv": "75501", "MistoTrv": "Vsetín", "KmenStr": "1", "DatumNastupu": "2019-01-01" } ]
Odpověď
{ "Data": "[{\"OsCislo\": 95967,\"IdPodniku\": 1,\"Jmeno\": \"Karel\",\"Prijmeni\": \"Nový\""...}]", "ErrorCode": 0, "ErrorMessage": null, "ErrorText": null, "IsError": false, "Message": "Vybraná data byla vložena.", "ResponseDatetime": "/Date(1720767043837+0200)/", "StatusCode": "201" }
PUT / UPDATE - Aktualizuje data do zadaného souhrnu údajů.
Povinné parametry: Token, ItemGroup, JsonChangeData (data v těle požadavku), JsonSearchCriteria.
Příklad
Aktualizuje data v souhrnu údajů "Kontakty", kde Hodnota = 222 222 222, na Hodnota = 111 111 111.
Požadavek
PUT /KSAsServer/WebService/WebAPI/rest/Kontakty?token=eyJ0eXAiOiJKV1QiLaW_GcdkwUuTTLDL4&JsonSearchCriteria=[{ "Item": "Hodnota", "Operator": "=", "Value": "222 222 222"}] Body: [ { "Hodnota": "111 111 111" } ]
Odpověď
{ "Data": "", "ErrorCode": 0, "ErrorMessage": null, "ErrorText": null, "IsError": false, "Message": "Vybraná data byla aktualizována.", "ResponseDatetime": "/Date(1721030337638+0200)/", "StatusCode": "204" }
DELETE - Smaže data v zadaném souhrnu údajů.
Metoda DELETE smaže data v databázi KS mzdy.
Povinné parametry: Token, ItemGroup, JsonSearchCriteria.
Příklad
Smaže data v souhrnu údajů "Kontakty", kde Hodnota = 111 111 111
Požadavek
DELETE KSAsServer/WebService/WebAPI/rest/Kontakty?token=eyJ0eXAiOiJKV1QiLCk&JsonSearchCriteria=[{ "Item": "Hodnota", "Operator": "=", "Value": "111 111 111"}]
Odpověď
{ "Data": "", "ErrorCode": 0, "ErrorMessage": null, "ErrorText": null, "IsError": false, "Message": "Vybraná data byla smazána.", "ResponseDatetime": "/Date(1721030823993+0200)/", "StatusCode": "204" }