Popis webových služeb ISPOP
Obsah
- 1. Úvod
- 2. Dostupnost a zabezpečení
- 3. Dokumenty
- 4. Správa hlášení
- 5. Registr ISPOP
- 6. Hlášení
- 7. Interní služby
- 8. Příloha: Podpora ELPNO
- 9. Příloha: Dokumenty – dodatky
- 10. Příloha: Správa hlášení – dodatky
- 11. Příloha: Registr ISPOP – dodatky
- 12. Příloha: Interní služby – dodatky
1 Úvod
Tento dokument je určen zájemcům o napojení na webové služby ISPOP. Popisuje WSDL rozhraní a principy, na kterých byly webové služby vytvořeny.
Aplikace ISPOP poskytuje ucelenou sadu webových služeb, které umožňují využít celou řadu funkčností. Služby ISPOP vznikaly postupně v letech 2009+ a během vývoje vznikla řada konvencí, jež jsou dodržovány napříč webovými službami. Nejnovější jsou služby registru ISPOP a služby pro podporu ohlášení (hlášení). Dlouhodobým cílem je převést i starší služby na konvence zavedené během implementace služeb pro registr ISPOP a hlášení.
Služby poskytované pro externí aplikace lze rozdělit do několika skupin:
Oblast | Vznik | Popis |
---|---|---|
Dokumenty | 2009 | služby pro příjem a validaci dokumentů |
Správa hlášení | 2011 | komplexní sada služeb pro správu hlášení od přehledů po řízení workflow |
Služby registru ISPOP | 2013 | přístup k informacím registru ISPOP – subjekty (ohlašovatelé, ověřovatelé), provozovny, zmocnění aj. |
Hlášení | 2014 | specializované služby pro stažení (download) a odeslání (upload) formulářů hlášení |
Interní služby | 2009 | skupina služeb pro integraci s interními systémy |
Dostupné služby jsou založeny převážně na standardech WSDL, SOAP, HTTP a XSD; výjimečně REST (primárně pro interní účely).
1.1 Členění dokumentu a konvence
Rychlý přehled aktuálních služeb je v sekci Rychlý přehled aktuálních služeb.
V sekci Dostupnost a zabezpečení je uveden odkaz na seznam vstupních bodů webových služeb (endpoint), jsou uvedeny aktuální verze a je popsáno zabezpečení služeb.
V dalších sekcích následuje popis služeb po jednotlivých oblastech (Dokumenty, Správa hlášení, Registr ISPOP, Hlášení, Interní služby).
V přílohách jsou uvedeny ukázky komunikace, odkazy na významné číselníky a případně další informace.
Každá WSDL SOAP služba definuje v rámci svého definičního souboru ucelený jmenný prostor/y. Při popisu dané služby je na elementy v XSD odkazováno pomocí XPATH, ale bez jmenného prostoru. Předpokládá se, že v rámci kontextu je zřejmé, z jakého jmenného prostoru daný element pochází a předpokládá se, že uživatel má definice WSDL, XSD případně další soubory dostupné, takže není problém konzultovat příklad s definicí (provozovatel systému ISPOP poskytuje definice služeb zdarma včetně této dokumentace).
Všechny příklady byly testovány na testovacím nebo vývojovém prostředí s
využitím testovacích dat. Při jejich testování byl využit volně dostupný
program SoapUI (http://www.soapui.org/
).
V rámci popisu jsou pro přehlednost XML dokumenty zkracovány, popř. je použit jen výsek příslušného XML dokumentu.
1.1.1 Typografické konvence
důležitý termín |
http://url.adresa.cz/ |
odkaz na zdrojový kód |
//výraz/XPATH/CatalogDto |
<?xml version="1.0" encoding="utf-8"?> <!-- ukázka zdrojového kódu XML -->
1.2 ISVS
ISPOP je informačním systémem veřejné správy (ISVS).
V rámci každého volání webové služby je logováno:
- kontext uživatele, který volání provádí
- zdrojové URL
- cílová webová metoda
- informace o úspěchu/neúspěchu volání
- zaznamenání chybového stavu, pokud k němu dojde
1.3 Rychlý přehled aktuálních služeb
1.3.1 Dokumenty
DocumentRegistrationInputService | v20110901-documentRegistrationInput.wsdl | Neautoriovaná služba pro příjem registrací |
DocumentInputService | v20110901-documentInput.wsdl | Autoriovaná služba pro příjem dokumentů (hlášení) |
DocumentValidateService | v20110901-documentValidate.wsdl | Neautoriovaná služba pro validaci dokumentů (hlášení a registrace) |
1.3.2 Správa hlášení
HlaseniListService | v20120411-hlaseniListService.wsdl | Autoriovaná služba pro vyhledání hlášení |
HlaseniDetailService | v20120411-hlaseniDetailService.wsdl | Autorizovaná služba pro přístup k detailu hlášení (zdrojový dokument, přílohy aj.) |
v20130221-hlaseniDetailService.wsdl | ||
HlaseniProcessService | v20120411-hlaseniProcessService.wsdl | Autorizovaná služba pro řízení workflow (změny stavů) |
v20130221-hlaseniProcessService.wsdl |
1.3.3 Registr ISPOP
CatalogService | catalog.wsdl | Autoriovaná služba pro přístup k číselníkům |
DocumentService | document.wsdl | Autoriovaná služba pro přístup k dokumentům (fyzickým souborům zaslaným do ISPOP) |
LegalSubjectService | legalsubject.wsdl | Autoriovaná služba pro přístup k subjektům (ohlašovatelé, ověřovatelé) |
LegalSubjectEditService | legalsubjectedit.wsdl | Autoriovaná služba pro změny subjektů |
ElementarniZdrojService | elementarnizdroj.wsdl | Autoriovaná služba pro přístup k elementárním zdrojům (místům užívání vody) |
ElementarniZdrojEditService | elementarnizdrojedit.wsdl | Autoriovaná služba pro změny elementárních zdrojů (míst užívání vody) |
RozhodnutiService | rozhodnuti.wsdl | Autoriovaná služba pro přístup k rozhodnutím (míst užívání vody) |
RozhodnutiEditService | rozhodnutiedit.wsdl | Autoriovaná služba pro přístup k rozhodnutím (míst užívání vody) |
ElemZdrojRozhodnutiService | elemzdrojrozhodnuti.wsdl | Autoriovaná služba pro přístup k vazbám mezi elementárními zdroji (místy užívání vody) a rozhodnutími |
ElemZdrojRozhodnutiEditService | elemzdrojrozhodnutiedit.wsdl | Autoriovaná služba pro změny vazeb elementárních zdrojů (míst užívání vody) a rozhodnutí |
ZmocneniService | zmocneni.wsdl | Autoriovaná služba pro přístup ke zmocnění (vazba subjekt (zmocnitel) – subjekt (zmocněnec)) |
UserService | user.wsdl | Autoriovaná služba pro přístup k uživatelům |
UserEditService | userEdit.wsdl | Autoriovaná služba pro změny u uživatelů |
SpravcovstviService | spravcovstvi.wsdl | Autoriovaná služba pro přístup ke správcovství (vazba subjekt (spravovaný subjekt) – uživatel (správce)) |
EmploymentService | employment.wsdl | Autoriovaná služba pro přístup k zaměstnáncům (vazba subjek (zaměstnavatel) – uživatel (zaměstnanec)) |
EmploymentEditService | employmentEdit.wsdl | Autoriovaná služba pro změny u zaměstnanců |
1.3.4 Hlášení
HlaseniUploadService | hlaseniupload.wsdl | Autoriovaná služba pro odeslání a případnou validaci formuláře hlášení |
HlaseniValidateService | hlasenivalidate.wsdl | Neautoriovaná služba pro validaci formuláře hlášení |
1.3.5 Interní služby
CeniaSpisovaSluzbaService | v20111116-ceniaSpisovaSluzba.wsdl | Rozhraní na spisovou službu Cenia – rozhraní Cenia |
IspopSpisovaSluzbaService | v20111116-ispopSpisovaSluzba.wsdl | Rozhraní na spisovou službu Cenia – rozhraní ISPOP |
2 Dostupnost a zabezpečení
2.1 Dostupnost služeb
Níže uvedené informační stránky obsahují seznam služeb dostupných v rámci daného prostředí:
- Produkční URL
- http://www.ispop.cz/ispop/ispop-springmvc/webServices/index
- Testovací URL
- http://90.182.205.50/ispop/ispop-springmvc/webServices/index
- Vývojové URL
- http://90.182.205.50/ispop-dev/ispop-springmvc/webServices/index
Samotné koncové body webové služby (zpracování příchozích požadavků) jsou definovány v příslušném WSDL souboru.
Produkční a testovací prostředí obsahují stejné sady webových služeb, na vývojovém prostředí jsou k dispozici nejnovější aktualizace.
2.2 Verze služeb
Současně může být nasazeno více verzí dané služby, je obecně doporučeno používat vždy nejaktuálnější verzi.
Podpora je poskytována jen pro aktuální verze webové služby. Webové služby uvedené v sekci zastaralé verze již nejsou podporované (byť mohou být kvůli zpětné kompatibilitě dostupné). Oznámení o zrušení podpory je vždy minimálně s půlročním předstihem.
Během vývoje dochází ke změnám. Každý soubor (wsdl, xsd) obsahuje v hlavičce informace o verzi a lokálních úpravách.
Zpětně kompatibilní změny (např. přidání nepovinného atributu) typicky nemají vliv na hlavní aktuální verzi a je na protistraně (a je v jejím zájmu), aby si udržovala definice aktuální.
Nekompatibilní změny mohou znamenat zavedení nové aktuální verze. Verze služeb jsou uváděny pro každou oblast zvlášť. Podrobné informace jsou vždy uvedeny v konkrétní sekci včetně prováděných oprav.
Oblast | Aktuální verze |
---|---|
Dokumenty | v20110901 |
Správa hlášení | v20130221, v20120411 |
Registr ISPOP | v20130505 |
Hlášení | v20130505 |
Interní služby | -- |
2.3 Zabezpečení
Některé služby poskytované systémem ISPOP jsou cíleně dostupné bez autorizace (nezabezpečené) – to je vždy uvedeno u konkrétní služby.
U ostatních služeb je zabezpečení realizováno na úrovni HTTP protokolu s
využitím HTTP Basic (http://www.ietf.org/rfc/rfc2617.txt
). Každý
uživatel má svůj účet a autorizuje se pomocí jména a hesla.
Přístup k produkčním službám je šifrován pomocí SSL. Platné jméno a heslo Vám zajistí správce aplikace.
Přístup ke službě probíhá na úrovni (1) funkčnosti a (2) v rámci dané
funkčnosti se kontroluje k jakým objektům a v jakém rozsahu může uživatel
přistupovat. Například uživatel s rolí ověřovatele (ROLE_OVEROVATEL
)
může přistupovat k seznamu subjektů, ale v rámci této služby uvidí jen ty
subjekty, které jsou mu přiřazeny.
WSDL pokrývají ucelené oblasti a je běžné, že v rámci jedné oblasti jsou poskytovány metody s různou úrovní zabezpečení, takže určitý uživatel může volat jen určité metody. Jsou aplikována stejné pravidla, jako kdyby uživatel přistupoval přímo do aplikace skrze webové rozhraní.
Webové služby jsou bezstavové a pokud je nějaká stavová informace potřebná na straně klienta, je odpovědností klienta si tuto informaci spravovat a udržovat (například návratové hodnoty volaných metod, jež bývají využity v další komunikaci).
2.3.1 Úrovně zabezpečení – bezpečnostní role
Každému uživateli jsou po přihlášení jménem a heslem (authentication) přiřazeny (authorization) bezpečnostní role, jež definují k jakým funkčnostem a jakým objektům má přístup.
V systému jsou zavedeny tyto role:
ROLE_ADMIN |
Administrátor | Nejvyšší oprávnění, má dostupné všechny funkčnosti a všechny objekty. Vyhrazen správci systému. |
ROLE_SUPER_SPRAVCE |
Supersprávce | Všechny funkčnosti nutné pro provoz, všechny objekty. Vyhrazen správci systému. |
ROLE_SPRAVCE |
Správce ISPOP | Většina funkčností, v rámci nich všechny objekty. |
ROLE_OPERATOR |
Operátor ISPOP | Běžné funkčností nutné pro provoz, v rámci nich všechny objekty. |
ROLE_VOD_OPERATOR |
Operátor VOD | Funkčnosti spojené s místy užívání vody (elementární zdroje). |
ROLE_PZV_OPERATOR |
Operátor PZV | Funkčnosti spojené s poplatkovými a podlimitními zdroji. |
ROLE_RECENZENT |
Recenzent | Přístup k přehledům. |
ROLE_OVEROVATEL |
Ověřovatel | Přístup k ověření hlášení. |
ROLE_OHLASOVATEL |
Ohlašovatel | Přístup k zaslaným dokumentům a svým subjektům. |
ROLE_SPRAVCE_SUBJEKTU |
Správce subjektu | Přístup k zaslaným dokumentům, svým subjektům a provozovnám. |
ROLE_BRIGADNIK |
Brigádník | Minimální přístup do aplikace, výpomoc s autorizací. |
ROLE_READER |
"Reader" | Přístup k přehledům. |
ROLE_AUTORIZUJICI |
Autorizující | Systémová role pro přístup k autorizacím. |
ROLE_REGISTRUJICI |
Registrující | Systémová role pro přístup k registracím. |
ROLE_GUEST |
"Host" | Systémová role, přiřazená v případě neexistujících jiných oprávnění (tj. anonymní přístup). |
ROLE_HD_INT_DODAVATEL |
Administrátor EnviHD | Přístup k uživatelům. |
ROLE_HD_INT_SPRAVCE |
Správce EnviHD | Přístup k uživatelům. |
ROLE_HD_INT_SECOND_LVL |
Expert | Přístup ke svému účtu. |
ROLE_HD_INT_FIRST_LVL |
Call Centrum | Přístup ke svému účtu. |
Uživatelé mohou mít více rolí a výsledná oprávnění jsou určena jako
sjednocení všech oprávnění, zároveň platí, že nadřazená role (viz níže)
přebírá všechny oprávnění podřazené role. Na vrcholku hierarchie je
ROLE_ADMIN
.
Vzájemné vztahy rolí:
ROLE_ADMIN |
> |
ROLE_SUPER_SPRAVCE |
ROLE_SUPER_SPRAVCE |
> |
ROLE_SPRAVCE |
ROLE_SPRAVCE |
> |
ROLE_OPERATOR |
ROLE_SPRAVCE |
> |
ROLE_VOD_OPERATOR |
ROLE_SPRAVCE |
> |
ROLE_PZV_OPERATOR |
ROLE_SPRAVCE |
> |
ROLE_RECENZENT |
ROLE_SPRAVCE |
> |
ROLE_OVEROVATEL |
ROLE_SPRAVCE |
> |
ROLE_OHLASOVATEL |
ROLE_SPRAVCE |
> |
ROLE_SPRAVCE_SUBJEKTU |
ROLE_OPERATOR |
> |
ROLE_BRIGADNIK |
ROLE_OPERATOR |
> |
ROLE_READER |
ROLE_OPERATOR |
> |
ROLE_AUTORIZUJICI |
ROLE_OPERATOR |
> |
ROLE_REGISTRUJICI |
ROLE_OPERATOR |
> |
ROLE_UZIVATEL |
ROLE_RECENZENT |
> |
ROLE_UZIVATEL |
ROLE_OVEROVATEL |
> |
ROLE_UZIVATEL |
ROLE_OHLASOVATEL |
> |
ROLE_REGISTRUJICI |
ROLE_OHLASOVATEL |
> |
ROLE_UZIVATEL |
ROLE_SPRAVCE_SUBJEKTU |
> |
ROLE_UZIVATEL |
ROLE_AUTORIZUJICI |
> |
ROLE_UZIVATEL |
ROLE_REGISTRUJICI |
> |
ROLE_GUEST |
ROLE_UZIVATEL |
> |
ROLE_GUEST |
ROLE_ADMIN |
> |
ROLE_HD_INT_DODAVATEL |
ROLE_HD_INT_DODAVATEL |
> |
ROLE_HD_INT_SPRAVCE |
ROLE_HD_INT_SPRAVCE |
> |
ROLE_HD_INT_SECOND_LVL |
ROLE_HD_INT_SPRAVCE |
> |
ROLE_HD_INT_FIRST_LVL |
3 Dokumenty
V rámci služeb pro práci s dokumenty jsou k dispozici metody pro příjem a validaci dokumentů. Z implementačních důvodů jsou v rozhraní speciální metody přijímající serializované XML – ty jsou určeny pro klienty Adobe Reader. Ostatní klienti by měly volat jejich ekvivalenty s normálními datovými typy.
3.1 Verze
3.1.1 Aktuální verze
3.1.2 Zastaralé verze
Pro příjem a validaci dokumentů existují ještě další zastaralé verze (bez označení); dostupné jen z důvodu zachování kompatibility; již nejsou podporované. V žádném případě není doporučeno je používat.
WSDL | Charakteristika |
---|---|
reportInput.wsdl | Příjem dokumentů (formuláře) |
reportValidate.wsdl | Validace dokumentů (formuláře) |
3.1.3 Podpůrné služby
Některé PDF formuláře poskytované systémem ISPOP vyžadují speciální služby. Tyto služby nejsou označeny verzí, nejsou dokumentovány a nejsou určeny pro využití třetími stranami. Jsou to:
WSDL | Charakteristika |
---|---|
IspopAres.wsdl | Podpora pro načítání dat z ARES (formuláře do roku 2012 včetně) |
IspopRes.wsdl | Podpora pro načítání dat z RES (formuláře od roku 2013 včetně) |
getResInfo | REST služba pro RES. |
3.2 Popis služeb
3.2.1 DocumentRegistrationInputService
DocumentRegistrationInputService | v20110901-documentRegistrationInput.wsdl | Neautoriovaná služba pro příjem registrací |
Tato služba není autorizovaná. Kdokoli může poslat registraci do systému ISPOP. O jejím zpracování (schválení či zamítnutí) se rozhoduje později.
submit |
Metoda pro příjem dat. |
submitForAcroread |
Speciální implementace submit pro využítí v Adobe Acrobatu. |
Metoda submit
příjímá binární stream dat a vrací číslo dokumentu jako
výsledek. Číslo dokumentu je základní identifikátor dokumentu v systému
ISPOP. Pokud klient v budoucnu bude provádět s dokumentem další operace
(například řízení workflow), měl by si číslo dokumentu uchovat. Dokument je
tak přijat ke zpracování. Metoda musí přijmout jakýkoli stream dat a vždy
reaguje vrácením čísla dokumentu.
Vstupem do metody jsou binární data kódovaná v base64:
<?xml version="1.0" encoding="utf-8"?> <xsd:element name="submit"> <xsd:complexType> <xsd:sequence> <xsd:element name="indoc" type="xsd:base64Binary"> <xsd:annotation> <xsd:documentation xml:lang="cs"> Vstupní dokument zakódovaný v base64. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element>
Výstupem z metody pak číslo dokumentu
//submitResponse/submitResponseDetails/documentNumber
, v případně chyby
je nastaven kód //submitResponse/submitResponseDetails/statusCode
na
odpovídající hodnotu:
<?xml version="1.0" encoding="utf-8"?> <xsd:element name="submitResponse"> <xsd:complexType> <xsd:sequence> <xsd:element name="submitResponseDetails" type="SubmitResponseDetails" /> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:complexType name="SubmitResponseDetails"> <xsd:sequence> <xsd:element name="status" type="StatusCode"> <xsd:annotation> <xsd:documentation xml:lang="cs"> Informace o úspěchu operace. Viz //StatusCode. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="documentNumber" type="xsd:string"> <xsd:annotation> <xsd:documentation xml:lang="cs"> Číslo dokumentu. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:complexType> <xsd:simpleType name="StatusCode"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="OK"> <xsd:annotation> <xsd:documentation>Návratová hodnota je v pořádku, nenastala žádná chyba</xsd:documentation> </xsd:annotation> </xsd:enumeration> <xsd:enumeration value="NO_INPUT"> <xsd:annotation> <xsd:documentation>Nastala chyba, nebyl zadán správný vstup pro metodu</xsd:documentation> </xsd:annotation> </xsd:enumeration> <xsd:enumeration value="UNEXPECTED_SERVER_ERROR"> <xsd:annotation> <xsd:documentation>Nastala neočekávaná chyba na serveru</xsd:documentation> </xsd:annotation> </xsd:enumeration> <xsd:enumeration value="UNEXPECTED_ERROR"> <xsd:annotation> <xsd:documentation>Nastala neočekávaná chyba na serveru</xsd:documentation> </xsd:annotation> </xsd:enumeration> <xsd:enumeration value="XSD_ERROR"> <xsd:annotation> <xsd:documentation>Nastala chyba při XSD validaci, formulář neodpovídá spŕavnému formátu </xsd:documentation> </xsd:annotation> </xsd:enumeration> <xsd:enumeration value="VALIDATION_ERROR"> <xsd:annotation> <xsd:documentation>Nastala chyba při logické validaci formuláře</xsd:documentation> </xsd:annotation> </xsd:enumeration> </xsd:restriction> </xsd:simpleType>
3.2.2 DocumentInputService
Pro odeslání hlášení byla vytvořena nová služba, viz Hlášení. Její použití je preferováno. Nabízí lépe strukturované rozhraní a automatické provolání validací před samotným odesláním hlášení.
DocumentInputService | v20110901-documentInput.wsdl | Autoriovaná služba pro příjem dokumentů (hlášení) |
Stejné rozhraní jako DocumentRegistrationInputService s tím rozdílem, že služba je autorizovaná – odesílat dokumenty do ISPOP mohou jen existující uživatelé.
submit |
Metoda pro příjem dat. | ROLE_UZIVATEL |
submitForAcroread |
Speciální implementace submit pro využítí v Adobe Acrobatu. |
ROLE_UZIVATEL |
Pro metodu submit
platí stejná pravidla, jako u příjmu registrací –
příjímá binární stream dat a vrací číslo dokumentu jako výsledek, případně
chybový kód, viz DocumentRegistrationInputService.
Pokud dokument neodpovídá datovému standardu, je ISPOPem vyhodnocen v dalším zpracování jako nevalidní podání. Dokumenty, které nejsou dynamickými PDF (formuláře ISPOP) nebo XML podle datového standardu, jsou v každém případě vyřazeny. Pokud je to možné, je zpracovatel dokumentu kontaktován – toto naznačené chování ale nijak nesouvisí se samotným příjmem dokumentů. Úkolem této služby je uložit zaslaná data a potvrdit klientovi, že byla/nebyla přijata.
3.2.3 DocumentValidateService
Pro validaci hlášení byla vytvořena nová služba, viz Hlášení. Její použití je preferováno. Nabízí lépe strukturované rozhraní a možnost autorizovaného provolání umožňující podrovnější validace (příslušnost k subjektu aj.).
DocumentValidateService | v20110901-documentValidate.wsdl | Neautoriovaná služba pro validaci dokumentů (hlášení a registrace) |
Vždy před odesláním dokumentu do ISPOP je vhodné provést jeho online validaci. Každý dokument odeslaný do ISPOP se během následujícího zpracování validuje stejnými algoritmy, jaké provádí tato operace. Validní dokument mimo jiné splňuje formální požadavky systému na zpracování; nevalidní dokumenty jsou z dalšího zpracování vyřazeny.
validate |
Metoda pro validaci dokumentu. |
validateForAcroread |
Speciální implementace validate pro využítí v Adobe Acrobatu. |
Rozhraní je podobné DocumentInputService, namísto binárních dat však služba přijímá data v textové podobě – serializované XML data, která by měla vyhovovat vyhlášenému standardu:
<?xml version="1.0" encoding="utf-8"?> <xsd:element name="validate"> <xsd:complexType> <xsd:sequence> <xsd:element name="xmldoc" type="xsd:string"> <xsd:annotation> <xsd:documentation xml:lang="cs"> Vstupní dokument -- serializované XML do řetězce. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:complexType> </xsd:element>
Výstupem je zpráva o nalezených validačních problémech, jež lze rozdělit podle závažnosti na:
- Chyby (Error)
- zabraňují podání dokumentu
- Varování (Warning)
- nezabraňují podání dokumentu
- Upozornění (Info)
- doplňující informace zjištěné během validace
<?xml version="1.0" encoding="utf-8"?> <xsd:element name="validateResponse"> <xsd:complexType> <xsd:sequence> <xsd:element name="validateResponseDetails" type="ValidateResponseDetails" /> </xsd:sequence> </xsd:complexType> </xsd:element> <xsd:complexType name="ValidateResponseDetails"> <xsd:sequence> <xsd:element name="status" type="StatusCode"> <xsd:annotation> <xsd:documentation xml:lang="cs"> Informace o úspěchu operace. Viz //StatusCode. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="xsdErrorList" type="XsdErrorList"> <xsd:annotation> <xsd:documentation xml:lang="cs"> Seznam XSD chyb. Výstup parseru XML. Zprávy jsou v anglickém jazyce podle standardu XML. Chyby v XSD znamenají automatické zamítnutí dokumentu. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="validationErrorList" type="ValidationErrorList"> <xsd:annotation> <xsd:documentation xml:lang="cs"> Seznam chyb, jež zabraňují dalšímu zpracování. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="validationWarningList" type="ValidationErrorList"> <xsd:annotation> <xsd:documentation xml:lang="cs"> Seznam chyb, jež nezabraňují dalšímu zpracování. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="validationInfoList" type="ValidationErrorList"> <xsd:annotation> <xsd:documentation xml:lang="cs"> Seznam doplňujících informací. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:complexType>
4 Správa hlášení
4.1 Verze
4.1.1 Aktuální verze
- v20120411
- velké změny v rozhraní a implementaci, klienti komunikující přes starší rozhraní (4.1.2) nebudou funkční.
- oddělení akcí do jednotlivých oblastí
- definice číselníků v XML (s vyjímkou číselníku ověřovatelů)
- samotné definice jsou též chráněny jménem a heslem, více viz zabezpečení
- pro snadnější orientaci byla použita česká terminologie v názvech typů a elementů s několika málo výjimkami
- v20130221
Služby navazují na úpravu ISPOP pro rok 2014 – podpora pro daňový řád. Koncepčně jsou zcela stejné jako služby verze v20120411 a platí pro ně to samé (chybové stavy, popis atributů, …). V příslušných sekcích jsou popsána rozšíření proti verzi v20120411.
- revize webové služby detailu hlášení
- rozšíření stávajících informací o adresu ohlašovatele; adresa ohlašovatele je pro hlášení podle standardů před rokem 2012 převzata z hlášení, pro nová hlášení po zprovoznění ISZR (informační systém základních registrů) jde o adresu z ISZR platnou v době zaslání hlášení
- viz 10.3.2, vše ostatní jako pro verzi 4.1.1.1
- rozšíření webové služby pro správu procesů o daňové workflow
- revize webové služby detailu hlášení
- Bugfixing
- 2012-04-15
- revize definice konstant (enum typů)
- oprava řazení
- definice chybových stavů
- 2012-07-23
- úpravy ve filtraci hlášení (HlaseniFilterTyp) umožňuje filtraci podle více zadaných stavů (stavDokumentu, stavHlaseni)
- kontrola konverze dat u provozovny (HlaseniListEntryTyp > provozovna > ispopId skutečně obsahuje IČP – což odpovídá požadavkům)
- opravena konverze dat u ohlašovatele (provozovatele) (HlaseniListEntryTyp > ohlasovatel > ispopId nyní obsahuje IČO (bylo ponecháno prázdné))
- změna kodu ZNEPLATNENO na PARENT_ZNEPLATNENO v typech StavDokumentuCiselnikTyp a StavWorkflowCiselnikTyp
- 2012-08-03
- oprava definice typu StavDokumentuListTyp, StavHlaseniListTyp
- 2012-09-23
- oprava filtrovaní podle intervalu – chybné použití intervalu HlaseniFilterTyp.datumPrijetiSystem namísto intervalu HlaseniFilterTyp.datumPrijetiSpravniRad
- 2012-12-06
- oprava výpisu seznamu podle filtru – v elementu processId bylo chybně uvedeno číslo ověřovatele a naopak v elementu ispopRoleId (určeno pro ověřovatele) bylo číslo procesu
- 2013-07-29
- oprava filtrování o IČP provozovny – filtrovat lze nyní podle IČP
- možnost řadit výsledek seznamu hlášení podle čísla evidenčního (rozšíření XSD)
- 2013-09-09
- odstranění nevyužívaných XSD importů pro detail hlášení v20130221-hlaseniDetailService
- přidání nové webové služby pro správu procesů s podporou daňového řádu v20130221-hlaseniProcessService
- rozšíření definic číselníků pro daňový řád
- 2014-03-07
- aktualizace číselníkových typů:
StavDokumentuCiselnikTyp
StavHlaseniCiselnikTyp
StavWorkflowCiselnikTyp
- aktualizace číselníkových typů:
- 2014-05-05
- aktualizace číselníkových typů:
StavDokumentuCiselnikTyp
StavHlaseniCiselnikTyp
StavWorkflowCiselnikTyp
- aktualizace číselníkových typů:
- 2012-04-15
4.1.2 Zastaralé verze
Dokumentace k původním webovým službám správy hlášení je uvedena v příloze Příloha: Zastaralé služby správa hlášení.
4.2 Princip fungování
Služby jsou rozděleny do 3 logických celků (3 různé WSDL soubory):
HlaseniListService | v20120411-hlaseniListService.wsdl | Autoriovaná služba pro vyhledání hlášení |
HlaseniDetailService | v20130221-hlaseniDetailService.wsdl | Autorizovaná služba pro přístup k detailu hlášení (zdrojový dokument, přílohy aj.) |
v20120411-hlaseniDetailService.wsdl | ||
HlaseniProcessService | v20130221-hlaseniProcessService.wsdl | Autorizovaná služba pro řízení workflow (změny stavů) |
v20120411-hlaseniProcessService.wsdl |
Pro základní pochopení je vhodné mít představu o základních pojmech systému ISPOP. Detailní seznámení s fungováním jde nad rámec tohoto dokumentu, zájemce je možné odkázat na příslušné sekce manuálu:
- Vysvětlení rozdílu mezi dokumentem a hlášením a popis základních pojmů je na konci kapitoly 4.3 Ověřování hlášení.
- Chování systému je popsáno v Administrátorské dokumentaci v kap. 6.3.1. Stavy dokumentů a hlášení a v rámci přílohy 8.3 je doplněn Stavový model hlášení.
V následujících odstavcích je shrnutí nejdůležitějších pojmů a metod se vztahem k procesu správy hlášení.
Webové služby pro správu hlášení vznikly jako alternativní rozhraní systému pro podporu práce ověřovatelů (ORP aj.). Mohou být samozřejmě využívány i dalšími uživateli.
4.2.1 Správa hlášení v systému ISPOP
Do systému ISPOP jsou různými metodami zasílány dokumenty (z datové
schránky, e-Podatelny, přímo přes webové služby ISPOP aj.). Každý dokument
získává ihned po zaslání tzv. číslo dokumentu
(//HlaseniListEntryTyp/cisloDokumentu
).
Pro ISPOP je dokument prostě binární stream. Tento binární stream je označován pojmem dokument (včetně všech jeho příloh). V dalším zpracováním, jež je automatické a uživatel ho nijak neřídí, se dokument vyhodnotí buď jako hlášení, registrace, nebo nezpracovatelný dokument. Potenciální přílohy, jež jsou součástí dokumentu (PDF nebo XML) systém označuje prostě jako přílohu. Vždy má vazbu na dokument. Podrobněji viz Administrátorská dokumentace, vysvětlení na konci kapitoly 4.3 Ověřování hlášení.
Dokument je následně zpracováván skrze workflow dokumentu, které v sobě typicky zahrnuje minimálně jeden další proces (subflow, v terminologii webových služeb proces). Cílem je zpracovat workflow dokumentu až do finálních stavů; to se může povést jen tak, že jsou zpracovány všechny navázané procesy.
Pro účely webových služeb pracujícími s hlášením, jsou všechny dokumenty zároveň i hlášení. Není možné získat informace o registraci nebo nezpracovatelném dokumentu (pozor – hlášení může samo o sobě být nezpracovatelné).
Jakmile ISPOP rozpozná v dokumentu hlášení, proběhne sada automatických operací nad dokumentem:
- Určení typu hlášení
- XSD Validace
- Validace digitálního podpisu
- Logické validace
A následně dokument skončí ve stavu čeká na autorizaci nebo čeká na vyřízení.
Ve stavu čeká na vyřízení dokument skončí tehdy, pokud byl digitálně podepsaný uznávaným certifikátem popř. byl zaslán ze systému ISDS (datové schránky).
Pokud dokument čeká na autorizaci, je nutné ho nejprve autorizovat
(zpráva autorizujHlaseniDetailDto
).
Jakmile dokument čeká na vyřízení, je k němu přiřazeno jedno či více
workflow (zmiňované procesy, xpath:
HlaseniListEntryTyp/procesZpracovaniSeznam
). Uživatelé systému pak
pracují primárně s procesy a jakmile jsou všechny procesy vypořádány,
může být vypořádáno celé workflow dokumentu (děje se tak většinou
automaticky, na základě vnitřní logiky systému; uživatel do dalšího
zpracování již nezasahuje). Bližší informace lze nalézt v Administrátorské
dokumentaci Příloha Stavy dokumentu a hlášení.
Předpokládané volání tedy v běžných případech užití znamenají:
- Získaní požadovaného seznamu hlášení a případně detailních informací (v20120411-hlaseniListService.wsdl, v20120411-hlaseniDetailService.wsdl)
- Volání metod z v20120411-hlaseniProcesService.wsdl až do úplného vypořádání všech procesů hlášení a tím vypořádání celého workflow dokumentu.
- Práce s číselníky
Číselníky jsou v naprosté většině případů podle požadavků součástí definice datových typů (tj. XSD enumerace). Nevýhodou je rozšiřitelnost služby – změna v definici číselníku znamená změnu v rozhraní služby. Výhodou naopak jasná propojenost hodnoty s typem a nemožnost posílat nevalidní hodnoty (resp. možnost kontroly hodnot již na úrovni XSD typů).
Výjimkou je číselník ověřovatelů, viz 4.3.1.1.
- Přílohy hlášení
Hlášení do ISPOP může mít jednu ze dvou podob:
- XML
- PDF s pevně danou datovou větou v podobě XML
Obě formy umožňují přikládat soubory do hlášení. Systém ISPOP z počátku neextrahoval žádné přílohy. Extrakce příloh z PDF byla doplněna k počátku roku 2012. Extrakce příloh XML k počátku roku 2013.
Z tohoto důvodu není možné získat přílohy k hlášením:
- Pro XML před rokem 2013
- Pro PDF před rokem 2012
4.2.2 Chybové stavy
Webové služby informují uživatele o neúspěchu navozením výjimečného stavu. Seznam chybových kódů definuje typ SpravaHlaseniFaultCode. V detailu chybu je pak popsána podrobnější příčina selhání operace. Názvy jsou voleny tak, aby bylo zřejmé, k jaké metodě se patří.
<?xml version="1.0" encoding="utf-8"?> <xsd:simpleType name="SpravaHlaseniFaultCode"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="UNEXPECTED_ERROR"/> <xsd:enumeration value="FIND_BY_FILTER_ILLEGAL_INPUT"/> <xsd:enumeration value="FIND_BY_FILTER_ORDERING_AND_PAGING_NOT_SPECIFIED"/> <xsd:enumeration value="FIND_BY_FILTER_PAGE_NOT_SPECIFIED"/> <xsd:enumeration value="FIND_BY_FILTER_MAX_RESULTS_NOT_SPECIFIED"/> <xsd:enumeration value="FIND_BY_FILTER_UNKNOWN_SORTING_CRITERION"/> <xsd:enumeration value="FIND_BY_FILTER_UNABLE_TO_QUERY_DATABASE"/> <xsd:enumeration value="HLASENI_DETAIL_ILLEGAL_INPUT"/> <xsd:enumeration value="HLASENI_DETAIL_CISLO_DOKUMENTU_NOT_SPECIFIED"/> <xsd:enumeration value="HLASENI_DETAIL_HLASENI_NOT_FOUND"/> <xsd:enumeration value="HLASENI_FILE_DATA_ILLEGAL_INPUT"/> <xsd:enumeration value="HLASENI_FILE_DATA_CISLO_DOKUMENTU_NOT_SPECIFIED"/> <xsd:enumeration value="HLASENI_FILE_DATA_UUID_NOT_SPECIFIED"/> <xsd:enumeration value="HLASENI_FILE_DATA_FILE_DATA_NOT_FOUND"/> <xsd:enumeration value="HLASENI_PROCESS_TRANSITION_ERROR"/> </xsd:restriction> </xsd:simpleType>
4.3 Popis služeb
4.3.1 HlaseniListService
HlaseniListService | v20120411-hlaseniListService.wsdl | Autoriovaná služba pro vyhledání hlášení |
findByFilter |
Metoda pro vyhledání hlášení. Vrací seznam vyhovující zadaným kritériím. | ROLE_OVEROVATEL, ROLE_RECENZENT, ROLE_BRIGADNIK, ROLE_READER |
Pro vyhledání hlášení existuje jediná metoda, která vrací seznam hlášení podle filtru. V rámci filtru je nutné specifikovat stránkovací a řadící kritéria.
Je doporučené maximální množství záznamů. Omezení je interně limitováno na 500. Horním limitem je tak systém chráněn před případným přetížením / chybnou implementací klienta. Pokud je požadováno více než 500, je vráceno 500 záznamů.
O navýšení limitu se v současné době neuvažuje. Volání webové služby je stejné jako komunikace webový klient – webový server. Např. Eshop běžně vrací méně než 100 záznamů najednou. V aplikaci se stránkuje max po 50ti záznamech, nebyl zaznamenán problém u uživatelů.
Filtrovat je možné podle všech kritérií najednou. Funguje stejně jako GUI aplikace. Viz též Administrátorská dokumentace Příloha Stavy dokumentu a hlášení.
Vyhledávání zajišťuje služba v20120411-hlaseniListServiceWsdl.wsdl
.
- Filtr
XSD element filtru je samovypovídající.
<?xml version="1.0" encoding="utf-8"?> <xsd:element name="hlaseniFilterDto"> <xsd:complexType> <xsd:sequence> <xsd:element name="orderingAndPaging" type="wsc:OrderingAndPagingType"/> <xsd:element name="cisloDokumentu" type="frc:MediumStringTyp" minOccurs="0"/> <xsd:element name="datumPrijetiSystem" type="wsc:Interval" minOccurs="0"/> <xsd:element name="datumPrijetiSpravniRad" type="wsc:Interval" minOccurs="0"/> <xsd:element name="stavDokumentu" type="hlc:StavDokumentuCiselnikTyp" minOccurs="0"/> <xsd:element name="stavHlaseni" type="hlc:StavHlaseniCiselnikTyp" minOccurs="0"/> <xsd:element name="overovatel" type="hlc:OverovatelIdentificationTyp" minOccurs="0"/> <xsd:element name="typDokumentu" type="hlc:TypDokumentuCiselnikTyp" minOccurs="0"/> <xsd:element name="radneDoplnene" type="hlc:RadneDoplneneCiselnikTyp" minOccurs="0"/> <xsd:element name="ohlasovatel" type="hlc:OhlasovatelIdentificationTyp" minOccurs="0"/> <xsd:element name="provozovna" type="hlc:ProvozovnaIdentificationTyp" minOccurs="0"/> <xsd:element name="ohlasovanyRok" type="xsd:nonNegativeInteger" minOccurs="0"/> <xsd:element name="predmet" type="frc:LongStringTyp" minOccurs="0"/> <xsd:element name="predmetAdresa" type="frc:AdresaTyp" minOccurs="0"/> </xsd:sequence> </xsd:complexType> </xsd:element>
Jediný povinný atribut je orderingAndPaging, kde zadáváte stránku a počet elementů na stránku. Snažte se pracovat pokud možno s co nejmenší množinou a zbytečně nezatěžovat server. Doporučená velikost stránky je do 100 záznamů. Maximální velikost je 500 záznamů.
Filtrovat je možné podle:
- data, zadávano pomocí intervalů (Interval)
- datumPrijetiSystem – systémový čas příjmu
- datumPrijetiSpravniRad – čas příjmu podle správního řádu
- stavy hlášení a typ
- stavHlaseni
- stavDokumentu
- typDokumentu
- předmět hlášení, ověřovatelé a další
Všechny číselníkové typy jsou definovány jako výčtové typy v XSD s vyjímkou ověřovatelů. Pro zadání ověřovatelů použijte hodnoty v tabulce tabulka ověřovatelů, sloupec ISPOP_ROLE_ID, který použijete jako hodnotu do elementu ispopRoleId v rámci typu OverovatelIdentificationTyp.
Pro naplnění elementu
//HlaseniFilterDto/orderingAndPaging/sortingCriterion
(xsd:string
) lze použít řetězcové konstanty, jiné hodnoty nejsou umožněny.<?xml version="1.0" encoding="utf-8"?> <xsd:simpleType name="HlaseniFilterOrderingTyp"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="CISLO_DOKUMENTU"/> <xsd:enumeration value="CISLO_EVIDENCNI"/> <xsd:enumeration value="DATUM_PRIJETI_SPRAVNI_RAD"/> <xsd:enumeration value="DATUM_PRIJETI_SYSTEM"/> <xsd:enumeration value="PREDMET"/> </xsd:restriction> </xsd:simpleType>
- data, zadávano pomocí intervalů (Interval)
- Výstupní seznam
V rámci výstupného seznamu je k dispozici celá řada popisných dat.
<?xml version="1.0" encoding="utf-8"?> <xsd:complexType name="HlaseniListEntryTyp"> <xsd:sequence> <xsd:element name="cisloDokumentu" type="frc:MediumStringTyp"/> <xsd:element name="datumPrijetiSystem" type="xsd:dateTime"/> <xsd:element name="datumPrijetiSpravniRad" type="xsd:dateTime" minOccurs="0"/> <xsd:element name="datumAutorizaceSystem" type="xsd:dateTime" minOccurs="0"/> <xsd:element name="datumAutorizaceSpravniRad" type="xsd:dateTime" minOccurs="0"/> <xsd:element name="datumPodaniSpravniRad" type="xsd:dateTime" minOccurs="0"/> <xsd:element name="datumVyrizeniSystem" type="xsd:dateTime" minOccurs="0"/> <xsd:element name="stavDokumentu" type="hlc:StavWorkflowCiselnikTyp"/> <xsd:element name="procesZpracovaniSeznam" type="ProcesZpracovaniListTyp" minOccurs="0"/> <xsd:element name="typDokumentu" type="hlc:TypDokumentuCiselnikTyp" minOccurs="0"/> <xsd:element name="radneDoplnene" type="hlc:RadneDoplneneCiselnikTyp" minOccurs="0"/> <xsd:element name="ohlasovatel" type="SubjektInfoTyp" minOccurs="0"/> <xsd:element name="provozovna" type="SubjektInfoTyp" minOccurs="0"/> <xsd:element name="ohlasovanyRok" type="xsd:nonNegativeInteger" minOccurs="0"/> <xsd:element name="predmet" type="frc:NonEmptyStringTyp" minOccurs="0"/> <xsd:element name="predmetAdresa" type="frc:AdresaTyp" minOccurs="0"/> <xsd:element name="evidencniCislo" type="frc:NonEmptyStringTyp" minOccurs="0"/> <xsd:element name="isdsId" type="frc:NonEmptyStringTyp" minOccurs="0"/> <xsd:element name="obsahujeChyby" type="xsd:boolean" minOccurs="0"/> <xsd:element name="pocetPriloh" type="xsd:nonNegativeInteger" minOccurs="0"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="ProcesZpracovaniListTyp"> <xsd:sequence> <xsd:element name="procesZpracovani" type="ProcesZpracovaniListEntryTyp" minOccurs="0" maxOccurs="unbounded"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="ProcesZpracovaniListEntryTyp"> <xsd:sequence> <xsd:element name="procesId" type="xsd:nonNegativeInteger"/> <xsd:element name="stavHlaseni" type="hlc:StavWorkflowCiselnikTyp"/> <xsd:element name="overovatel" type="SubjektInfoTyp"/> </xsd:sequence> </xsd:complexType>
Významné výstupní informace, které se používají jako vstupy do dalších služeb jsou:
- cisloDokumentu
- procesId
cisloDokumentu se využívá pro:
- získání detailních informací k danému hlášení (pokud jsou potřeba)
- změně stavu vybraného dokumentu
procesId se využívá ke změně stavu během ověřování hlášení (dokumentu); jeden dokument může mít více asociovaných procesů.
4.3.2 HlaseniDetailService
HlaseniDetailService | v20120411-hlaseniDetailService.wsdl | Autorizovaná služba pro přístup k detailu hlášení (zdrojový dokument, přílohy aj.) |
v20130221-hlaseniDetailService.wsdl |
getHlaseniDetail |
Získání detailních informací nad rámec přehledu. | ROLE_OHLASOVATEL, ROLE_OVEROVATEL, ROLE_RECENZENT, ROLE_BRIGADNIK, ROLE_READER |
getHlaseniFileData |
Získání fyzických souborů spojených s hlášením (originál, XML, přílohy). | ROLE_OHLASOVATEL, ROLE_OVEROVATEL, ROLE_RECENZENT, ROLE_BRIGADNIK, ROLE_READER |
Detailní informace k hlášení (dokumentu) se mohou získat vždy pro konkrétní dokument (určen pomocí elementu cisloDokumentu). Na základě těchto informací pak je možné získat fyzická data dokumentu – originál, či jeho XML data.
- Verze v20120411
- Metoda
getHlaseniDetail
- Vstup
<?xml version="1.0" encoding="utf-8"?> <xsd:complexType name="HlaseniDetailRequestTyp"> <xsd:sequence> <xsd:element name="cisloDokumentu" type="frc:MediumStringTyp" /> </xsd:sequence> </xsd:complexType>
- Výstup
<?xml version="1.0" encoding="utf-8"?> <xsd:complexType name="HlaseniDetailTyp"> <xsd:sequence> <xsd:element name="cisloDokumentu" type="frc:MediumStringTyp" /> <xsd:element name="validateResponseDetails" type="dcc:ValidateResponseDetails" minOccurs="0"/> <xsd:element name="fileReferenceList" type="FileReferenceListTyp" minOccurs="0"/> </xsd:sequence> </xsd:complexType>
Výstup udává informace o:
- validačních chybách (pokud je možné ho poskytnout)
- fyzických datech hlášení (originální dokument, XML data, přílohy)
- Vstup
- Metoda
getHlaseniFileData
Využívá jako vstup uuidDokumentu poskytované skrze
getHlaseniDetail
a vrací požadovaná data.- Vstup
<?xml version="1.0" encoding="utf-8"?> <xsd:complexType name="HlaseniFileDataRequestTyp"> <xsd:sequence> <xsd:element name="cisloDokumentu" type="frc:MediumStringTyp" /> <xsd:element name="uuidDokumentu" type="frc:MediumStringTyp" /> </xsd:sequence> </xsd:complexType>
- Výstup
<?xml version="1.0" encoding="utf-8"?> <xsd:complexType name="HlaseniFileDataTyp"> <xsd:sequence> <xsd:element name="fileData" type="wsc:FileData" /> </xsd:sequence> </xsd:complexType> <xsd:complexType name="FileData"> <xsd:sequence> <xsd:element name="fileName" type="frc:LongStringTyp"/> <xsd:element name="data" type="xsd:base64Binary" /> <xsd:element name="contentType" type="frc:MediumStringTyp" /> </xsd:sequence> </xsd:complexType>
- Vstup
- Metoda
- Verze v20130221
Platé to samé co pro verzi v20120411 (chybové stavy, popis atributů, …). Byl rozšířen výstup metod:
getHlaseniDetail
Získá detailní informace hlášení. Oproti HlaseniDetailServiceWsdl2012-summary vrací i adresu ohlašovatele. getHlaseniFileData
Získá příslušný soubor k danému hlášení (přílohu, originál, …). Stejné jako HlaseniDetailServiceWsdl2012-summary.
4.3.3 HlaseniProcessService
HlaseniProcessService | v20120411-hlaseniProcessService.wsdl | Autorizovaná služba pro řízení workflow (změny stavů) |
v20130221-hlaseniProcessService.wsdl |
Pokud je uživatel oprávněn k úkonům spojených se zpracováním hlášení (autorizace, ověření), využije i třetí WSDL z rodiny webových služeb pro správu hlášení.
Tato webová služba poskytuje řadu metod pro práci s hlášeními. Všechny vstupy jsou podobné a jsou odvozeny z bázového typu HlaseniProcesDetailTyp
<?xml version="1.0" encoding="utf-8"?> <xsd:complexType name="HlaseniProcesDetailTyp"> <xsd:sequence> <xsd:choice> <xsd:element name="cisloDokumentu" type="frc:MediumStringTyp" /> <xsd:element name="procesId" type="xsd:nonNegativeInteger"/> </xsd:choice> <xsd:element name="zprava" type="frc:ExtraLongStringTyp"/> </xsd:sequence> </xsd:complexType>
Na vstupu je zadáno vedle jiných atributů buď cisloDokumentu, pokud se mění stav celého dokumentu nebo procesId, pokud jde o změnu jednoho z procesů spojeného s hlášením.
Rozdíl mezi dokumentem a hlášením je popsán v analatické dokumentaci ISPOP.
Když přijde hlášení, vzniká v ISPOP entita, jež se označuje jako dokument; je identifikována právě číslem dokumentu a platí po celý životní cyklus zaslaného hlášení v ISPOP.
V okamžiku, kdy je hlášení přiděleno ověřovateli, vzniká tzv. proces (subflow), jež je identifikováno číslem procesu (procesId).
Při práci se stavy, jež mění celý dokument (viz XSD typ
StavDokumentuCiselnikTyp
) je potřeba uvádět cisloDokumentu
.
Při práci se stavy, jež mění proces (StavHlaseniCiselnikTyp
), je potřeba
uvádět procesId
.
Na výstupu je jediná informace:
<?xml version="1.0" encoding="utf-8"?> <xsd:complexType name="HlaseniProcesResultTyp"> <xsd:sequence> <xsd:element name="datumSystem" type="xsd:dateTime"/> </xsd:sequence> </xsd:complexType>
Vrácené datum je datum poslední systémové změny s hlášením/dokumentem.
- Verze v20120411
autorizujHlaseni
Provede autorizaci workflow. ROLE_AUTORIZUJICI, ROLE_BRIGADNIK overHlaseni
Provede oveření hlášení (správní řad bezpoplatkové). ROLE_OVEROVATEL zamitniOvereniHlaseni
Zamítne hlášení (správní řád). ROLE_OVEROVATEL postupProNeprislusnost
Postoupí pro nepříslušnost (správní řád). ROLE_OVEROVATEL zahajSpravniRizeni
Zahájí správní řízení. ROLE_OVEROVATEL prerusSpravniRizeni
Přeruší správní řízení. ROLE_OVEROVATEL vydejPoplatkovyVymer
Vydá poplatkový výměr (správní řád). ROLE_OVEROVATEL zastavSpravniRizeni
Zastaví správní řízení. ROLE_OVEROVATEL vydejStanovisko
Vydá stanovisko (správní řád). ROLE_OVEROVATEL odlozBezpoplatkoveHlaseni
Odloží bezpoplatkové hlášení (správní řád). ROLE_OVEROVATEL - Verze v20130221
Platé to samé co pro verzi v20120411 (chybové stavy, popis atributů, …). Byly přidány metody pro změny stavů daňového řádu:
autorizujHlaseni
Provede autorizaci workflow. ROLE_AUTORIZUJICI, ROLE_BRIGADNIK overHlaseni
Provede oveření hlášení (správní řad bezpoplatkové). ROLE_OVEROVATEL zamitniOvereniHlaseni
Zamítne hlášení (správní řád). ROLE_OVEROVATEL srPostupProNeprislusnost
Postoupí pro nepříslušnost (správní řád). ROLE_OVEROVATEL zahajSpravniRizeni
Zahájí správní řízení. ROLE_OVEROVATEL prerusSpravniRizeni
Přeruší správní řízení. ROLE_OVEROVATEL vydejPoplatkovyVymer
Vydá poplatkový výměr (správní řád). ROLE_OVEROVATEL zastavSpravniRizeni
Zastaví správní řízení. ROLE_OVEROVATEL vydejStanovisko
Vydá stanovisko (správní řád). ROLE_OVEROVATEL odlozBezpoplatkoveHlaseni
Odloží bezpoplatkové hlášení (správní řád). ROLE_OVEROVATEL provedAtrakci
Provede atrakci (daňový řád). ROLE_OVEROVATEL provedDelegaci
Provede delegaci (daňový řád). ROLE_OVEROVATEL zahajRizeni
Zahají řízení (daňový řád). ROLE_OVEROVATEL zastavRizeni
Zastaví řízení (daňový řád). ROLE_OVEROVATEL zpracujVadyPodani
Zpracuje vady podání (daňový řád). ROLE_OVEROVATEL vydejPlatebniVymer
Vydá platební výměr (daňový řád). ROLE_OVEROVATEL vydejPlatebniVymerNaNulu
Vydá platební výměr na nulu (daňový řád). ROLE_OVEROVATEL drPostupProNeprislusnost
Postoupí pro nepříslušnost (daňový řád). ROLE_OVEROVATEL
5 Registr ISPOP
5.2 Co je registr ISPOP
V rámci registru ISPOP jsou uchovávány informace o subjektech (ohlašovatelích, ověřovatelích a recenzentech) a o jejich vzájemných vztazích.
Ohlašovatel je subjekt, který podle zákona podává hlášení – typický uživatel ISPOP. Ověřovatelem je subjekt, který podle zákona kontroluje přijatá hlášení od ohlašovatelů. Recenzent je subjekt, který má z titulu zákona právo nahlížet do přijatých hlášení. Jednotlivé subjekty v sobě mohou kombinovat tyto role – tj. mohou být např. ohlašovatelem a ověřovatelem zároveň.
Subjekt má své správce (privilegované uživatele) a zaměstnance (běžné uživatele).
Správce subjektu je privilegovaným uživatelem nad svým subjektem a může s ním provádět různé administrační úkony (např. správa provozoven).
Zaměstnanec (aka běžný uživatel) je neprivilegovaný uživatel a v rámci subjektu, kde je zaměstnancem (běžným uživatelem) může působit pouze v těch rolích, jež na něj byly delegovány – pokud je např. běžným uživatelem u subjektu s rolí ohlašovatele a ověřovatele zároveň, správce subjektu na něj může delegovat buď ohlašovací povinnost, ověřování, obojí anebo nic z toho, vždy to ale musí být explicitně zavedeno v systému (registru ISPOP).
Správci subjektu mohou žádat o zmocnění vůči jiným subjektům. Po schválení zmocnění mohou zmocněnci spravovat i subjekty zmocnitelů.
Pokud to agenda vyžaduje, subjekty mohou mít asociované provozovny, za které podávají hlášení.
Subjekt-ohlašovatel vzniká procesem Registrace – tj. zasláním a chválením registračního dokumentu je zaveden do registru ISPOP daný subjekt spolu se svým prvním správcem subjektu.
Subjekt-ověřovatel, popř. subjekt-recenzent, v systému vzniká administrátorským zásahem.
Vedle samotných vztahů mezi subjekty (zmocnění, správcovství, provozovny, …) jsou v registru ISPOP uchovávány další udaje (adresy, atributy provozoven aj.).
V roce 2012 byl systém ISPOP napojen na systém centrálních registrů
(http://www.szrcr.cz/
), konkrétně na Registr osob; ROS, Registr
obyvatel; ROB a Registr územní identifikace, adres a nemovitostí; RÚIAN.
Tím byly rozšířeny informace o subjektech o data, jež jsou uchovávány v centrálních registrech.
Zcela výjimečně mohou v systému existovat i subjekty, které nemusí být napojeny na ISZR (např. zahraniční subjekty, zaniklé subjekty aj.).
Vztahy v registru ISPOP jsou platné v čase a mění se (u vazeb i u vybraných atributů se sleduje jejich historie).
5.3 Princip fungování
V rámci designu webových služeb byla dodržována řada pravidel, jež mají za cíl ujednotit implementaci na serveru a zpřehlednit orientaci v oblastech a metodách pro klienta.
5.3.1 Struktura WSDL a XSD
Všechna WSDL v dané verzi definují vlastní jmenný prostor, definují zprávy a výjimečné stavy s odkazem na hlavní (jediné) XSD, jež je ve stejném jmenném prostoru, definuje těla zpráv a zpravidla importuje další XSD.
V rámci jedné oblasti aplikace (a potažmo dané problematiky ISPOP) jsou WSDL rozdělena podle následující konvence:
oblast .wsdl |
pro operace čtecí operace (typický master–detail) |
oblast edit.wsdl |
pro operace modifikace |
oblast process.wsdl |
pro řízení workflow (pokud je definováno) |
Pro danou oblast jsou typicky zavedena tato XSD:
oblast .xsd |
hlavní XSD definující zprávy WSDL SOAP |
oblast -types.xsd |
základní typy pro danou oblast |
oblast -common.xsd |
bázové typy dané oblasti, vhodné k využití i v jiných oblastech |
Takže například pro správu uživatelů jsou definovány tyto soubory:
WSDL:
user.wsdl |
čtecí operace, tj. typicky (1) vyhledávání v seznamu a (2) přístup k detailu |
useredit.wsdl |
operace pro editaci, tj. typicky CRUD operace a další specifické změny (změna hesla, zneplatnění účtu aj.) |
XSD:
user.xsd |
definice SOAP zpráv |
user-types.xsd |
hlavní typy pro danou oblast – prvek seznamu uživatelů, detail uživatele |
user-common.xsd |
sdílené prvky s jinými oblastmi (např. ID uživatele aj.) |
Každé WSDL/XSD obsahuje v záhlaví souboru v komentářích vlastní popis změn (changelog).
- Obvyklé operace a typy
V rámci každé oblasti jsou typicky implementovány CRUD operace typu:
- práce se seznamem
- přístup k detailu
- editační operace
- vytvoření
- editace – editačních operací je typicky více – logicky související celky se mění dohromady
- Základní typy
XSD definice využívají společné typy z namespace
http://ispop.cz/wscommon
. Tento namespace je importován všemi ostatními balíky.Důležité typy v namespace
http://ispop.cz/wscommon
:NonEmptyString
Bázový typ pro 99% string definic. IntervalDto
Typ pro zadávání časového intervalu. AbstractDto
Bázový typ pro většinu komplexních typů, jež si vyměňuje server a klient. CommonAce
Základní typ pro nastavení práv nad objektem (ACL). PageInfo
,OrderType
,AbstractResultListDto
Typy pro podporu stránkování v dotazech. CommonFault
Pomocný typ pro využití ve výjimečných stavech (Exception). - Stránkování
Všechny metody, které jako návratový typ uvádějí kolekci určitého typu, dodržují tyto konvence:
- Vstupem je objekt, filtr, s jehož pomocí lze omezit výsledný seznam.
Každý filtr obsahuje minimálně
{http://ispop.cz/wscommon}PageInfo
(tj. stránku a počet objektů na stránce) a kritéria řazení. - Výstupní seznam obsahuje výslednou kolekci a informaci o celkovém počtu objektů s ohledem na aktuálně nastavená kriteria filtru.
Díky těmto informacím je možné efektivně stránkovat ve velkých kolekcích dat.
- Filtr
<?xml version="1.0" encoding="utf-8"?> <xsd:complexType name="CatalogNameFilterDto"> <xsd:sequence> <xsd:element name="pageInfo" type="wscommon:PageInfo" /> <xsd:element name="sortCriteria" type="tns:CatalogNameSortCriteriaDto" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> </xsd:complexType>
Na příkladu je vidět minimalistický filtr, použitý ve filtrování pro CatalogService (Číselníky). Jako každý filtr obsahuje element
pageInfo
, kde je na vstupu povinně zadaná stránka (číslováno od nuly!) a počet záznamů na stránku.Jméno
pageInfo
(typ{http://ispop.cz/wscommon}PageInfo
) je striktně dodržováno a umožňuje tak při pokročilém využití bindingu do konkrétního jazyka (např. Java XJB) zobecnit kusy kódu například tím, že všechny filtry implementují určité rozhraní.Dále obsahuje každý filtr
sortCriteria
(jedno či více), což je seznam konstant, jež určují řazení výsledné kolekce. Názvy jsou voleny tak, aby odpovídaly ostatním elementům filtru – je tak jasné, podle čeho se bude řadit. - Výstupní kolekce
<?xml version="1.0" encoding="utf-8"?> <xsd:complexType name="CatalogNameResultListDto"> <xsd:complexContent> <xsd:extension base="wscommon:AbstractResultListDto"> <xsd:sequence> <xsd:element name="list" type="tns:CatalogName" minOccurs="0" maxOccurs="unbounded" /> </xsd:sequence> </xsd:extension> </xsd:complexContent> </xsd:complexType>
Každá výstupní kolekce dědí z
{http://ispop.cz/wscommon}AbstractResultListDto
, kde je definován element/AbstractResultListDto/totalCount
, který uvádí celkový počet řádků pro aktuální filtrační ktriteria.Konkrétní implementace mají navíc element
list
(pojmenování je opět dodržováno) obsahující jednotlivé položky seznamu; zde seznam elementuCatalogName
.
- Vstupem je objekt, filtr, s jehož pomocí lze omezit výsledný seznam.
Každý filtr obsahuje minimálně
- Číselníky
Číselníkové hodnoty se vyskytují napříč webovými službami. Úvodní verze číselníků je definována v namespace
http://ispop.cz/catalog/v20130505
, jež je popsán v souborech:catalog.xsd
– SOAP zprávy pro CatalogService (Číselníky)catalog-common.xsd
– bázové typy pro číselníkycatalog-types.xsd
– jednotlivé číselníkové typy
V
catalog-common.xsd
lze nalézt:AbstractCatalogDto
Bázový typ všech číseníků. Používá se jako vstupní objekt z klienta (lze zadat jen /AbstractCatalogDto/code
) i jako výstupní objekt ze serveru (pak jsou naplněny všechny elementy). Ostatní číselníky jsou odvozeny z tohoto typu.CatalogValueFilterDto
aCatalogValueResultListDto
Filtr a návratový seznam pro hodnoty číselníku. Byť na straně serveru je pro číselníky rozlišována platnost, webové služby mají jednodušší rozhraní (bez platnosti). Platí, že kód číselníku je unikátní (tj.
/AbstractCatalogDto/code
) a klient dostává všechny hodnoty (i ty neplatné).
- Chybové stavy
<?xml version="1.0" encoding="utf-8"?> <xsd:complexType name="CommonFault"> <xsd:sequence> <xsd:element name="code" type="xsd:string" /> <xsd:element name="message" type="xsd:string" /> </xsd:sequence> </xsd:complexType>
Volání na server nemusí být vždy úspěšné. Každý výjimečný stav vrácený klientovi obsahuje podrobnější informaci
{http://ispop.cz/wscommon}CommonFault
, přičemž je snaha, aby element/CommonFault/message
obsahoval rozumný popis chyby, který lze prezentovat uživateli, ostatní informace jsou interní a slouží ke zpětnému dohledání chyby v lozích serveru.Každá operace, vyjma těch nejtriviálnějších definuje vlastní chybové zprávy (zpravidla jednu) a na základě kódu (
/CommonFault/code
) je možné provést podrobnější ošetření chyby.Pro každé volání na server je definována precondition a postcondition. Cílem implementace je v precondition provést všechny potřebné testy a kontroly tak, aby bylo zřejmé, zda vyvolaná operace uspěje či nikoliv. Pokud není šance na úspěch, je navozen výjimečný stav a je nastaven
CommonFault
.Kód Příčina Ošetření AccessDeniedError Chyba v oprávněních. Uživatel (volající) nemá právo vyvolat danou operaci, popř. nemá právo vyvolat danou operaci pro daný objekt. Zobrazení rozumné informace pro uživatele. Nemá smysl operaci opakovat. ValidationError Během provádění precondition bylo na serveru zjištěno, že z určitých důvodů nelze operaci provést. /CommonFault/message
pak obsahuje podrobnější zprávu.Zobrazení /CommonFault/message
uživateli. Ten by měl posoudit, zda a případně jak změnit vstup; je možné opětovné volání.CommunicationError Chyba komunikace s ISPOP. Chybný vstup požadavku (nevalidní XSD jako vstup do webové služby apod.). Zobrazení rozumné informace pro uživatele. Pokud nejde o chybu klienta, může být vhodné operaci zkusit znovu po určité době. Jiný kód Neočekávaná chyba. Zobrazení informace uživateli. Nemá smysl opakovat. Kontaktovat správce systému.
5.3.2 Jmenné konvence
Napříč webovými službami jsou dodržovány tyto jmenné konvence.
- Typy
Číselníkové typy končí na
CatalogDto
(PartyTypeCatalogDto
).Pro každou oblast webových služeb typicky existuje:
Pro práci se seznamem, viz Stránkování.
Bean ListEntryDto
LegalSubjectListEntryDto
Prvek seznamu pro danou entitu. Bean ResultListDto
LegalSubjectResultListDto
Seznam objektů pro danou entitu Bean FilterDto
LegalSubjectFilterDto
Filtr pro vyhledávací operaci findByFilter
Pro konkrétní instance:
Bean DetailDto
LegalSubjectDetaulDto
Detailní data dané entity. Bean InfoDto
LegalSubjectInfoDto
Základní informace o entitě – používáno například v referencích. Bean Ident
LegalSeubjectIdent
Jedinečný identifikátor entity. Prefix
Abstract
je rezervován pro abstraktní typy; slouží jako bázové typy pro ostatní entity. - Operace
WSDL jsou rozdělena do 3 skupin:
- oblast
.wsdl
(čtecí operace – přístup k datům)
findByFilter
Metoda pro vyhledávání, vrací kolekce s ohledem na pořadí ( BeanResultListDto
), přebíráBeanListFilter
, pokud není určeno řadící kritérium, je zvoleno přednastavené, aby bylo garantováno korektní stránkování.getDetail
Metoda pro získání detailu entity, přebírá BeanIdent
a vracíBeanDetailDto
- oblast
edit.wsdl
– pro operace modifikace je většinou dostupných více metod pro úpravu souvisejících informací, vstupy a výstupy těchto operací jsou většinou závislé na konkrétní operaci. Obecně platí, že při tvorbě objektů vracíme jejich identy (BeanIdent
) volajícímu.
oblast
process.wsdl
– pokud existuje workflow a jeho obsluha je publikována pro třetí stranu, jednotlivé metody definují přechody mezi stavem workflow. - oblast
5.3.3 Chybové stavy
Metody služeb registru ISPOP mohou navodit tyto výjimečné stavy (vracené jako klasické SOAP FAULT zprávy):
<?xml version="1.0" encoding="utf-8"?> <xsd:complexType name="CommonFault"> <xsd:sequence> <xsd:element name="code" type="xsd:string" /> <xsd:element name="message" type="xsd:string" /> </xsd:sequence> </xsd:complexType>
code | message | význam |
---|---|---|
AccessDeniedError |
prázdná | operace, popřípadě přístup k objektu byl odepřen z důvodu nedostatečných oprávnění |
CommunicationError |
podrobnější informace | důvod chyby – zde většinou klient nemá jinou šanci než opakovat volání po nějaké době |
ValidationError |
podrobnější formátovaná informace | důvod chyby, lze zobrazit uživateli přímo, chyba vstupních dat |
Každá služba na začátku provádí kontroly vstupu, aby bylo zajištěno, že operace může v pořádku proběhnout (tzv. precondiotion), v případě nevyhovujícího vstupu je navozena chyba ValidationError. Pokud i přes tuto kontrolu operace selže, je navozen CommunicationError – pokud opakovaná volání se správným vstupem selžou, jde nejspíš o chybu ISPOP a nezbývá než kontaktovat správce systému.
5.4 Popis služeb
5.4.1 Číselníky
- CatalogService
CatalogService catalog.wsdl Autorizovaná služba pro vyhledání a získání hodnot číselníků getCatalogNames
Vrací seznam číselníků exportovaných pro webové služby. ROLE_UZIVATEL getCatalogValues
Vrací seznam hodnot pro daný číselník (vstup do metody lze získat z předchozího volání getCatalogNames
).ROLE_UZIVATEL Služba poskytutuje přístup k libovolnému číselníku. Pomocí metody
getCatalogNames
získá klient seznam všech číselníků. Ostatní webové služby vyžadují jako vstup číselník konkrétního typu. Lze jednoduše odvodit (podle jména), jak získat hodnoty daného číselníku volánímgetCatalogValues
. Vrácené hodnoty lze jednoduše použít k vytvoření vstupních hodnot do zbylých webových služeb. V principu jde o transformaci mezi obecným typemAbstractCatalogDto
do konkrétního číselníku, kdy pro vstup do webové služby stačí pouze vyplnit jedinou povinnou položku –/AbstractCatalogDto/code
:<?xml version="1.0" encoding="utf-8"?> <xsd:complexType name="AbstractCatalogDto" abstract="true"> <xsd:sequence> <xsd:element name="code" type="tns:CatalogCode"/> <xsd:element name="label" type="wscommon:LongString" minOccurs="0" /> <xsd:element name="name" type="tns:CatalogName" minOccurs="0"/> </xsd:sequence> </xsd:complexType>
5.4.2 Dokumenty
- DocumentService
DocumentService document.wsdl Autoriovaná služba pro přístup k dokumentům (fyzickým souborům zaslaným do ISPOP) getDocument
Vrací data (binární stream) souboru, který byl někdy vložen do systému ISPOP. ROLE_UZIVATEL Každý dokument, který byl zaslán do ISPOP (hlášení, příloha hlášení, příloha zmocnění, autorizace, …) získává automaticky jedinečné UUID (
/Uuid/
). Ostatní webové služby nikdy nevrací fyzická data přímo – vždy jen v podobě UUID. UUID slouží jako vstup do této metody a volající získá nazpět zaslaná data.
5.4.3 Subjekty
- LegalSubjectService
5.4.3.1 legalsubject.wsdl Autorizovaná služba pro vyhledání a získání subjektu findByFilter
Vrací seznam subjektů (tj. právních subjektů s rolí ohlašovatel, ověřovatel nebo recenzent). ROLE_OHLASOVATEL, ROLE_RECENZENT, ROLE_BRIGADNIK, ROLE_READER, ROLE_VOD_OPERATOR, ROLE_PZV_OPERATOR getDetail
Vrací detail pro daný subjekt, vstupem je ident subjektu ( LegalSubjectIdent
).ROLE_OHLASOVATEL, ROLE_RECENZENT, ROLE_BRIGADNIK, ROLE_READER, ROLE_VOD_OPERATOR, ROLE_PZV_OPERATOR getBriefDetail
Vrací specifický detail pro daný subjekt, vstupem je opět ident subjektu ( LegalSubjectIdent
). OperacegetDetail
vrací zevrubný a rozsáhlý seznam hodnot a je náročná na CPU a paměť. Pro základní prezentaci použijte tuto metodu.ROLE_OHLASOVATEL, ROLE_RECENZENT, ROLE_BRIGADNIK, ROLE_READER, ROLE_VOD_OPERATOR, ROLE_PZV_OPERATOR Jedná se o klasický případ master–detail. Stejným způsobem funguje i řada dalších služeb, viz Struktura WSDL a XSD.
- LegalSubjectEditService
5.4.3.2 legalsubjectedit.wsdl Autorizovaná služba pro změny v subjektech updateRobInfo
Aktualizace údajů z ROS. Privilegovaná operace. ROLE_OPERATOR, ROLE_SPRAVCE_SUBJEKTU updateRosInfo
Aktualizace údajů z ROS. Privilegovaná operace. ROLE_OPERATOR, ROLE_SPRAVCE_SUBJEKTU createDoklad
Přidá doklad do sezamu dokladů; dokladem může být občanský průkaz či pas. ROLE_OPERATOR, ROLE_SPRAVCE_SUBJEKTU updateDoklad
Aktualizuje vybraný doklad. ROLE_OPERATOR, ROLE_SPRAVCE_SUBJEKTU deleteDoklad
Odstraní doklad ze seznamu dokladů. ROLE_OPERATOR, ROLE_SPRAVCE_SUBJEKTU updateLegalSubjectContacts
Slouží k aktualizaci vybraných kontaktních údajů. ROLE_OPERATOR, ROLE_SPRAVCE_SUBJEKTU updateLegacyPerson
Slouží k aktualizaci údajů pro subjekt – fyzickou osobu pro data před napojením ISPOP na ISZR (Informační systém základních registrů). ROLE_OPERATOR, ROLE_SPRAVCE_SUBJEKTU updateLegacyPersonWithoutIc
Slouží k aktualizaci údajů pro subjekt bez IČ pro data před napojením ISPOP na ISZR. ROLE_OPERATOR, ROLE_SPRAVCE_SUBJEKTU updateLegacyOrganization
Slouží k aktualizaci údajů pro subjekt s IČ pro data před napojením ISPOP na ISZR. ROLE_OPERATOR, ROLE_SPRAVCE_SUBJEKTU Neexistuje metoda pro vytvoření subjektu. Subjekt může v ISPOP vzniknout pouze registračním procesem, který podléhá speciálnímu workflow a je řízen provozovatelem systému.
U privilegovaných operací může správce subjektu měnit jen některé údaje.
5.4.4 Místa užívání vody (= Elemetární zdroje)
- ElementarniZdrojService
ElementarniZdrojService elementarnizdroj.wsdl Autoriovaná služba pro přístup k elementárním zdrojům (místům užívání vody) findVypustByFilter
Vrací seznam elementárních zdrojů typu Vypouštění na základě parametrů ve filtru. ROLE_VOD_OPERATOR, ROLE_PZV_OPERATOR findAkumulaceByFilter
Vrací seznam elementárních zdrojů typu Akumulace na základě parametrů ve filtru. ROLE_VOD_OPERATOR, ROLE_PZV_OPERATOR findOdbernePodzemniMistoByFilter
Vrací seznam elementárních zdrojů typu Podzemní odběrné místo na základě parametrů ve filtru. ROLE_VOD_OPERATOR, ROLE_PZV_OPERATOR findOdbernePovrchoveMistoByFilter
Vrací seznam elementárních zdrojů typu Povrchové odběrné místo na základě parametrů ve filtru. ROLE_VOD_OPERATOR, ROLE_PZV_OPERATOR findByFilter
Vrací obecný seznam elementárních zdrojů na základě parametrů ve filtru. ROLE_OHLASOVATEL, ROLE_VOD_OPERATOR, ROLE_PZV_OPERATOR, ROLE_READER, ROLE_BRIGADNIK getVypustDetail
Vrací konkrétní elementární zdroj typu Vypouštění. ROLE_OHLASOVATEL, ROLE_VOD_OPERATOR, ROLE_PZV_OPERATOR, ROLE_READER, ROLE_BRIGADNIK getAkumulaceDetail
Vrací konkrétní elementární zdroj typu Akumulace. ROLE_OHLASOVATEL, ROLE_VOD_OPERATOR, ROLE_PZV_OPERATOR, ROLE_READER, ROLE_BRIGADNIK getOdbernePovrchoveDetail
Vrací konkrétní elementární zdroj typu Povrchové odběrné místo. ROLE_OHLASOVATEL, ROLE_VOD_OPERATOR, ROLE_PZV_OPERATOR, ROLE_READER, ROLE_BRIGADNIK getOdbernePodzemniDetail
Vrací konkrétní elementární zdroj typu Podzemní odběrné místo . ROLE_OHLASOVATEL, ROLE_VOD_OPERATOR, ROLE_PZV_OPERATOR, ROLE_READER, ROLE_BRIGADNIK - ElementarniZdrojEditService
ElementarniZdrojEditService elementarnizdrojedit.wsdl Autoriovaná služba pro změny elementárních zdrojů (míst užívání vody) Metody poskytují kompletní CRUD operace nad elementárními zdroji a nějaké další specifické operace.
createVypust
Vytvoří elementární zdroj typu vypouštění. ROLE_VOD_OPERATOR createAkumulace
Vytvoří elementární zdroj typu akumulace. ROLE_VOD_OPERATOR createOdbernePovrchoveMisto
Vytvoří elementární zdroj typu povrchové místo. ROLE_VOD_OPERATOR createOdbernePodzemniMisto
Vytvoří elementární zdroj typu podzemní místo. ROLE_VOD_OPERATOR updateZakladniInformace
Upraví základní informace sloužících k identifikaci a základnímu popisu elementárního zdroje. jedná se o společnou službu pro všechny typy elementárních zdrojů. ROLE_VOD_OPERATOR updateKontaktniUdaje
Upraví kontaktní informace povinného subjektu na elementárním zdroji. Jedná se o společnou službu pro všechny typy elementárních zdrojů. ROLE_VOD_OPERATOR updatePovinnySubjekt
Upraví povinný subjekt na elementárním zdroji. Jedná se o společnou službu pro všechny typy elementárních zdrojů. ROLE_VOD_OPERATOR updateNace
Upraví druh ekonomické činnosti který je evidován na elementárním zdroji. Jedná se o společnou službu pro všechny typy elementárních zdrojů. ROLE_VOD_OPERATOR updateJtsk
Upraví Jtsk souřadnice elementárního zdroje. Jedná se o společnou službu pro všechny typy elementárních zdrojů. ROLE_VOD_OPERATOR updatePovinnostiPriloh
Upraví informace o povinnosti specifických typů příloh k danému zdroji. ROLE_VOD_OPERATOR updateUmisteniZdroje
Upraví informací o umístění zdroje (obec, katastrální území). ROLE_VOD_OPERATOR updateVypustAttributes
Operace pro změnu rozšířené množiny specifických atributů zdroje typu Vypouštění. ROLE_VOD_OPERATOR updateAkumulaceAttributes
Operace pro změnu rozšířené množiny specifických atributů zdroje typu Akumulace. ROLE_VOD_OPERATOR updateOdbernePovrchoveMistoAttributes
Operace pro změnu rozšířené množiny specifických atributů zdroje typu Odběrné povrchové místo. ROLE_VOD_OPERATOR updateOdbernePodzemniMistoAttributes
Operace pro změnu rozšířené množiny specifických atributů zdroje typu Odběrné podzemní místo. ROLE_VOD_OPERATOR updateVypust
Operace pro změnu úplné množiny atributů zdroje typu Vypouštění. ROLE_VOD_OPERATOR updateAkumulace
Operace pro změnu úplné množiny atributů zdroje typu Akumulace. ROLE_VOD_OPERATOR updateOdbernePovrchoveMisto
Operace pro změnu úplné množiny atributů zdroje typu Odběrné povrchové místo. ROLE_VOD_OPERATOR updateOdbernePodzemniMisto
Operace pro změnu úplné množiny atributů zdroje typu Odběrné podzemní místo. ROLE_VOD_OPERATOR invalidate
Znaplatní elementární zdroj k danému časovému okamžiku. V potaz se bere datumová i časová složka. Jedná se o společnou službu pro všechny typy elementárních zdrojů. ROLE_VOD_OPERATOR restore
Znaplatní elementární zdroj k danému časovému okamžiku. V potaz se bere datumová i časová složka. Jedná se o společnou službu pro všechny typy elementárních zdrojů. ROLE_VOD_OPERATOR changeOwner
Změna vlastníka elementárního zdroje. Jedná se o společnou službu pro všechny typy elementárních zdrojů. ROLE_VOD_OPERATOR - RozhodnutiService
RozhodnutiService rozhodnuti.wsdl Autoriovaná služba pro přístup k rozhodnutím (míst užívání vody) Všechny operace vrací seznam vodoprávních rozhodnutí pro elementární zdroje. Jednotné operace typu get* jsou specializované pro jednotlivé typy elementárních zdrojů. Dále je k dispozici obecnější operace findRozhodnutiByFilter pro dotažení seznamu vodoprávních rozhodnutí na základě podrobnějšího zadání ve formě filtru.
getRozhodnutiAkumulaceDetail
Vrací seznam vodoprávních rozhodnutí pro elementární zdroje typu Akumulace typu Povolení akumulace. ROLE_OHLASOVATEL, ROLE_VOD_OPERATOR, ROLE_PZV_OPERATOR, ROLE_READER, ROLE_BRIGADNIK getRozhodnutiSchvaleniManipRaduDetail
Vrací seznam vodoprávních rozhodnutí typu Schválení manipulačního řadu. ROLE_OHLASOVATEL, ROLE_VOD_OPERATOR, ROLE_PZV_OPERATOR, ROLE_READER, ROLE_BRIGADNIK getRozhodnutiOdberPodzDetail
Vrací seznam vodoprávních rozhodnutí pro elementární zdroje typu Odběr podzemních vod : Povolení odběru podzemních vod. ROLE_OHLASOVATEL, ROLE_VOD_OPERATOR, ROLE_PZV_OPERATOR, ROLE_READER, ROLE_BRIGADNIK getRozhodnutiOdberPovrDetail
Vrací seznam vodoprávních rozhodnutí pro elementární zdroje typu Odběr povrchovách vod : Povolení odběru povrchových vod. ROLE_OHLASOVATEL, ROLE_VOD_OPERATOR, ROLE_PZV_OPERATOR, ROLE_READER, ROLE_BRIGADNIK getRozhodnutiOchranePasmoDetail
Vrací seznam vodoprávních rozhodnutí typu Stanovení ochranného pásma. ROLE_OHLASOVATEL, ROLE_VOD_OPERATOR, ROLE_PZV_OPERATOR, ROLE_READER, ROLE_BRIGADNIK getRozhodnutiVypousteniDetail
Vrací seznam vodoprávních rozhodnutí pro elementární zdroje typu Vypouštění : Povolení vypouštění. ROLE_OHLASOVATEL, ROLE_VOD_OPERATOR, ROLE_PZV_OPERATOR, ROLE_READER, ROLE_BRIGADNIK findRozhodnutiByFilter
Vrací seznam vodoprávních rozhodnutí na základě parametrů filtru. ROLE_OHLASOVATEL, ROLE_VOD_OPERATOR, ROLE_PZV_OPERATOR, ROLE_READER, ROLE_BRIGADNIK - RozhodnutiEditService
RozhodnutiEditService rozhodnutiedit.wsdl Autoriovaná služba pro přístup k rozhodnutím (míst užívání vody) Operace slouží pro vytváření nebo změnu vodoprávních rozhodnutí pro elementární zdroje. Operace jejichž jméno má předponu create* slouží k přidání nového vodoprávního rozhodnutí daného typu. Nově vytvořené rozhodnutí nejsou připojeny k elementárnímu zdroji. K připojení slouží služba ElemZdrojRozhodnutiEditService. Operace jejichž jméno má předponu update* slouží ke změně existujícího vodoprávního rozhodnutí daného typu. Měnit lze atributy jednotlivých rozhodnutí ale ne přiřazení k elementárním zdrojům. ke změně přiřazení k elementárním zdrojům slouží služba ElemZdrojRozhodnutiEditService.
createRozhodnutiAkumulace
Vytvoření nového vodoprávního rozhodnutí pro elementární zdroje Akumulace typu Povolení akumulace. ROLE_VOD_OPERATOR createRozhodnutiSchvaleniManipRadu
Vytvoření nového vodoprávního rozhodnutí Schválení manipulačního řadu. ROLE_VOD_OPERATOR createRozhodnutiOdberPodz
Vytvoření nového vodoprávního rozhodnutí pro elementární zdroje typu Odběr podzemních vod : Povolení odběru podzemních vod. ROLE_VOD_OPERATOR createRozhodnutiOdberPovr
Vytvoření nového vodoprávního rozhodnutí pro elementární zdroje typu Odběr povrchových vod : Povolení odběru povrchových vod. ROLE_VOD_OPERATOR createRozhodnutiOchranePasmo
Vytvoření nového vodoprávního rozhodnutí typu Stanovení ochranného pásma. ROLE_VOD_OPERATOR createRozhodnutiVypousteni
Vytvoření nového vodoprávního rozhodnutí pro elementární zdroje typu Vypouštění : Povolení vypouštění. ROLE_VOD_OPERATOR updateRozhodnutiAkumulace
Úprava existujícího vodoprávního rozhodnutí pro elementární zdroje Akumulace typu Povolení akumulace. ROLE_VOD_OPERATOR updateRozhodnutiSchvaleniManipRadu
Úprava existujícího vodoprávního rozhodnutí Schválení manipulačního řadu. ROLE_VOD_OPERATOR updateRozhodnutiOdberPodz
Úprava existujícího vodoprávního rozhodnutí pro elementární zdroje typu Odběr podzemních vod : Povolení odběru podzemních vod. ROLE_VOD_OPERATOR updateRozhodnutiOdberPovr
Úprava existujícího vodoprávního rozhodnutí pro elementární zdroje typu Odběr povrchovách vod : Povolení odběru povrchových vod. ROLE_VOD_OPERATOR updateRozhodnutiOchranePasmo
Úprava existujícího vodoprávního rozhodnutí typu Stanovení ochranného pásma. ROLE_VOD_OPERATOR updateRozhodnutiVypousteni
Úprava existujícího vodoprávního rozhodnutí pro elementární zdroje typu Vypouštění : Povolení vypouštění. ROLE_VOD_OPERATOR - ElemZdrojRozhodnutiService
ElemZdrojRozhodnutiService elemzdrojrozhodnuti.wsdl Autorizovaná služba pro přístup k vazbám mezi elementárními zdroji (místy užívání vody) a rozhodnutími Operace slouží pro získání informace o přiřazení vodoprávních rozhodnutí k elementárním zdrojům.
findByFilter
Získání objektů obsahujíácí informace o přiřazení vodoprávních rozhodnutí k elementárním zdrojům na základě parametrů ve filtru. ROLE_OHLASOVATEL, ROLE_VOD_OPERATOR, ROLE_PZV_OPERATOR, ROLE_READER, ROLE_BRIGADNIK findElemZdrojRozhodnutiByIdentification
Získání objektu obsahujícího informaci o přiřazení vodoprávního rozhodnutí k elementárnímu zdroji na základě identifikace vazby mezi rozhodnutím a elem. zdrojem. ROLE_OHLASOVATEL, ROLE_VOD_OPERATOR, ROLE_PZV_OPERATOR, ROLE_READER, ROLE_BRIGADNIK - ElemZdrojRozhodnutiEditService
ElemZdrojRozhodnutiEditService elemzdrojrozhodnutiedit.wsdl Autoriovaná služba pro změny vazeb elementárních zdrojů (míst užívání vody) a rozhodnutí Operace slouží pro vytvoření nebo změnu vazby mezi existujícím elementárním zdrojem a existujícím vodoprávním rozhodnutím. Omezující podmínky:
- K elemetárnímu zdroji daného typu lze připojovat rozhodnutí stejného typu.
- K elemetárnímu zdroji lze mít připojeno více vodoprávních rozhodnutí stejného typu.
- Součástí atributů vazby je časová platnost. V daný časový okamžik může být připojeno maximálně jedno platné vodoprávní rozhodnutí k jednomu elementárnímu zdroji.
createElemZdrojRozhodnuti
Vytvoření vazby mezi existujícím elementárním zdrojem a existujícím vodoprávním rozhodnutím. ROLE_VOD_OPERATOR updateElemZdrojRozhodnuti
Změna vazby mezi existujícím elementárním zdrojem a existujícím vodoprávním rozhodnutím. ROLE_VOD_OPERATOR invalidate
Zneplatnění vazby mezi existujícím elementárním zdrojem a existujícím vodoprávním rozhodnutím. ROLE_VOD_OPERATOR restore
Obnovení platnosti vazby mezi existujícím elementárním zdrojem a existujícím vodoprávním rozhodnutím. ROLE_VOD_OPERATOR zneplatneni – k dnesnimu dni, tzn. poslu dnesek, dnes jeste plati a prestava platit od zacatku pristiho dn
5.4.5 Zmocnění
- ZmocneniService
ZmocneniService zmocneni.wsdl Autoriovaná služba pro přístup ke zmocnění (vazba subjekt (zmocnitel) – subjekt (zmocněnec)) findByFilter
Vrací seznam zmocnění evidovaných v ISPOP (tj. vztahů mezi subjekty ISPOP). ROLE_UZIVATEL getDetail
Vrací detail pro danou entitu, vstupem je ident vztahu ( ZmocneniIdent
).ROLE_UZIVATEL
5.4.6 Uživatelé
- UserService
UserService user.wsdl Autoriovaná služba pro přístup k uživatelům findByFilter
Vrací seznam uživatelských účtů evidovaných v ISPOP (tj. fyzických osob s uživatelským účtem v ISPOP). ROLE_UZIVATEL getDetail
Vrací detail pro danou entitu, vstupem je ident uživatele ( UserIdent
).ROLE_UZIVATEL getElpnoPrivileges
Vrací nastavení oprávnění ELPNO pro danou entitu, vstupem je ident uživatele ( UserIdent
).ROLE_UZIVATEL - UserEditService
UserEditService userEdit.wsdl Autoriovaná služba pro změny u uživatelů updateElpnoPrivileges
Provede nastavení oprávnění ELPNO pro danou entitu. ROLE_UZIVATEL
5.4.7 Správcovství
- SpravcovstviService
SpravcovstviService spravcovstvi.wsdl Autoriovaná služba pro přístup ke správcovství (vazba subjekt (spravovaný subjekt) – uživatel (správce)) findByFilter
Vrací seznam správcovství evidovaných v ISPOP (tj. vztahů mezi subjektem ISPOP a jeho správcem (uživatelem)). ROLE_UZIVATEL getDetail
Vrací detail pro danou entitu, vstupem je ident vztahu ( SpravcovstviIdent
).ROLE_UZIVATEL
5.4.8 Zaměstnání (tj. běžní uživatelé)
- EmploymentService
EmploymentService employment.wsdl Autoriovaná služba pro přístup k zaměstnáncům (vazba subjek (zaměstnavatel) – uživatel (zaměstnanec)) findByFilter
Vrací seznam zmocnění evidovaných v ISPOP (tj. vztahů mezi subjekty ISPOP). ROLE_UZIVATEL getDetail
Vrací detail pro danou entitu, vstupem je ident vztahu ( EmploymentIdent
).ROLE_UZIVATEL - EmploymentEditService
EmploymentEditService employmentEdit.wsdl Autoriovaná služba pro změny u zaměstnanců updateElpnoPrivileges
Provede nastavení oprávnění ELPNO vázaných na subjekt pro danou entitu . ROLE_UZIVATEL
6 Hlášení
Pro podporu ohlašování vznikla skupina služeb zaměřená na formuláře hlášení. Uživatelé mají možnost nechat si vygenerovat předpřipravený formulář, který mohou následně validovat či odeslat. Služby navazují na služby uvedené v sekci 1.3.1 s tím, že rozšiřují možnosti klienta, pokud pracuje s hlášením.
Tyto webové služby umí korektně zpracovat i starší hlášení (je tedy možné starší formuláře 2013- odesílat pomocí tohoto nového rozhraní – a naopak – nové formuláře 2014+ pomocí starého rozhraní). Jde o preferovanou alternativu ke službám popsaným v sekci 1.3.1 pokud jde o hlášení (tj. nikoliv registrace).
6.1 Verze
6.2 Popis služeb
6.2.1 HlaseniUploadService
HlaseniUploadService | hlaseniupload.wsdl | Autoriovaná služba pro odeslání a případnou validaci formuláře hlášení |
Sada metod pro odeslání hlášení. Nahrazují 3.2.2 a 3.2.3 novějším rozhraním s rozšířenými možnostmi validace hlášení před samotným odesláním. Jde o preferovaný způsob, jak odeslat hlášení do ISPOP. Např. formuláře PDF 2014+, jež poskytuje aplikace ISPOP využívají výhradně toto rozhraní.
validate |
Metoda pro validaci. | ROLE_UZIVATEL |
upload |
Metoda pro odeslání (upload) formuláře na server. | ROLE_UZIVATEL |
Vstup a výstup metod je podobný metodám v sekci 3.2.2 a 3.2.3.
- validate
Metoda
validate
příjímá serializované XML a provádí validaci dokumentu jako v případě 6.2.2 s tím rozdílem, že vyžaduje autorizaci uživatele a díky tomu může provést (vedle jiných) i validaci příslušnosti k subjektu, tj. validaci, která ověří, že daný uživatel má právo zaslat hlášení do ISPOP za daný subjekt.Vstup a výstup je stejný jako v případě 6.2.2.
- upload
Metoda nahrazuje metodu
submit
z DocumentInputServiceStejně jako zmíněná
submit
iupload
příjímá binární stream dat a vrací číslo dokumentu jako výsledek. Číslo dokumentu je základní identifikátor dokumentu v systému ISPOP. Pokud klient v budoucnu bude provádět s dokumentem další operace (například řízení workflow), měl by si číslo dokumentu uchovat. Dokument je tak přijat ke zpracování. Metoda musí přijmout jakýkoli stream dat a vždy reaguje vrácením čísla dokumentu.Navíc však může provést i validaci dokumentu před samotným příjmem dokumentu, pokud klient poskytne XML data serializovaná v elementu
/HlaseniUploadDto/hlaseniValidateDto
. Dokument je přijat jen v případě, že validace proběhne v pořádku. Pro vyhodnocení validace příslušnosti k subjektu je použit uživatel, který hlášení odesílá.Jde o konvenci, která je zavedena s ohledem na optimální výkon. Bylo by možné získat v reálném čase XML přímo z binárních dat, nicméně to je náročná operace na CPU a I/O, zejména v případě, kdy jde o PDF formulář. V době ohlašovací špičky může ISPOP přijímat tisíce hlášení za hodinu. Tím že, data poskytnete klient ve stejné podobě jako pro validaci – jde o ten samý datový typ – je možné provést validaci online.
Budiž explicitně uvedeno – metodu
upload
je možné provolat i bez validace (stačí neuvést/HlaseniUploadDto/hlaseniValidateDto
) – a tak zaslat libovolná data, nicméně validace bude v průběhu zpracování stejně provedena, takže její vykonání před odesláním lze jen doporučit – uživateli je tak možné ušetřit dost času.Vstup:
<?xml version="1.0" encoding="utf-8"?> <xsd:complexType name="HlaseniUploadDto"> <!-- use all instead of sequence as this gets called from Adobe Acrobat, which is unable to handle sequence correctly --> <xsd:all> <xsd:element name="hlaseniUpload" type="tns:HlaseniUpload"> <xsd:annotation> <xsd:documentation xml:lang="cs"> Vstupní dokument. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="hlaseniValidateDto" type="hlasenivalidate:HlaseniValidateDto" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="cs"> Pokud je zaslané hlášení v binární podobě (element /HlaseniUploadDto/hlasenidoc) v jiném formátu, než XML, je možné vyplnit tento element odpovídajícím XML k danému hlášení. Pokud se tak stane, je hlášení před samotným postoupením systému zvalidováno a pokud jsou zjištěny závažné chyby, je odmítnuto. Validační chyby jsou pak součástí odpovědi serveru (/HlaseniUploadResultDto/hlaseniValidationResultDto). Vyplnění tohoto elementu je volitelné. Ať již element vyplněn je nebo není, je hlášení během následujícího procesu zpracování podrobeno stejným validačním kontrolám. Tento element by měl vyplnit inteligentní klient, jehož cílem je varovat uživatele pokud možno dopředu, že s hlášením není vše v pořádku a nečekat až na následné zpracování serverem. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:all> </xsd:complexType> <xsd:complexType name="HlaseniUpload"> <!-- use all instead of sequence as this gets called from Adobe Acrobat, which is unable to handle sequence correctly --> <xsd:all> <xsd:element name="binarydoc" type="xsd:base64Binary"> <xsd:annotation> <xsd:documentation xml:lang="cs"> Data hlášení zakódovaná v base64. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="name" type="wscommon:MediumString" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="cs"> Volitelný název hlášení. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="comment" type="wscommon:LongString" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="cs"> Volitelná libovolná vlastní poznámka k dokumentu. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:all> </xsd:complexType>
Výstup pak kombinuje výstup validace s případným číslem dokumentu:
<?xml version="1.0" encoding="utf-8"?> <xsd:complexType name="HlaseniUploadResultDto"> <xsd:sequence> <xsd:element name="documentNumber" type="wscommon:ShortString" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="cs"> Číslo dokumentu. Klient by si měl ve vlastním zájmu uchovat číslo dokumentu. Jde o význačný identifikátor, který doprovází dokument během celého jeho zpracování. Dokument lze pomocí něho vyhledat, posouvat ve workflow apod. Není nastaveno jen v případě, že v požadavku bylo uvedeno XML k validaci (/HlaseniUploadDto/hlaseniValidateDto) a byly zjištěny zásadní nedostatky během validace, blíže viz /HlaseniUploadResultDto/hlaseniValidateResultDto. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="hlaseniValidateResultDto" type="hlasenivalidate:HlaseniValidateResultDto" minOccurs="0"> <xsd:annotation> <xsd:documentation xml:lang="cs"> Pokud byl vyplněn element /HlaseniUploadDto/hlaseniValidateDto, obsahuje tento element výstup validace (viz /HlaseniValidateResultDto). </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:sequence> </xsd:complexType>
6.2.2 HlaseniValidateService
HlaseniValidateService | hlasenivalidate.wsdl | Neautoriovaná služba pro validaci formuláře hlášení |
Sada metod pro odeslání hlášení. Nahrazují 3.2.3 novějším rozhraním s rozšířenými možnostmi validace hlášení. Jde o preferovaný způsob, jak validovat hlášení ISPOP, pokud není žádoucí provádět autorizaci uživatele. Např. formuláře PDF 2014+, jež poskytuje aplikace ISPOP využívají výhradně toto rozhraní.
Budiž řečeno, že během validací při zpracování se provádí navíc validace příslušnosti k subjektu, která zjišťuje, zda uživatel, který odeslal hlášení, může podat hlášení za daný subjekt. Bez autorizace není možné tuto validaci provést. Tzn., že používáním této neautorizované verze se vystavujete riziku, že hlášení může být zamítnuto i když nění nalezena žádná chyba.
validate |
Metoda pro validaci. | ROLE_GUEST |
Metoda validate
příjímá serializované XML a provádí validaci dokumentu.
Uživatel je neznámý a proto se neprovádí validace příslušnosti k
subjektu, tj. validace, která ověří, že daný uživatel má právo zaslat
hlášení do ISPOP za daný subjekt.
Vstup:
<?xml version="1.0" encoding="utf-8"?> <xsd:complexType name="HlaseniValidateDto"> <!-- use all instead of sequence as this gets called from Adobe Acrobat, which is unable to handle sequence correctly --> <xsd:all> <xsd:element name="xmldoc" type="xsd:string"> <xsd:annotation> <xsd:documentation xml:lang="cs"> XML hlášení serializované do řetězce. </xsd:documentation> </xsd:annotation> </xsd:element> <xsd:element name="provideFormattedValidationOutput" type="xsd:boolean"> <xsd:annotation> <xsd:documentation xml:lang="cs"> Pokud je nastaveno na true, bude nastaven formátovaný výstup validace /HlaseniValidateResultDto/formattedValidationOutpu. </xsd:documentation> </xsd:annotation> </xsd:element> </xsd:all> </xsd:complexType>
Klient má možnost nastavit
/HlaseniValidateDto/provideFormattedValidationOutput/
na true
a může
tak vedle výstupu chyb v XML elementech získat i formátovaný výpis vhodný k
prezentaci.
Výstup pak obsahuje řadu podrobných informací, z nichž klíčový je
/HlaseniValidateResultDto/validationStatus
, určující výsledek validační
kontroly:
<?xml version="1.0" encoding="utf-8"?> <xsd:simpleType name="ValidationStatus"> <xsd:restriction base="xsd:string"> <xsd:enumeration value="OK"> <xsd:annotation> <xsd:documentation>Validace proběhla v pořádku, nenastala žádná chyba, hlášení může být odesláno na server. </xsd:documentation> </xsd:annotation> </xsd:enumeration> <xsd:enumeration value="VALIDATION_ERROR"> <xsd:annotation> <xsd:documentation>Chyba při logické validaci -- dokument je formálně dobře, obsahuje ale zasadní logické chyby. Dokument není možné odeslat. </xsd:documentation> </xsd:annotation> </xsd:enumeration> <xsd:enumeration value="XSD_ERROR"> <xsd:annotation> <xsd:documentation>Chyba XSD -- tj. chyba ve struktuře dokumentu. Dokument není možné odeslat. </xsd:documentation> </xsd:annotation> </xsd:enumeration> <xsd:enumeration value="DOCUMENT_VERSION_NOT_SUPPORTED"> <xsd:annotation> <xsd:documentation>Verze vstupního dokumentu není podporovaná. </xsd:documentation> </xsd:annotation> </xsd:enumeration> <xsd:enumeration value="UNEXPECTED_ERROR"> <xsd:annotation> <xsd:documentation>Nastala neočekávaná chyba na serveru. Kontaktujte správce webových služeb. </xsd:documentation> </xsd:annotation> </xsd:enumeration> </xsd:restriction> </xsd:simpleType>
7 Interní služby
7.1 Spisová služba
7.1.1 Verze
7.1.2 Princip fungování
Webová služba, která tvoří rozhraní pro spisovou službu CENIA má jedinou metodu. Tato metoda příjímá jako vstup dokument určený pro ISPOP a určitá metadata o tomto dokumentu.
Odpovědí je informace o přijetí či odmítnutí dokumentu.
V praxi lze poslat do ISPOPu dokument ze dvou kanálů:
- e-podatelna (nastavení hodnoty EMAIL z číselníku ZpusobDoruceniType)
- datové schránky (nastavení hodnoty ISDS z číselníku ZpusobDoruceniType)
Pro oba kanály platí, že vstupními informacemi jsou (SubmitDocumentDto):
- informace o datu přijetí (SubmitDocumentDto)
- informace o uživateli (jednoduché informace o odesílateli, základní informace o datové zprávě; EmailDetailsDto / IsdsDetailsDto)
Odpovědí serveru je (SubmitDocumentResultDto):
- informace, zda byl dokument přijat
- pokud ano, přidělené čísla doklumentu
Tím konční komunikace, mezi ISPOP a spisovou službou. ISPOP následně zpracuje dokument s těmito rozdíly oproti běžnému procesu (online odeslání, manuální vložení, …).
- V případě nezpracovatelného dokumentu je namísto standardní notifikace upozorněna spisová služba.
- V případě korektního dokumentu z datových schránek je dokument automaticky autorizován (jako datum autorizace je použito datum přijetí (takže i datum podání je určeno jako datum přijetí)).
7.1.3 Model tříd
8 Příloha: Podpora ELPNO
Webové služby poskytují obecné rozhraní pro jakýkoli software třetích stran, nicméně pro usnadnění orientace při napojení projektu ELPNO je zde uvedeno několik odkazů na příslušné webové metody, jež implementují jednotlivé požadavky.
Požadavek | Webová metoda | Poznámka | |
---|---|---|---|
a. | Detail uživatele - na základě jednoznačného identifikátoru poskytne detailní informace o uživateli. | UserService.getDetail() |
|
b. | Detail subjektu - na základě jednoznačného identifikátoru poskytne detailní informace o subjektu. | LegalSubjectService.getDetail() LegalSubjectService.getBriefDetail() |
|
c. | Subjekty uživatele - dvě služby, které na základě jednoznačného identifikátoru uživatele poskytnou jednoznačné identifikátory subjektů, ke kterým má uživatel oprávnění z titulu zaměstnance či správce a identifikátory těchto vazeb. | EmploymentService.findByFilter() SpravcovstviService.findByFilter() |
|
d. | Zmocnění - služba poskytne na základě jednoznačného identifikátoru subjektu seznam identifikátorů subjektů, za které má zmocnění podávat hlášení a identifikátory těchto vazeb. | ZmocneniService.findByFilter() |
|
e. | Detail vazby - služba poskytne detailní informace o dané vazbě na základě jednoznačného identifikátoru vazby. | EmploymentService.getDetail() SpravcovstviService.getDetail() ZmocneniService.getDetail() |
|
f. | Změna rolí ELPNO - tato služba umožní promítnout informaci o změně obecných rolí uživatele do registru uživatelů na základě jednoznačného identifikátoru uživatele a role. | UserService.updateElpnoPrivileges() |
|
g. | Změna rolí EPLNO vázaných k subjektu - služba umožní promítnout změnu rolí uživatele, které souvisí s konkrétním subjektem (např. role ohlašovatele k danému subjektu) na základě jednoznačných identifikátorů uživatele, subjektu a role. | EmploymentService.updateElpnoPrivileges() |
9 Příloha: Dokumenty – dodatky
9.1 Ukázka komunikace
Vytvořeno vůči testovacímu prostředí ve verzi v20110901.
9.1.1 Validace dokumentu
Využívá se metody validate
z rozhraní DocumentValidateService.
Posílají se smyšlená data a validace korektně určí chybu.
<?xml version="1.0" encoding="utf-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v20="http://ispop.cz/document/v20110901"> <soapenv:Header/> <soapenv:Body> <v20:validate> <v20:xmldoc><?xml version="1.0" encoding="UTF-8"?> <xfa:data xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/" ><F_IRZ revision="2" version="2011" ><meta-info ><user-agent >LC</user-agent ><user-agent-version >2011-11-28.7741</user-agent-version ></meta-info ><section1 ><radneDoplneneHlaseni ><rd >R</rd ><radne /></radneDoplneneHlaseni ><rok >2011</rok ><hlaseniVyplnil ><vyplnil ><jmeno >Správce</jmeno ><prijmeni >Ispop</prijmeni ></vyplnil ><kontakt ><email >spravce@cenia.cz</email ><telefon ><predvolba >+420</predvolba ><cislo >1</cislo ></telefon ><fax ><predvolba >+420</predvolba ></fax ></kontakt ><datum >2011-11-22</datum ></hlaseniVyplnil ><ohlasovatel ><spolecnostVyberVycet >PRAVNICKA_OSOBA</spolecnostVyberVycet ><spolecnostVyber ><pravnickaOsoba ><nazev >Elkoplast Slušovice s.r.o.</nazev ><pravniForma >112</pravniForma ><ic >26235757</ic ></pravnickaOsoba ></spolecnostVyber ><adresa ><kraj >Zlínský</kraj ><okres >Zlín</okres ><obec >Slušovice</obec ><obecKod >585777</obecKod ><mestkaCast >Slušovice</mestkaCast ><ulice >Dlouhá</ulice ><psc >76315</psc ><cisloPopisne >134</cisloPopisne ><kodZeme >CZ</kodZeme ></adresa ></ohlasovatel ><ohlasovatelOstatni ><lau1 >CZ0724</lau1 ></ohlasovatelOstatni ><provozovna ><icp >CZ55729230</icp ><nazev >EKOPLAST Slušovice - laminování plastů</nazev ><jtskX >1163637</jtskX ><jtskY >511502</jtskY ><wgs84CoordinateX ><degrees >49</degrees ><minutes >14</minutes ><seconds >49.16583600001216</seconds ></wgs84CoordinateX ><wgs84CoordinateY ><degrees >17</degrees ><minutes >47</minutes ><seconds >44.70547199999859</seconds ></wgs84CoordinateY ><adresa ><kraj >Zlínský</kraj ><okres >Zlín</okres ><obec >Slušovice</obec ><ulice >Dlouhá</ulice ><psc >76315</psc ><cisloPopisne >134</cisloPopisne ><kodZeme >CZ</kodZeme ></adresa ><lau1 >CZ0724</lau1 ><povodi >1</povodi ><nace >353010</nace ></provozovna ></section1 ><section2 ><cinnosti ><jeEPRTR >0</jeEPRTR ><cinnostiEPRTR /><cinnostiOstatni ><cinnostOstatniSeq ><nazevCinnosti >1</nazevCinnosti ><pocet >1</pocet ></cinnostOstatniSeq ></cinnostiOstatni ></cinnosti ></section2 ><section3 ><unikyOvzdusi /><unikyVoda /><unikyPuda /><prenosyOdpVody /><prenosyOdpady /><ostatniOdpady /><nebezpecneOdpady /></section3 ></F_IRZ ></xfa:data ></v20:xmldoc> </v20:validate> </soapenv:Body> </soapenv:Envelope>
<?xml version="1.0" encoding="utf-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Header/> <SOAP-ENV:Body> <ns2:validateResponse xmlns:ns2="http://ispop.cz/document/v20110901"> <ns2:validateResponseDetails> <ns2:status>VALIDATION_ERROR</ns2:status> <ns2:xsdErrorList/> <ns2:validationErrorList> <ns2:validationError> <ns2:code>DATA_VALIDATION_DOCUMENT_ERROR</ns2:code> <ns2:message>Ve formuláři je nutné vyplnit alespoň jeden z úniků, přenosů látek nebo přenosů odpadů mimo provozovnu.</ns2:message> </ns2:validationError> </ns2:validationErrorList> <ns2:validationWarningList/> <ns2:validationInfoList/> </ns2:validateResponseDetails> </ns2:validateResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
10 Příloha: Správa hlášení – dodatky
10.1 Seznam ověrovatelů
10.1.1 Seznam ověřovatelů
ICO | ISPOP_ID | ISPOP_ROLE_TYP | ISPOP_ROLE_ID | NAZEV |
4169320501 | ID_0100521 | Cizp Overovatel | 29 | Oblastní inspektorát ČIŽP Brno |
4169320502 | ID_0100523 | Cizp Overovatel | 36 | Oblastní inspektorát ČIŽP České Budějovice |
4169320503 | ID_0100525 | Cizp Overovatel | 43 | Oblastní inspektorát ČIŽP Havlíčkův Brod |
4169320504 | ID_0100527 | Cizp Overovatel | 50 | Oblastní inspektorát ČIŽP Hradec Králové |
4169320505 | ID_0100529 | Cizp Overovatel | 57 | Oblastní inspektorát ČIŽP Liberec |
4169320507 | ID_0100533 | Cizp Overovatel | 71 | Oblastní inspektorát ČIŽP Olomouc |
4169320506 | ID_0100531 | Cizp Overovatel | 64 | Oblastní inspektorát ČIŽP Ostrava |
4169320508 | ID_0100535 | Cizp Overovatel | 78 | Oblastní inspektorát ČIŽP Plzeň |
4169320511 | ID_0100541 | Cizp Overovatel | 99 | Oblastní inspektorát ČIŽP Plzeň, pobočka v Karlových Varech |
4169320509 | ID_0100537 | Cizp Overovatel | 85 | Oblastní inspektorát ČIŽP Praha |
4169320510 | ID_0100539 | Cizp Overovatel | 92 | Oblastní inspektorát ČIŽP Ústí nad Labem |
00064581 | ID_0101449 | Kraj Overovatel | 1241 | HLAVNÍ MĚSTO PRAHA |
70890650 | ID_0101453 | Kraj Overovatel | 1249 | Jihočeský kraj |
70888337 | ID_0101469 | Kraj Overovatel | 1281 | Jihomoravský kraj |
70891168 | ID_0101457 | Kraj Overovatel | 1257 | Karlovarský kraj |
70890749 | ID_0101467 | Kraj Overovatel | 1277 | Kraj Vysočina |
70889546 | ID_0101463 | Kraj Overovatel | 1269 | Královéhradecký kraj |
70891508 | ID_0101461 | Kraj Overovatel | 1265 | Liberecký kraj |
70890692 | ID_0101475 | Kraj Overovatel | 1293 | Moravskoslezský kraj |
60609460 | ID_0101471 | Kraj Overovatel | 1285 | Olomoucký kraj |
70892822 | ID_0101465 | Kraj Overovatel | 1273 | Pardubický kraj |
70890366 | ID_0101455 | Kraj Overovatel | 1253 | Plzeňský kraj |
70891095 | ID_0101451 | Kraj Overovatel | 1245 | Středočeský kraj |
70892156 | ID_0101459 | Kraj Overovatel | 1261 | Ústecký kraj |
70891320 | ID_0101473 | Kraj Overovatel | 1289 | Zlínský kraj |
44992785 | ID_0104359 | Orp Overovatel | 971 | Magistrát města Brna |
00261891 | ID_0104107 | Orp Overovatel | 621 | Magistrát města Chomutova |
00244732 | ID_0100869 | Orp Overovatel | 411 | Magistrát města České Budějovice |
00261238 | ID_0104101 | Orp Overovatel | 606 | Magistrát města Děčín |
00296643 | ID_0101437 | Orp Overovatel | 1211 | Magistrát města Frýdku-Místku |
00297488 | ID_0100543 | Orp Overovatel | 106 | Magistrát města Havířova |
00268810 | ID_0100229 | Orp Overovatel | 736 | Magistrát města Hradec Králové |
00286010 | ID_0100295 | Orp Overovatel | 901 | Magistrát města Jihlavy |
00254657 | ID_0104093 | Orp Overovatel | 586 | Magistrát města Karlovy Vary |
00297534 | ID_0100545 | Orp Overovatel | 111 | Magistrát města Karviné |
00262978 | ID_0100221 | Orp Overovatel | 716 | Magistrát města Liberec |
00266094 | ID_0104125 | Orp Overovatel | 666 | Magistrát města Mostu |
00299308 | ID_0104401 | Orp Overovatel | 1076 | Magistrát města Olomouce |
00845451 | ID_0100567 | Orp Overovatel | 166 | Magistrát města Ostravy |
00274046 | ID_0100265 | Orp Overovatel | 826 | Magistrát města Pardubic |
00288659 | ID_0104409 | Orp Overovatel | 1096 | Magistrát města Prostějova |
00301825 | ID_0104415 | Orp Overovatel | 1111 | Magistrát města Přerova |
00081531 | ID_0104131 | Orp Overovatel | 681 | Magistrát města Ústí nad Labem |
00283924 | ID_0101429 | Orp Overovatel | 1191 | Magistrát města Zlína |
00253979 | ID_0104089 | Orp Overovatel | 576 | Město Cheb |
00246476 | ID_0100879 | Orp Overovatel | 436 | Město Dačice |
00287172 | ID_0101407 | Orp Overovatel | 1136 | Město Holešov |
00255513 | ID_0104061 | Orp Overovatel | 506 | Město Horažďovice |
00255661 | ID_0104063 | Orp Overovatel | 511 | Město Klatovy |
00235440 | ID_0100833 | Orp Overovatel | 321 | Město Kolín |
00300292 | ID_0100561 | Orp Overovatel | 151 | Město Kravaře |
00301493 | ID_0104413 | Orp Overovatel | 1106 | Město Lipník nad Bečvou |
00289931 | ID_0104341 | Orp Overovatel | 926 | Město Moravské Budějovice |
00272868 | ID_0100243 | Orp Overovatel | 771 | Město Náchod |
00294900 | ID_0104349 | Orp Overovatel | 946 | Město Nové Město na Moravě |
00239500 | ID_0100851 | Orp Overovatel | 366 | Město Nymburk |
00248801 | ID_0104339 | Orp Overovatel | 921 | Město Pelhřimov |
00265365 | ID_0104119 | Orp Overovatel | 651 | Město Podbořany |
00283509 | ID_0104365 | Orp Overovatel | 986 | Město Pohořelice |
00260177 | ID_0104083 | Orp Overovatel | 561 | Město Stříbro |
00256129 | ID_0104065 | Orp Overovatel | 516 | Město Sušice |
00282651 | ID_0104369 | Orp Overovatel | 996 | Město Šlapanice |
00253014 | ID_0104055 | Orp Overovatel | 491 | Město Tábor |
00260231 | ID_0104085 | Orp Overovatel | 566 | Město Tachov |
00290629 | ID_0104345 | Orp Overovatel | 936 | Město Třebíč |
00261718 | ID_0104105 | Orp Overovatel | 616 | Město Varnsdorf |
00285455 | ID_0104385 | Orp Overovatel | 1036 | Město Veselí nad Moravou |
00251984 | ID_0104051 | Orp Overovatel | 481 | Město Vodňany |
00279773 | ID_0100285 | Orp Overovatel | 876 | Město Vysoké Mýto |
00295841 | ID_0104353 | Orp Overovatel | 956 | Město Žďár nad Sázavou |
00063410 | ID_0100569 | Orp Overovatel | 171 | Městská část Praha 1 |
00063941 | ID_0100587 | Orp Overovatel | 216 | Městská část Praha 10 |
00231126 | ID_0100589 | Orp Overovatel | 221 | Městská část Praha 11 |
00231151 | ID_0100591 | Orp Overovatel | 226 | Městská část Praha 12 |
00241687 | ID_0100797 | Orp Overovatel | 231 | Městská část Praha 13 |
00231312 | ID_0100799 | Orp Overovatel | 236 | Městská část Praha 14 |
00231355 | ID_0100801 | Orp Overovatel | 241 | Městská část Praha 15 |
00241598 | ID_0100803 | Orp Overovatel | 246 | Městská část Praha 16 |
00231223 | ID_0100805 | Orp Overovatel | 251 | Městská část Praha 17 |
00231321 | ID_0100807 | Orp Overovatel | 256 | Městská část Praha 18 |
00231304 | ID_0100809 | Orp Overovatel | 261 | Městská část Praha 19 |
00063461 | ID_0100571 | Orp Overovatel | 176 | Městská část Praha 2 |
00240192 | ID_0100811 | Orp Overovatel | 266 | Městská část Praha 20 |
00240923 | ID_0100813 | Orp Overovatel | 271 | Městská část Praha 21 |
00240915 | ID_0100815 | Orp Overovatel | 276 | Městská část Praha 22 |
00063517 | ID_0100573 | Orp Overovatel | 181 | Městská část Praha 3 |
00063584 | ID_0100575 | Orp Overovatel | 186 | Městská část Praha 4 |
00063631 | ID_0100577 | Orp Overovatel | 191 | Městská část Praha 5 |
00063703 | ID_0100579 | Orp Overovatel | 196 | Městská část Praha 6 |
00063754 | ID_0100581 | Orp Overovatel | 201 | Městská část Praha 7 |
00063894 | ID_0100585 | Orp Overovatel | 211 | Městská část Praha 9 |
00253901 | ID_0104087 | Orp Overovatel | 571 | Městský úřad Aš |
00231401 | ID_0100817 | Orp Overovatel | 281 | Městský úřad Benešov |
00233129 | ID_0100823 | Orp Overovatel | 296 | Městský úřad Beroun |
00266230 | ID_0104127 | Orp Overovatel | 671 | Městský úřad Bílina |
00297755 | ID_0100549 | Orp Overovatel | 121 | Městský úřad Bílovec |
00279943 | ID_0104355 | Orp Overovatel | 961 | Městský úřad Blansko |
00250996 | ID_0104047 | Orp Overovatel | 471 | Městský úřad Blatná |
00256455 | ID_0104069 | Orp Overovatel | 526 | Městský úřad Blovice |
00297569 | ID_0101445 | Orp Overovatel | 1231 | Městský úřad Bohumín |
00279978 | ID_0104357 | Orp Overovatel | 966 | Městský úřad Boskovice |
00240079 | ID_0100855 | Orp Overovatel | 376 | Městský úřad Brandýs nad Labem-Stará Boleslav |
00272523 | ID_0100239 | Orp Overovatel | 761 | Městský úřad Broumov |
00295892 | ID_0101431 | Orp Overovatel | 1196 | Městský úřad Bruntál |
00283061 | ID_0104375 | Orp Overovatel | 1011 | Městský úřad Břeclav |
00291676 | ID_0104387 | Orp Overovatel | 1041 | Městský úřad Bučovice |
00294136 | ID_0104347 | Orp Overovatel | 941 | Městský úřad Bystřice nad Pernštejnem |
00287113 | ID_0101405 | Orp Overovatel | 1131 | Městský úřad Bystřice pod Hostýnem |
00267538 | ID_0100291 | Orp Overovatel | 891 | Městský úřad Chotěboř |
00270211 | ID_0100261 | Orp Overovatel | 816 | Městský úřad Chrudim |
00236021 | ID_0100835 | Orp Overovatel | 326 | Městský úřad Čáslav |
00241121 | ID_0100859 | Orp Overovatel | 386 | Městský úřad Černošice |
00260428 | ID_0104333 | Orp Overovatel | 686 | Městský úřad Česká Lípa |
00278653 | ID_0100277 | Orp Overovatel | 856 | Městský úřad Česká Třebová |
00235334 | ID_0100831 | Orp Overovatel | 316 | Městský úřad Český Brod |
00245836 | ID_0100875 | Orp Overovatel | 426 | Městský úřad Český Krumlov |
00297437 | ID_0101447 | Orp Overovatel | 1236 | Městský úřad Český Těšín |
00274879 | ID_0100247 | Orp Overovatel | 781 | Městský úřad Dobruška |
00242098 | ID_0100861 | Orp Overovatel | 391 | Městský úřad Dobříš |
00253316 | ID_0104057 | Orp Overovatel | 496 | Městský úřad Domažlice |
00277819 | ID_0100253 | Orp Overovatel | 796 | Městský úřad Dvůr Králové nad Labem |
00297852 | ID_0100551 | Orp Overovatel | 126 | Městský úřad Frenštát pod Radhoštěm |
00262781 | ID_0100219 | Orp Overovatel | 711 | Městský úřad Frýdlant |
00296651 | ID_0101439 | Orp Overovatel | 1216 | Městský úřad Frýdlant nad Ostravicí |
00267449 | ID_0100289 | Orp Overovatel | 886 | Městský úřad Havlíčkův Brod |
00270059 | ID_0100259 | Orp Overovatel | 811 | Městský úřad Hlinsko |
00300063 | ID_0100559 | Orp Overovatel | 146 | Městský úřad Hlučín |
00284891 | ID_0104381 | Orp Overovatel | 1026 | Městský úřad Hodonín |
00273571 | ID_0100263 | Orp Overovatel | 821 | Městský úřad Holice |
00253383 | ID_0104059 | Orp Overovatel | 501 | Městský úřad Horšovský Týn |
00271560 | ID_0100233 | Orp Overovatel | 746 | Městský úřad Hořice |
00233242 | ID_0100825 | Orp Overovatel | 301 | Městský úřad Hořovice |
00301311 | ID_0104411 | Orp Overovatel | 1101 | Městský úřad Hranice |
00248266 | ID_0104335 | Orp Overovatel | 911 | Městský úřad Humpolec |
00283193 | ID_0104377 | Orp Overovatel | 1016 | Městský úřad Hustopeče |
00281859 | ID_0104361 | Orp Overovatel | 976 | Městský úřad Ivančice |
00262340 | ID_0100213 | Orp Overovatel | 696 | Městský úřad Jablonec nad Nisou |
00296759 | ID_0101441 | Orp Overovatel | 1221 | Městský úřad Jablunkov |
00272728 | ID_0100241 | Orp Overovatel | 766 | Městský úřad Jaroměř |
00302724 | ID_0104397 | Orp Overovatel | 1066 | Městský úřad Jeseník |
00271632 | ID_0100235 | Orp Overovatel | 751 | Městský úřad Jičín |
00275808 | ID_0100223 | Orp Overovatel | 721 | Městský úřad Jilemnice |
00246875 | ID_0100881 | Orp Overovatel | 441 | Městský úřad Jindřichův Hradec |
00261912 | ID_0104109 | Orp Overovatel | 626 | Městský úřad Kadaň |
00245941 | ID_0100877 | Orp Overovatel | 431 | Městský úřad Kaplice |
00288365 | ID_0104407 | Orp Overovatel | 1091 | Městský úřad Konice |
00298077 | ID_0100553 | Orp Overovatel | 131 | Městský úřad Kopřivnice |
00274968 | ID_0100249 | Orp Overovatel | 786 | Městský úřad Kostelec nad Orlicí |
00279072 | ID_0100279 | Orp Overovatel | 861 | Městský úřad Králíky |
00257966 | ID_0104077 | Orp Overovatel | 546 | Městský úřad Kralovice |
00236977 | ID_0100839 | Orp Overovatel | 336 | Městský úřad Kralupy nad Vltavou |
00259438 | ID_0104097 | Orp Overovatel | 596 | Městský úřad Kraslice |
00296139 | ID_0101433 | Orp Overovatel | 1201 | Městský úřad Krnov |
00287351 | ID_0101409 | Orp Overovatel | 1141 | Městský úřad Kroměříž |
00281964 | ID_0104363 | Orp Overovatel | 981 | Městský úřad Kuřim |
00236195 | ID_0100837 | Orp Overovatel | 331 | Městský úřad Kutná Hora |
00285030 | ID_0104383 | Orp Overovatel | 1031 | Městský úřad Kyjov |
00279102 | ID_0100281 | Orp Overovatel | 866 | Městský úřad Lanškroun |
00263958 | ID_0104111 | Orp Overovatel | 631 | Městský úřad Litoměřice |
00276944 | ID_0100269 | Orp Overovatel | 836 | Městský úřad Litomyšl |
00299138 | ID_0104399 | Orp Overovatel | 1071 | Městský úřad Litovel |
00266027 | ID_0104123 | Orp Overovatel | 661 | Městský úřad Litvínov |
00265209 | ID_0104117 | Orp Overovatel | 646 | Městský úřad Louny |
00263991 | ID_0104113 | Orp Overovatel | 636 | Městský úřad Lovosice |
00284165 | ID_0101421 | Orp Overovatel | 1171 | Městský úřad Luhačovice |
00239402 | ID_0100849 | Orp Overovatel | 361 | Městský úřad Lysá nad Labem |
00254061 | ID_0104091 | Orp Overovatel | 581 | Městský úřad Mariánské Lázně |
00237051 | ID_0100841 | Orp Overovatel | 341 | Městský úřad Mělník |
00283347 | ID_0104379 | Orp Overovatel | 1021 | Městský úřad Mikulov |
00249831 | ID_0101091 | Orp Overovatel | 451 | Městský úřad Milevsko |
00238309 | ID_0100847 | Orp Overovatel | 356 | Městský úřad Mnichovo Hradiště |
00303038 | ID_0104417 | Orp Overovatel | 1116 | Městský úřad Mohelnice |
00277037 | ID_0100271 | Orp Overovatel | 841 | Městský úřad Moravská Třebová |
00293199 | ID_0104393 | Orp Overovatel | 1056 | Městský úřad Moravský Krumlov |
00289965 | ID_0104343 | Orp Overovatel | 931 | Městský úřad Náměšť nad Oslavou |
00256986 | ID_0104071 | Orp Overovatel | 531 | Městský úřad Nepomuk |
00237108 | ID_0100843 | Orp Overovatel | 346 | Městský úřad Neratovice |
00271888 | ID_0100237 | Orp Overovatel | 756 | Městský úřad Nová Paka |
00272876 | ID_0100245 | Orp Overovatel | 776 | Městský úřad Nové Město nad Metují |
00260771 | ID_0100211 | Orp Overovatel | 691 | Městský úřad Nový Bor |
00269247 | ID_0100231 | Orp Overovatel | 741 | Městský úřad Nový Bydžov |
00298212 | ID_0100555 | Orp Overovatel | 136 | Městský úřad Nový Jičín |
00258199 | ID_0104079 | Orp Overovatel | 551 | Městský úřad Nýřany |
00298221 | ID_0100557 | Orp Overovatel | 141 | Městský úřad Odry |
00297577 | ID_0100547 | Orp Overovatel | 116 | Městský úřad Orlová |
00254843 | ID_0104095 | Orp Overovatel | 591 | Městský úřad Ostrov |
00284301 | ID_0101423 | Orp Overovatel | 1176 | Městský úřad Otrokovice |
00248789 | ID_0104337 | Orp Overovatel | 916 | Městský úřad Pacov |
00249998 | ID_0101093 | Orp Overovatel | 456 | Městský úřad Písek |
00239640 | ID_0100853 | Orp Overovatel | 371 | Městský úřad Poděbrady |
00277177 | ID_0100273 | Orp Overovatel | 846 | Městský úřad Polička |
00250627 | ID_0104043 | Orp Overovatel | 461 | Městský úřad Prachatice |
00274101 | ID_0100267 | Orp Overovatel | 831 | Městský úřad Přelouč |
00257125 | ID_0104073 | Orp Overovatel | 536 | Městský úřad Přeštice |
00243132 | ID_0100863 | Orp Overovatel | 396 | Městský úřad Příbram |
00244309 | ID_0100867 | Orp Overovatel | 406 | Městský úřad Rakovník |
00259047 | ID_0104081 | Orp Overovatel | 556 | Městský úřad Rokycany |
00282481 | ID_0104367 | Orp Overovatel | 991 | Městský úřad Rosice |
00264334 | ID_0104115 | Orp Overovatel | 641 | Městský úřad Roudnice nad Labem |
00304271 | ID_0101415 | Orp Overovatel | 1156 | Městský úřad Rožnov pod Radhoštěm |
00261602 | ID_0104103 | Orp Overovatel | 611 | Městský úřad Rumburk |
00275336 | ID_0100251 | Orp Overovatel | 791 | Městský úřad Rychnov nad Kněžnou |
00296317 | ID_0101435 | Orp Overovatel | 1206 | Městský úřad Rýmařov |
00240702 | ID_0100857 | Orp Overovatel | 381 | Městský úřad Říčany |
00243272 | ID_0100865 | Orp Overovatel | 401 | Městský úřad Sedlčany |
00276111 | ID_0100225 | Orp Overovatel | 726 | Městský úřad Semily |
00234877 | ID_0100829 | Orp Overovatel | 311 | Městský úřad Slaný |
00292311 | ID_0104389 | Orp Overovatel | 1046 | Městský úřad Slavkov u Brna |
00252921 | ID_0104053 | Orp Overovatel | 486 | Městský úřad Soběslav |
00259586 | ID_0104099 | Orp Overovatel | 601 | Městský úřad Sokolov |
00257265 | ID_0104075 | Orp Overovatel | 541 | Městský úřad Stod |
00251810 | ID_0104049 | Orp Overovatel | 476 | Městský úřad Strakonice |
00268321 | ID_0100293 | Orp Overovatel | 896 | Městský úřad Světlá nad Sázavou |
00277444 | ID_0100275 | Orp Overovatel | 851 | Městský úřad Svitavy |
00299529 | ID_0104403 | Orp Overovatel | 1081 | Městský úřad Šternberk |
00303461 | ID_0104419 | Orp Overovatel | 1121 | Městský úřad Šumperk |
00262587 | ID_0100215 | Orp Overovatel | 701 | Městský úřad Tanvald |
00286745 | ID_0100506 | Orp Overovatel | 906 | Městský úřad Telč |
00282707 | ID_0104371 | Orp Overovatel | 1001 | Městský úřad Tišnov |
00245551 | ID_0100871 | Orp Overovatel | 416 | Městský úřad Trhové Sviny |
00278360 | ID_0100255 | Orp Overovatel | 801 | Městský úřad Trutnov |
00247618 | ID_0100883 | Orp Overovatel | 446 | Městský úřad Třeboň |
00297313 | ID_0101443 | Orp Overovatel | 1226 | Městský úřad Třinec |
00276227 | ID_0100227 | Orp Overovatel | 731 | Městský úřad Turnov |
00245585 | ID_0100873 | Orp Overovatel | 421 | Městský úřad Týn nad Vltavou |
00291471 | ID_0101411 | Orp Overovatel | 1146 | Městský úřad Uherské Hradiště |
00291463 | ID_0101413 | Orp Overovatel | 1151 | Městský úřad Uherský Brod |
00299634 | ID_0104405 | Orp Overovatel | 1086 | Městský úřad Uničov |
00279676 | ID_0100283 | Orp Overovatel | 871 | Městský úřad Ústí nad Orlicí |
00284611 | ID_0101425 | Orp Overovatel | 1181 | Městský úřad Valašské Klobouky |
00304387 | ID_0101417 | Orp Overovatel | 1161 | Městský úřad Valašské Meziříčí |
00295671 | ID_0104351 | Orp Overovatel | 951 | Městský úřad Velké Meziříčí |
00250805 | ID_0104045 | Orp Overovatel | 466 | Městský úřad Vimperk |
00300870 | ID_0100565 | Orp Overovatel | 161 | Městský úřad Vítkov |
00284653 | ID_0101427 | Orp Overovatel | 1186 | Městský úřad Vizovice |
00232947 | ID_0100819 | Orp Overovatel | 286 | Městský úřad Vlašim |
00232963 | ID_0100821 | Orp Overovatel | 291 | Městský úřad Votice |
00278475 | ID_0100257 | Orp Overovatel | 806 | Městský úřad Vrchlabí |
00304450 | ID_0101419 | Orp Overovatel | 1166 | Městský úřad Vsetín |
00292427 | ID_0104391 | Orp Overovatel | 1051 | Městský úřad Vyškov |
00303640 | ID_0101403 | Orp Overovatel | 1126 | Městský úřad Zábřeh |
00293881 | ID_0104395 | Orp Overovatel | 1061 | Městský úřad Znojmo |
00279846 | ID_0100287 | Orp Overovatel | 881 | Městský úřad Žamberk |
00265781 | ID_0104121 | Orp Overovatel | 656 | Městský úřad Žatec |
00262633 | ID_0100217 | Orp Overovatel | 706 | Městský úřad Železný Brod |
00282979 | ID_0104373 | Orp Overovatel | 1006 | Městský úřad Židlochovice |
00234516 | ID_0100827 | Orp Overovatel | 306 | Statutární město Kladno |
00238295 | ID_0100845 | Orp Overovatel | 351 | Statutární město Mladá Boleslav |
00300535 | ID_0100563 | Orp Overovatel | 156 | Statutární město Opava |
00075370 | ID_0104067 | Orp Overovatel | 521 | Statutární město Plzeň |
00266621 | ID_0104129 | Orp Overovatel | 676 | Statutární město Teplice |
00063797 | ID_0100583 | Orp Overovatel | 206 | Úřad městské části Praha 8 |
00064581 | ID_0101449 | Orp Praha Overovatel | 1297 | HLAVNÍ MĚSTO PRAHA |
45249130 | ID_0100511 | Overovatel | 5 | Cenia |
00164801 | ID_0100513 | Overovatel | 10 | MINISTERSTVO ŽIVOTNÍHO PROSTŘEDÍ |
00020711 | ID_0100517 | Overovatel | 21 | VÝZKUMNÝ ÚSTAV VODOHOSPODÁŘSKÝ T.G.MASARYKA |
70890005 | ID_0101481 | PovodiOverovatel | 1306 | Povodí Labe, státní podnik |
70890013 | ID_0101479 | Povodi Overovatel | 1302 | Povodí Moravy, státní podnik |
70890021 | ID_0101485 | Povodi Overovatel | 1314 | Povodí Odry, státní podnik |
70889988 | ID_0101483 | Povodi Overovatel | 1310 | Povodí Ohře, státní podnik |
70889953 | ID_0101477 | Povodi Overovatel | 1298 | Povodí Vltavy, státní podnik |
ID_248814 | Vojensky Ujezd Overovatel | 586171 | Újezdní úřad vojenského újezdu Boletice | |
ID_248812 | Vojensky Ujezd Overovatel | 586167 | Újezdní úřad vojenského újezdu Brdy | |
ID_248810 | Vojensky Ujezd Overovatel | 586163 | Újezdní úřad vojenského újezdu Březina | |
ID_248808 | Vojensky Ujezd Overovatel | 586159 | Újezdní úřad vojenského újezdu Hradiště | |
ID_248806 | Vojensky Ujezd Overovatel | 586035 | Újezdní úřad vojenského újezdu Libavá |
10.2 Popis stavů dokumentu a procesu
Stav podle xsd | Popis | Stav podle aplikace | Typ stavu | Dokument (D) / Hlášení (H) |
AUTORIZOVANO | Dokument je označen jako autorizovaný | Autorizováno | Systémový | D |
CEKA_NA_AUTORIZACI | Stav dokumentu, který není autorizován v souladu s požadavky § 37 odst. 4 zákona č. 500/2004 Sb., správní řád. K dokumentu nebyl připojen zaručený elektronický podpis nebo tento podpis není validní z hlediska požadavků zákona č. 227/2000 Sb., o elektronickém podpisu nebo byla narušena integrita dokumentu (došlo ke změně dokumentu po připojení zaručeného elektronického podpisu), v obou případech se čeká na doručení listinné autorizace. | Čeká na autorizaci | Nesystémový | D |
CEKA_NA_OVERENI | Stav hlášení z autorizovaného dokumentu. Hlášení v tomto stavu je přiděleno ověřovateli k ověření. | Přiděleno ověřovateli (čeká na ověření) | Nesystémový | H |
CEKA_NA_VYRIZENI | Stav dokumentu, u kterého čeká hlášení na ověření ze strany ověřovatele. | Čeká na vyřízení | Nesystémový | D |
CEKA_NA_ZPRACOVANI_SYSTEMEM | Stav dokumentu, který je přijat do fronty ke zpracování, je mu přiděleno číslo dokumentu. | Čeká na zpracování | Systémový | D |
CEKA_NA_VALIDACI_RADNE_DOPLNENE | Stav dokumentu, který je přijat do fronty ke zpracování, je mu přiděleno číslo dokumentu a čeká na validaci řádného hlášení. | Čeká na validaci řádné/doplněné | Systémový | D |
CEKA_PO_VALIDACI_RADNE_DOPLNENE | Stav dokumentu, který je přijat do fronty ke zpracování, je mu přiděleno číslo dokumentu a čeká po validaci řádného hlášení. | Čeká po validaci řádné/doplněné | Systémový | D |
EXPORT_PRILOH_SELHAL | Záznam v historii stavů dokumentu v případě, kdy se z technických důvodů nepodařilo exportovat přílohy, což může být způsobeno například nekompatibilní verzí Adobe Readeru (v případě PDF), kterým bylo do formuláře vloženo aj. | Export příloh se nezdařil | Systémový | D |
HLASENI_IMPORTOVANO | Hlášení importováno do ISPOP z malého ISPOP z minulých roků | Hlášení importováno | Systémový | D |
HLASENI_PRIJATO | Dokument přijat systémem k dalšímu zpracování | Přijato | Nesystémový | D |
INICIALIZOVANO | Výchozí stav subflow při vytvoření | K autorizaci | Systémový | H |
JE_DIGITALNE_PODEPSANO_STATE | Systémem bylo identifikováno použití digitálního podpisu | Je digitálně podepsáno | Systémový | D |
JE_DIGITALNE_SELF_PODEPSANO_STATE | Systémem identifikováno použití nedůvěryhodného certifikátu | Je digitálně podepsáno nedůvěryhodným certifikátem | Systémový | D |
JE_ZPRACOVANO_SYSTEMEM | Stav dokumentu, který označuje splnění všech kontrol (typ dokumentu, šablona XSD, kritické logické validace) | Je zpracováno systémem | Systémový | D |
LOGICKA_VALIDACE_SELHALA | Stav dokumentu, kdy data hlášení nesplnila kritické validační kontroly | Logická validace selhala | Systémový | D |
NEAUTORIZOVATELNE_END_STATE | Stav dokumentu, který byl určen jako nautorizovatelný. Již se nepoužívá resp. v aplikaci nelze takto označit. | Není autorizovatelné | Systémový | D |
NENI_ZPRACOVATELNE_SYSTEMEM_END_STATE | Stav dokumentu, který nebyl korektně zpracován systémem z důvodu obsahu chyb proti platnému datovému standardu (nedodržení datové struktury nebo logických kontrol). | Není zpracovatelné | Nesystémový | D |
NEOVERITELNE_END_STATE | Stav hlášení, u kterého si ověřovatel vyžádal doplnění podání nebo ohlašovatel sám zaslal opravené (doplněné) hlášení. Tento stav se taktéž nastavuje u hlášení, které bylo zasláno korektně do systému a je nahrazováno dalším hlášením (např. za jednu provozovnu bylo zasláno 5 totožných hlášení; poslední (páté) hlášení bylo vráceno k doplnění; první – čtvrté hlášení tedy bylo doplněno pátým hlášení). | K doplnění/doplněno | Nesystémový | H |
ODLOZENO | Stav nepoplatkového hlášení, kterému ověřovatel změnil stav na „odloženo“ tzn., že hlášení nemělo nebo nemuselo být podáno. | Odloženo | Nesystémový | H |
OVERENO_END_STATE | Stav nepoplatkového hlášení, které ověřovatel schválil z hlediska jejich obsahu a nepožaduje jejich doplnění. | Ověřeno | Nesystémový | H |
PARENT_NEOVERITELNE | Stav dokumentu, který odpovídá finálnímu zápornému zpracování příslušných hlášení (alespoň jednoho v případě F_OVZ_SPOJ). | Nelze ověřit | Systémový | D |
PARENT_OVERENO | Stav dokumentu, který odpovídá finálnímu kladnému zpracování příslušných hlášení (alespoň jednoho v případě F_OVZ_SPOJ). | Ověřeno kompletně | Systémový | D |
PARENT_ZNEPLATNENO | Stav dokumentu, které byl zneplatněn správcem ISPOP (zpravidla z technických důvodů) | Zneplatněn | Nesystémový | D |
POSTOUPENO_PRO_NEPRISLUSNOST | Tento stav je u hlášení (podání) zaznamenán v případě, kdy je postoupeno jinému ověřovateli z důvodu nepříslušnosti (§ 12 zákona č. 500/2004 Sb. správní řád) | Postoupeno pro nepříslušnost | Nesystémový | H |
PRIPRAVENO_NA_NOVE_OVERENI | Stav je zaznamenán v historii hlášení v případě, kdy je správcem ISPOP vráceno ze stavu „K doplnění“ nebo „Ověřeno“ do stavu „Přiděleno ověřovateli“ | Vráceno k ověření | Nesystémový | H |
SPRAVNI_RIZENI_PRERUSENO | Stav poplatkového hlášení podle § 64 a § 65 zákona č. 500/2004 Sb., správní řád | Správní řízení přerušeno | Nesystémový | H |
SPRAVNI_RIZENI_ZAHAJENO | Stav poplatkového hlášení, u kterého bylo ověřovatelem zahájeno správní řízení | Probíhá řízení | Nesystémový | H |
SPRAVNI_RIZENI_ZASTAVENO_END_STATE | Stav poplatkového hlášení podle § 66 zákona č. 500/2004 Sb., správní řád | Správní řízení zastaveno | Nesystémový | H |
VYDAN_POPLATKOVY_VYMER_END_STATE | Stav poplatkového hlášení podle § 67 zákona č. 500/2004 Sb., správní řád | Vydán zálohový/poplatkový výměr | Nesystémový | H |
VYDANO_STANOVISKO_END_STATE | Stav poplatkového hlášení podle § 149 zákona č. 500/2004 Sb., správní řád | Vydáno stanovisko | Nesystémový | H |
VYRIZENO_END_STATE | Stav dokumentu, u kterého bylo provedeno ověření hlášení. | Vyřízeno | Nesystémový | D |
VZNIKLA_NEKONZISTENCE | Stav dokumentu, kdy nedojde k jeho nalezení v úložišti dat, tzn., že údaje v databázi neodpovídají údajům ze souborového systému | Vznikla nekonzistence | Systémový | D |
ZPARSEROVANO_SYSTEMEM | Struktura dokumentu odpovídá datovému standardu | Ověřena datová struktura dokumentu | Systémový | D |
ZVALIDOVANO_SYSTEMEM | Dokument byl vyhodnocen jako takový, který systém umí zpracovat, bylo mu přiděleno evidenční číslo. | Zvalidováno systémem | Systémový | D |
DANOVY_RAD_POSTOUPENO_PRO_NEPRISLUSNOST | Nesystémový | H | ||
DANOVY_RAD_DELEGACE | Nesystémový | H | ||
DANOVY_RAD_ATRAKCE | Nesystémový | H | ||
DANOVY_RAD_PROBIHA_RIZENI | Nesystémový | H | ||
DANOVY_RAD_RIZENI_ZASTAVENO | Nesystémový | H | ||
DANOVY_RAD_VADY_PODANI | Nesystémový | H | ||
DANOVY_RAD_VYDAN_PLATEBNI_VYMER | Nesystémový | H | ||
DANOVY_RAD_VYDAN_PLATEBNI_VYMER_NA_NULU | Nesystémový | H |
10.3 Ukázka komunikace
Vytvořeno proti testovacímu prostředí.
10.3.1 Požadavek na ZNEPLATNĚNÁ a VYŘÍZENÁ hlášení F_OVZ_SPOJ setříděná podle předmětu
<?xml version="1.0" encoding="utf-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v20="http://ispop.cz/spravaHlaseni/list/v20120411" xmlns:v201="http://ispop.cz/wscommon/v20120411" xmlns:v202="http://ispop.cz/spravaHlaseni/common/v20120411" xmlns:v203="http://ispop.cz/common/v20120309"> <soapenv:Header/> <soapenv:Body> <v20:hlaseniFilterDto> <v20:hlaseniFilter> <v20:orderingAndPaging> <v201:page>0</v201:page> <v201:maxResults>5</v201:maxResults> <v201:sortingCriterion>PREDMET</v201:sortingCriterion> <v201:order>DESC</v201:order> </v20:orderingAndPaging> <v20:stavDokumentuList> <v20:stavDokumentu>PARENT_ZNEPLATNENO</v20:stavDokumentu> <v20:stavDokumentu>VYRIZENO_END_STATE</v20:stavDokumentu> </v20:stavDokumentuList> <v20:typDokumentu>F_OVZ_SPOJ</v20:typDokumentu> </v20:hlaseniFilter> </v20:hlaseniFilterDto> </soapenv:Body> </soapenv:Envelope>
10.3.2 Požadavek na detail hlášení ISPOP_295912 podle verze v20130221
<?xml version="1.0" encoding="utf-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v20="http://ispop.cz/spravaHlaseni/detail/v20130221" xmlns:v201="http://ispop.cz/spravaHlaseni/detail/v20120411"> <soapenv:Header/> <soapenv:Body> <v20:hlaseniDetailRequestDto> <v20:hlaseniDetailRequest> <v201:cisloDokumentu>ISPOP_295912</v201:cisloDokumentu> </v20:hlaseniDetailRequest> </v20:hlaseniDetailRequestDto> </soapenv:Body> </soapenv:Envelope>
11 Příloha: Registr ISPOP – dodatky
11.1 Ukázka komunikace
11.1.1 CatalogService
- Stažení seznamu číselníků
<?xml version="1.0" encoding="utf-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v20="http://ispop.cz/catalog/v20130505" xmlns:wsc="http://ispop.cz/wscommon"> <soapenv:Header/> <soapenv:Body> <v20:getCatalogNames> <v20:catalogNameFilterDto> <v20:pageInfo> <wsc:maxResults>1000</wsc:maxResults> <wsc:page>0</wsc:page> </v20:pageInfo> </v20:catalogNameFilterDto> </v20:getCatalogNames> </soapenv:Body> </soapenv:Envelope>
<?xml version="1.0" encoding="utf-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Header/> <SOAP-ENV:Body> <ns3:getCatalogNamesResponse xmlns:ns10="http://ispop.cz/partyContactEdit/v20130505" xmlns:ns11="http://ispop.cz/partylog/v20130505" xmlns:ns12="http://ispop.cz/provozworkflow/v20130505" xmlns:ns13="http://ispop.cz/provozovna/v20130505" xmlns:ns14="http://ispop.cz/provozovnaedit/v20130505" xmlns:ns15="http://ispop.cz/usersubjectrelationship/v20130505" xmlns:ns16="http://ispop.cz/zmocneni/v20130505" xmlns:ns17="http://ispop.cz/elemzdrojrozhodnuti/v20130505" xmlns:ns18="http://ispop.cz/rozhodnuti/v20130505" xmlns:ns19="http://ispop.cz/employment/v20130505" xmlns:ns2="http://ispop.cz/wscommon" xmlns:ns20="http://ispop.cz/provoz/v20130505" xmlns:ns21="http://ispop.cz/spravcovstvi/v20130505" xmlns:ns22="http://ispop.cz/vymer/v20130505" xmlns:ns23="http://ispop.cz/hlaseni/v20130505" xmlns:ns3="http://ispop.cz/catalog/v20130505" xmlns:ns4="http://ispop.cz/elementarnizdroj/v20130505" xmlns:ns5="http://ispop.cz/legalsubject/v20130505" xmlns:ns6="http://ispop.cz/contact/v20130505" xmlns:ns7="http://ispop.cz/relationship/v20130505" xmlns:ns9="http://ispop.cz/user/v20130505"> <ns3:result> <ns2:totalCount>31</ns2:totalCount> <ns3:list>ProvozWorkflowStateTypeCatalogDto</ns3:list> <ns3:list>ProvozWorkflowTypeCatalogDto</ns3:list> <ns3:list>PartyTypeCatalogDto</ns3:list> <ns3:list>UtjCatalogDto</ns3:list> <ns3:list>NaceCatalogDto</ns3:list> <!-- ........ --> <!-- zkráceno --> <!-- ........ --> </ns3:result> </ns3:getCatalogNamesResponse> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
12 Příloha: Interní služby – dodatky
12.1 Spisová služba – ukázka komunikace
Vytvořeno vůči testovacímu prostředí ve verzi v20111116.
12.1.1 Odeslání dokumentu
Odeslání dokumentu, který dorazil formou emailu na CENIA. Odpověď serveru.
<?xml version="1.0" encoding="utf-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v20="http://ispop.cz/spisovaSluzba/v20111116" xmlns:v201="http://ispop.cz/wscommon/v20111119"> <soapenv:Header/> <soapenv:Body> <v20:submitDocumentDto> <v20:incomingDate>2011-12-12T08:00:00</v20:incomingDate> <v20:indoc>QWhvaiBiYWJpIQo=</v20:indoc> <v20:sslDetails> <v20:documentId>DOC_ID_102</v20:documentId> <v20:cisloJednaci>cisloJednaci</v20:cisloJednaci> </v20:sslDetails> <v20:zpusobDoruceni> <v20:zpusobDoruceni> <v201:code>EMAIL</v201:code> <v201:identifier>ZpusobDoruceniType</v201:identifier> </v20:zpusobDoruceni> </v20:zpusobDoruceni> <v20:emailDetails> <v20:email>mar@centrum.cz</v20:email> </v20:emailDetails> </v20:submitDocumentDto> </soapenv:Body> </soapenv:Envelope>
<?xml version="1.0" encoding="utf-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Header/> <SOAP-ENV:Body> <ns2:submitDocumentResultDto xmlns:ns2="http://ispop.cz/spisovaSluzba/v20111116" xmlns:ns3="http://ispop.cz/wscommon/v20111119"> <ns2:documentSequenceNumber>ISPOP_222056</ns2:documentSequenceNumber> <ns2:submitResultCode> <ns3:code>OK</ns3:code> <ns3:identifier>SubmitResultCodeCatalogCode</ns3:identifier> </ns2:submitResultCode> </ns2:submitDocumentResultDto> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
Odpověď po opětovném odeslání:
<?xml version="1.0" encoding="utf-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Header/> <SOAP-ENV:Body> <ns2:submitDocumentResultDto xmlns:ns2="http://ispop.cz/spisovaSluzba/v20111116" xmlns:ns3="http://ispop.cz/wscommon/v20111119"> <ns2:documentSequenceNumber>DOCUMENT_SEQ_NUMBER_NOT_AVAIL</ns2:documentSequenceNumber> <ns2:submitResultCode> <ns3:code>DUPLICATE_DOCUMENT</ns3:code> <ns3:identifier>SubmitResultCodeCatalogCode</ns3:identifier> </ns2:submitResultCode> </ns2:submitDocumentResultDto> </SOAP-ENV:Body> </SOAP-ENV:Envelope>