REST API - Dokumentace pro vývojáře
Toto aplikační rozhraní umožňuje integrovat službu Lustrace do Vašeho vlastního software. Můžete tak integrovat např. lustraci v Centrální evidenci exekucí či Centrálnom registri exekúcií do vašeho rozhodovacího procesu.
API je založeno na HTTPS GET/POST protokolu. K jeho používání musíte:
- Přistupovat pouze přes zabezpečený protokol HTTPS.
- Být v systému zaregistrován.
- Autentizovat se zadáním přihlašovacího loginu a hesla.
Obecný popis API
Jednotlivé dotazy
Aplikační rozhraní je možno použít k on-line dotazům nebo k
hromadným (dávkovým) lustracím. U jednotlivých dotazů si vystačíte
s funkcí lustraceSearchSubject
, které zadáte
osobu a typ lustrace a výsledek lustrace je okamžitě vrácen
jako pole dvojic klíčů a hodnot, např. klíč
CEEPocet
s hodnotou 0
.
Hromadné (dávkové) zpracování
U hromadných (dávkových) lustrací je potřeba založit dávku k lustraci a následně se periodicky dotazovat na stav zpracování.
Při zakládání se volá funkce lustraceCreateBatch
zadává
pole (množina) osob a typ lustrace a ve výsledku je vrácen systémem
vytvořený identifikátor dávky, např. 20150101.100
.
Následně funkcí lustraceBatchDetails
je možno se periodicky
dotazovat na stav zpracování dávky či po dokončení stáhnout všechny výsledky.
Vstupní parametry a formát výstupů lustrací
Na vstupu je typicky zadávaná osoba, a to pomocí jména, příjmení, data narození nebo rodného čísla nebo IČ. U některých rejstříků je možno uvést na vstupu i jiný údaj (např. spisovou značku při dotazu na detail spisové značky, číslo dokladu při dotazu na platnost dokladu apod.).
Typ lustrace je jeden z předkonfigurovaných seznamů rejstříků,
do kterých se chcete dotázat. Jejich přehled je uveden v lustračním
formuláři na stránce Lustrace, např.
Zakladni
, CEE
či CRE
.
Platí, že pokud chcete jen
jeden rejstřík, lze jako typ lustrace uvést kód toho rejstříku
(viz Další rejstříky). V případě
potřeby Vám můžete vytvořit typ lustrace (kombinaci rejstříků) na míru.
Popis konkrétních položek, které se můžou ve výstupu objevit, jsou uvedeny v dokumentaci rejstříků, do kterých jste se dotazovali.
Popis funkcí API
api/lustraceSearchSubject
- jednotlivá on-line lustrace
Vstupní parametry:
username
,password
: autentizace.profile
: typ lustrace (např. "CEE", "CRE", "Devel",...).Jmeno
,Prijmeni
,Narozen
,RC
,IC
,...: smysluplná podmnožina definující osobu.
Výstupní hodnoty:
batchId
: naše ID přidělené lustraci (uvedeno i v sekci Vyúčtování apod.).done
: u jednotlivých lustací vždy1
.warnings
: případné chyby pro zobrazení uživateli.files
: seznam názvů příloh k výstupu lustrace.detail
: seznam dvojic klíčů a hodnot s vlastním výsledkem lustrace.html
: kopie výstupních hodnot naformátovaných jako HTML fragment.costCents
: cena provedeného dotazu v haléřích včetně DPH. Do ceny není započítána případná smluvní paušální cena služby (typicky u EÚ).balanceCents
: stav kreditu v haléřích včetně DPH po zaúčtování ceny dotazu.
Příklad
curl -o vystup.json 'https://ispis.cz/api/lustraceSearchSubject?username=...&password=...&profile=Devel&Jmeno=Jan&Prijmeni=Novák&Narozen=14.6.1983'
{ "batchId": "20151123.5", "detail": { "CasLustrace": "2014-11-23T22:29:59", "Complex_JSON": "[{\"Date\":\"2014-11-23\"},{\"Time\":\"22:29:59\"}]", "Devel": "test", "Jmeno": "Jan", "Narozen": "1981-03-14", "Osloveni": "Nováku", "Prijmeni": "Novák" }, "done": 1, "files": [], "warnings": null, "html": "<table class='detail no-border' border=0><tbody class='no-border-x no-border-y'><tr><th align=\"left\" valign=\"top\">Jm\u00e9no</th><td>Jan</td><td valign='bottom'></td></tr><tr><th align=\"left\" valign=\"top\">P\u0159\u00edjmen\u00ed</th><td>Nov\u00e1k</td><td valign='bottom'></td></tr><tr><th align=\"left\" valign=\"top\">Narozen</th><td>1981-03-14</td><td valign='bottom'></td></tr><tr><th align=\"left\" valign=\"top\">Devel</th><td>test</td><td valign='bottom'></td></tr><tr><th align=\"left\" valign=\"top\">Osloveni</th><td>Nov\u00e1ku</td><td valign='bottom'></td></tr><tr><th align=\"left\" valign=\"top\">\u010cas lustrace</th><td>2014-11-23T22:29:59</td><td valign='bottom'></td></tr><tr><th align=\"left\" valign=\"top\">Complex_JSON</th><td colspan=2><table class='no-border'><thead class='no-border'><tr><th>Date</th><th>Time</th><th></th></tr></thead><tbody class='no-border-x no-border-y'>\n<tr><td>2014-11-23</td><td></td><td></td></tr><tr><td></td><td>22:29:59</td><td></td></tr></tbody></table></td></tr></tbody></table>\n" }
Vlastní výstup je tedy v poli detail
. Seznam konkrétních
položek, které se můžou ve výstupu objevit, jsou uvedeny v
dokumentaci rejstříků,
do kterých jste se dotazovali.
Z historických důvodů jsou klíče končící na JSON
uvedeny
jako textové hodnoty v JSON formátě.
Výstup z pole detail
doporučujeme u Vás ukládat opět jako
seznam dvojic klíčů a hodnot (či jako JSON).
api/lustraceCreateBatch
- vytvoření hromadné lustrace
Vstupní parametry:
username
,password
: autentizace.profile
: typ lustrace.batchName
: nepovinný název dávky (bude uveden např. v historii lustrací, ve Vyúčtování apod.)inputJson
: seznam osob k lustraci v JSON formátě, např.[{"IC":"29190088"}]
Výstupní hodnoty:
batchId
: naše ID přidělené lustraci, pro další dotazování na stav a stažení výsledků.
Na vstupu můžete u osoby zadat položku ID
nebo
RefNo
obsahující Váš identifikátor osoby, resp. dotazu.
Tento identifikátor bude vrácen ve výsledcích dotazu, což Vám usnadní
zpětné párování vrácených výsledků.
Tuto funkci je vhodné volat pomocí POST metody, obzvláště u většího počtu lustrovaných subjektů.
Ukázka použití funkcí pro hromadné lustrace je uvedena v následující JavaScriptovém souboru:
- javascript.html - ukázka použití hromadných lustrací.
api/lustraceBatchDetails
- stažení výsledků
hromadné lustrace
Vstupní parametry:
username
,password
: autentizace.batchId
: ID lustrace vrácené v předešlém kroku.
Výstupní hodnoty:
done
:1
, pokud je dávka zpracována,null
pokud ještě není.warnings
: případné chyby pro zobrazení uživateli.subjects
: seznam výsledků lustrace.costCents
: po dokončení lustrace dávky obsahuje cenu lustrace v haléřích včetně DPH. Do ceny není započítána případná smluvní paušální cena služby (typicky u EÚ).balanceCents
: stav kreditu v haléřích včetně DPH po zaúčtování ceny dotazu.
Tuto funkci je potřeba volat opakovaně v intervalu nanejvýš jednou
za 10 sekund, dokud nebude v položce done
uvedena hodnota
1
. Do té doby se dávka zpracovává - buď čeká ve frontě
nebo jsou zadané osoby postupně lustrovány.
Pokud je dávka zpracována, jsou výsledky uloženy v seznamu
subjects
- po jednom výsledku pro každou osobu na vstupu.
Výsledek je opět ve tvaru pole klíčů a hodnot, shodně s výstupem
funkce lustraceSearchSubject
.
Ukázka použití funkcí pro hromadné lustrace je uvedena v následující JavaScriptovém souboru:
- javascript.html - ukázka použití hromadných lustrací.
api/lustraceDownload
- stažení přílohy
Některé rejstříky na výstupu generují PDF soubory s přílohou, např. el. podepsaný výpis z katastru nemovitostí apod.
Informace o přiložených souborech je u jednotlivých lustrací
v poli files
nebo u hromadných lustrací v poli
Prilohy
jako mezerou oddělený seznam názvů souborů.
Vstupní parametry:
username
,password
: autentizace.batchId
: ID lustrace vrácené v předešlém kroku.lineno
: pořadové číslo osoby vinputJson
(číslováno od nuly,0
u jednotlivých lustrací).name
: název souboru z polefiles
neboPrilohy
.
Výstupní hodnoty:
Tato funkce na výstupu vrací přímo binární obsah PDF souboru.
Testovací rozhraní
Pro vývoj a testování API lustrací je možno použít rejstřík
Devel
, který je zdarma.
Při zadání fyzické osoby na vstupu tento rejstřík vrátí příjmení osoby
ve formě pro oslovení a také strukturu Complex_JSON
.
Při zadání právnické osoby (IČ) vrátí jeden PDF dokument.