Základní popis API portálu SENOSEC.CZU.CZ Základní URL pro API: https://senosec.czu.cz/api
Autentizace Pro autentizaci (přihlašování) je použit standardní protokol OAuth V1.0a (http://oauth.net/core/1.0a/) URL pro získání request tokenu: https://senosec.czu.cz/api/auth/request-token URL přihlašovací stránky: https://senosec.czu.cz/api/user/login URL pro získání access tokenu: https://senosec.czu.cz/api/auth/access-token Při autentizaci se nepoužívají žádné dodatečné parametry.
Práce s daty API využívá principu REST, tedy využívá metody protokolu HTTP následovně: GET čtení dat POST vytvoření nové entity PUT změna existující entity DELETE odstranění entity Data se obousměrně přenášejí ve formátu JSON. Role uživatele GET https://senosec.czu.cz/api/profil/role Odpověď obsahuje seznam rolí uživatele ("dobrovolnik", "myslivec", "zemedelec"): [ ] "dobrovolnik", String Název role Druhy prevence GET https://senosec.czu.cz/api/prevence/vse Odpověď obsahuje seznam dostupných druhů prevence: [ ] Object "nazev":"procházení" String Název prevence, Typy nálezů GET https://senosec.czu.cz/api/typy-nalezu/vse Odpověď obsahuje seznam dostupných typů nálezu: [ ] Object "id":1, Integer Identifikátor typu nálezu "nazev":"procházení" String Název typu nálezu, Porosty Čtení záznamu o jednom porostu GET https://senosec.czu.cz/api/porosty/porost/<id> Kde <id> (integer) je identifikátor zvoleného porostu.
Odpověď obsahuje údaje o porostu: "id":1, Integer Identifikátor porostu "lat":49.15348, Float Zeměpisná šířka "lng":13.12153, Float Zeměpisná délka "nazev":"pod lesem", String Název porostu (nepovinný) "plodina":"vojtěška", String Plodina "vymera":3.2, Float Výměra pozemku v hektarech "zacatek":"2015-03-21", String Datum setí ve formátu ISO 8601 (nepovinné) "terminy_seceni": [ Array Seznam termínů sečení (min. 1) "2015-06-13T13:30+02:00", String Datum a čas sečení ve formátu ISO 8601 "2015-08-05T08:00+02:00", ], "zajem_o_dobrovolniky":true, Boolean Zájem o účast dobrovolníků na akcích "navrhovana_prevence": Object Navrhovaná prevence "nazev":"procházení" String Název, "zadal": Object Uživatel, který porost vytvořil "id":3, Integer Identifikátor uživatele "jmeno":"pavel", String Jméno uživatele "prijmeni":"junek" String Příjmení uživatele Vytvoření nového porostu POST https://senosec.czu.cz/api/porosty/porost Tělo požadavku musí obsahovat údaje o novém porostu: "lat":49.15348, Float Zeměpisná šířka "lng":13.12153, Float Zeměpisná délka "nazev":"pod lesem", String Název porostu (nepovinný) "plodina":"vojtěška", String Plodina "vymera":3.2, Float Výměra pozemku v hektarech "zacatek":"2015-03-21", String Datum setí ve formátu ISO 8601 (nepovinné) "terminy_seceni": [ Array Seznam termínů sečení (min. 1) "2015-06-13T13:30+02:00", String Datum a čas sečení ve formátu ISO 8601 "2015-08-05T08:00+02:00", ], "zajem_o_dobrovolniky":true, Boolean Zájem o účast dobrovolníků na akcích "navrhovana_prevence": Object Navrhovaná prevence Odpověď obsahuje kompletní údaje o nově vytvořeném porostu (viz Čtení záznamu o jednom porostu).
Změna porostu PUT https://senosec.czu.cz/api/porosty/porost/<id> Kde <id> (integer) je identifikátor porostu, který má být změněn. Tělo požadavku musí obsahovat údaje o porostu: "nazev":"pod lesem", String Název porostu (nepovinný) "plodina":"vojtěška", String Plodina "vymera":3.2, Float Výměra pozemku v hektarech "zacatek":"2015-03-21", String Datum setí ve formátu ISO 8601 (nepovinné) "terminy_seceni": [ Array Seznam termínů sečení (min. 1) "2015-06-13T13:30+02:00", String Datum a čas sečení ve formátu ISO 8601 "2015-08-05T08:00+02:00", ], "zajem_o_dobrovolniky":true, Boolean Zájem o účast dobrovolníků na akcích "navrhovana_prevence": Object Navrhovaná prevence Odpověď obsahuje kompletní údaje o změněném porostu (viz Čtení záznamu o jednom porostu). Odstranění porostu DELETE https://senosec.czu.cz/api/porosty/porost/<id> Kde <id> (integer) je identifikátor porostu, který má být odstraněn. Hledání všech porostů na zadaném území GET https://senosec.czu.cz/api/porosty/vse?min_lat=...&min_lng=...&max_lat=...&max_lng=... Kde parametry min_lat, min_lng, max_lat a max_lng jsou povinné a definují obdélníkovou oblast v mapě, ve které se hledají porosty. min_lat (float) je minimální zeměpisná šířka min_lng (float) je minimální zeměpisná délka max_lat (float) je maximální zeměpisná šířka max_lng (float) je maximální zeměpisná délka Odpověď obsahuje pole údajů o všech nalezených porostech (viz Čtení záznamu o jednom porostu). Hledání porostů zadaných aktuálním uživatelem GET https://senosec.czu.cz/api/porosty/moje Odpověď obsahuje pole údajů o všech nalezených porostech (viz Čtení záznamu o jednom porostu).
Výskyty Čtení záznamu o jednom výskytu GET https://senosec.czu.cz/api/vyskyty/vyskyt/<id> Kde <id> (integer) je identifikátor zvoleného výskytu. Odpověď obsahuje údaje o výskytu: "id":1, Integer Identifikátor výskytu "lat":49.15348, Float Zeměpisná šířka "lng":13.12153, Float Zeměpisná délka "zivocich":"srna", String Nalezený živočich "datum_nalezu":"2015-06-13t13:30+02:00", String Datum a čas nálezu "pocet_dospelych":0, Integer Počet nalezených dospělých kusů "pocet_mladat":1, Integer Počet nalezených mláďat "vzdalenost_od_lesa":13.5, Float Vzdálenost od okraje lesa v metrech "typ_nalezu": Object Typ nálezu "id":1, Integer Identifikátor typu nálezu "nazev":"spatřeno živé" String Název typu nálezu, "zadan_myslivcem":true, Boolean Zda výskyt zadal myslivec nebo dobrovolník "zajem_o_dobrovolniky":true, Boolean Zájem o účast dobrovolníků na akcích i "navrhovana_prevence": Object Navrhovaná prevence ii "nazev":"procházení" String Název, "zajem_o_ucast":true, Boolean Zda se nálezce chce účastnit vyhánění iii "zadal": Object Uživatel, který výskyt vytvořil "id":3, Integer Identifikátor uživatele "jmeno":"pavel", String Jméno uživatele "prijmeni":"junek" String Příjmení uživatele Vytvoření nového výskytu POST https://senosec.czu.cz/api/vyskyty/vyskyt Tělo požadavku musí obsahovat údaje o novém výskytu: "lat":49.15348, Float Zeměpisná šířka "lng":13.12153, Float Zeměpisná délka "zivocich":"srna", String Nalezený živočich "datum_nalezu":"2015-06-13t13:30+02:00", String Datum a čas nálezu "pocet_dospelych":0, Integer Počet nalezených dospělých kusů "pocet_mladat":1, Integer Počet nalezených mláďat "vzdalenost_od_lesa":13.5, Float Vzdálenost od okraje lesa v metrech "typ_nalezu": Object Typ nálezu "id":1, Integer Identifikátor typu nálezu, "zajem_o_dobrovolniky":true, Boolean Zájem o účast dobrovolníků na akcích iv "navrhovana_prevence": Object Navrhovaná prevence v,
"zajem_o_ucast":true, Boolean Zda se nálezce chce účastnit vyhánění vi Odpověď obsahuje kompletní údaje o zadaném výskytu (viz Čtení záznamu o jednom výskytu). Změna výskytu PUT https://senosec.czu.cz/api/vyskyty/vyskyt/<id> Kde <id> (integer) je identifikátor výskytu, který má být změněn. Tělo požadavku musí obsahovat údaje o výskytu: "zivocich":"srna", String Nalezený živočich "datum_nalezu":"2015-06-13t13:30+02:00", String Datum a čas nálezu "pocet_dospelych":0, Integer Počet nalezených dospělých kusů "pocet_mladat":1, Integer Počet nalezených mláďat "vzdalenost_od_lesa":13.5, Float Vzdálenost od okraje lesa v metrech "typ_nalezu": Object Typ nálezu "id":1, Integer Identifikátor typu nálezu, "zajem_o_dobrovolniky":true, Boolean Zájem o účast dobrovolníků na akcích vii "navrhovana_prevence": Object Navrhovaná prevence viii, "zajem_o_ucast":true, Boolean Zda se nálezce chce účastnit vyhánění ix Odpověď obsahuje kompletní údaje o zadaném výskytu (viz Čtení záznamu o jednom výskytu). Odstranění výskytu DELETE https://senosec.czu.cz/api/vyskyty/vyskyt/<id> Kde <id> (integer) je identifikátor výskytu, který má být odstraněn. Hledání všech výskytů na zadaném území GET https://senosec.czu.cz/api/vyskyty/vse?min_lat=...&min_lng=...&max_lat=...&max_lng=... Kde parametry min_lat, min_lng, max_lat a max_lng jsou povinné a definují obdélníkovou oblast v mapě, ve které se hledají výskyty. min_lat (float) je minimální zeměpisná šířka min_lng (float) je minimální zeměpisná délka max_lat (float) je maximální zeměpisná šířka max_lng (float) je maximální zeměpisná délka Odpověď obsahuje pole údajů o všech nalezených výskytech (viz Čtení záznamu o jednom výskytu).
Hledání výskytů zadaných aktuálním uživatelem GET https://senosec.czu.cz/api/vyskyty /moje Odpověď obsahuje pole údajů o všech nalezených výskytech (viz Čtení záznamu o jednom výskytu). Akce Čtení záznamu o jedné akci GET https://senosec.czu.cz/api/akce/akce/<id> Kde <id> (integer) je identifikátor zvolené akce. Každá akce je definována na nějakém porostu. Proto odpověď obsahuje údaje o porostu (viz Čtení záznamů o jednom porostu) rozšířený o údaje o akcích, které jsou pro porost naplánovány a které vyhovují kritériím dotazu: "id":1, Integer Identifikátor porostu Ostatní údaje o porostu, viz Čtení záznamu o jednom porostu "akce":[ Array Pole akcí na porostu, které vyhovují dotazu Object Údaje o akci "id":1, Integer Identifikátor akce "zacatek":"2015-06-13t13:30+02:00", String Datum a čas začátku akce "popis":"sejdeme se u křížku", String Popis či pokyny pro akci "zajem_o_dobrovolniky":true, Boolean Zájem o účast dobrovolníků "prevence": Object Skutečně použitá prevence "nazev":"procházení" String Název, "ucastnici":[ Array Seznam účastníků přihlášených na akci Object Uživatel přihlášený na akci "id":3, Integer Identifikátor uživatele "jmeno":"pavel", String Jméno uživatele "prijmeni":"junek" String Příjmení uživatele, ], "zadal": Object Uživatel, který akci vytvořil "id":3, Integer Identifikátor uživatele "jmeno":"pavel", String Jméno uživatele "prijmeni":"junek" String Příjmení uživatele, ] Čtení všech akcí plánovaných na zadaném porostu GET https://senosec.czu.cz/api/akce/porost/<id> Kde <id> (integer) je identifikátor zvoleného porostu
Odpověď je podobná, jako u čtení záznamu o jedné akci, s výjimkou toho, že pole akce může obsahovat více položek. Vytvoření nové akce POST https://senosec.czu.cz/api/akce/porost/<id> Kde <id> (integer) je identifikátor porostu, na kterém se má akce vytvořit. Tělo požadavku musí obsahovat údaje o nové akci: Object Údaje o akci "zacatek":"2015-06-13t13:30+02:00", String Datum a čas začátku akce "popis":"sejdeme se u křížku", String Popis či pokyny pro akci "zajem_o_dobrovolniky":true, Boolean Zájem o účast dobrovolníků "prevence": Object Skutečně použitá prevence, Odpověď obsahuje kompletní údaje o vytvořené akci (viz Čtení záznamu o jedné akci). Změna akce PUT https://senosec.czu.cz/api/akce/akce/<id> Kde <id> (integer) je identifikátor akce, která se má změnit. Tělo požadavku musí obsahovat údaje o akci: Object Údaje o akci "zacatek":"2015-06-13t13:30+02:00", String Datum a čas začátku akce "popis":"sejdeme se u křížku", String Popis či pokyny pro akci "zajem_o_dobrovolniky":true, Boolean Zájem o účast dobrovolníků "prevence": Object Skutečně použitá prevence, Odpověď obsahuje kompletní údaje o změněné akci (viz Čtení záznamu o jedné akci). Odstranění akce DELETE https://senosec.czu.cz/api/akce/akce/<id>?duvod=<duvod> Kde <id> (integer) je identifikátor akce, která má být odstraněna, a <duvod> (string) je důvod odstranění akce. Přihlášení uživatele na akci POST https://senosec.czu.cz/api/akce/ucast/<id> Kde <id> (integer) je identifikátor akce, na kterou se chce uživatel přihlásit. Odpověď obsahuje kompletní údaje o změněné akci (viz Čtení záznamu o jedné akci).
Odhlášení uživatele z akce DELETE https://senosec.czu.cz/api/akce/ucast/<id> Kde <id> (integer) je identifikátor akce, na kterou se chce uživatel přihlásit. Odpověď obsahuje kompletní údaje o změněné akci (viz Čtení záznamu o jedné akci). Hledání všech akcí na zadaném území GET https://senosec.czu.cz/api/akce/vse?min_lat=...&min_lng=...&max_lat=...&max_lng=... Kde parametry min_lat, min_lng, max_lat a max_lng jsou povinné a definují obdélníkovou oblast v mapě, ve které se hledají akce. min_lat (float) je minimální zeměpisná šířka min_lng (float) je minimální zeměpisná délka max_lat (float) je maximální zeměpisná šířka max_lng (float) je maximální zeměpisná délka Odpověď obsahuje pole údajů o všech nalezených akcích (viz Čtení záznamu o jedné akci). Hledání všech akcí zadaných aktuálním uživatelem GET https://senosec.czu.cz/api/akce/moje Odpověď obsahuje pole údajů o všech nalezených akcích (viz Čtení záznamu o jedné akci). Hledání všech akcí, na které je aktuální uživatel přihlášen GET https://senosec.czu.cz/api/akce/ucast Odpověď obsahuje pole údajů o všech nalezených akcích (viz Čtení záznamu o jedné akci). i Pouze v případě zadání myslivcem ii Pouze v případě zadání myslivcem iii Pouze v případě zadání dobrovolníkem iv Pouze v případě zadání myslivcem v Pouze v případě zadání myslivcem vi Pouze v případě zadání dobrovolníkem vii Pouze v případě zadání myslivcem viii Pouze v případě zadání myslivcem ix Pouze v případě zadání dobrovolníkem