Popis webových služeb ISPOP

Obsah

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

  1. v20110901

    Existuje jediná aktuální verze – má označení v20110901.

  2. Bugfixing

    Žádné opravy služeb nebyly zveřejněny.

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.

plantuml-DocumentRegistrationInputService.png

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é.

plantuml-DocumentInputService.png

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.

plantuml-DocumentValidateService.png

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

  1. 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
  2. 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
  3. Bugfixing
    1. 2012-04-15
      • revize definice konstant (enum typů)
      • oprava řazení
      • definice chybových stavů
    2. 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
    3. 2012-08-03
      • oprava definice typu StavDokumentuListTyp, StavHlaseniListTyp
    4. 2012-09-23
      • oprava filtrovaní podle intervalu – chybné použití intervalu HlaseniFilterTyp.datumPrijetiSystem namísto intervalu HlaseniFilterTyp.datumPrijetiSpravniRad
    5. 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
    6. 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)
    7. 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
    8. 2014-03-07
      • aktualizace číselníkových typů:
        • StavDokumentuCiselnikTyp
        • StavHlaseniCiselnikTyp
        • StavWorkflowCiselnikTyp
    9. 2014-05-05
      • aktualizace číselníkových typů:
        • StavDokumentuCiselnikTyp
        • StavHlaseniCiselnikTyp
        • StavWorkflowCiselnikTyp

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:

  1. Určení typu hlášení
  2. XSD Validace
  3. Validace digitálního podpisu
  4. 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í:

  1. Získaní požadovaného seznamu hlášení a případně detailních informací (v20120411-hlaseniListService.wsdl, v20120411-hlaseniDetailService.wsdl)
  2. 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.
  1. 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.

  2. Přílohy hlášení

    Hlášení do ISPOP může mít jednu ze dvou podob:

    1. XML
    2. 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:

    1. Pro XML před rokem 2013
    2. 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í

plantuml-HlaseniListService.png

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.

  1. 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:

    1. data, zadávano pomocí intervalů (Interval)
      • datumPrijetiSystem – systémový čas příjmu
      • datumPrijetiSpravniRad – čas příjmu podle správního řádu
    2. stavy hlášení a typ
      • stavHlaseni
      • stavDokumentu
      • typDokumentu
    3. 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>
    
  2. 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:

    1. cisloDokumentu
    2. procesId

    cisloDokumentu se využívá pro:

    1. získání detailních informací k danému hlášení (pokud jsou potřeba)
    2. 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  

plantuml-HlaseniDetailService.png

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.

  1. Verze v20120411
    1. Metoda getHlaseniDetail
      1. 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>
        
      2. 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)
    2. Metoda getHlaseniFileData

      Využívá jako vstup uuidDokumentu poskytované skrze getHlaseniDetail a vrací požadovaná data.

      1. 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>
        
      2. 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>
        
  2. 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  

plantuml-HlaseniProcessService.png

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.

  1. 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
  2. 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.1 Verze

5.1.1 Aktuální verze

  1. v20130505

5.1.2 Zastaralé verze

Žádné zastaralé verze nejsou.

5.2 Co je registr ISPOP

ditaa-registr-ispop.png

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).

  1. 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
    1. 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).
    2. Stránkování

      Všechny metody, které jako návratový typ uvádějí kolekci určitého typu, dodržují tyto konvence:

      1. 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í.
      2. 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.

      1. 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.

      2. 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 elementu CatalogName.

    3. Čí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íky
      • catalog-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 a CatalogValueResultListDto 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é).

  2. 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.

  1. 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.

  2. 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.

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

  1. CatalogService
    CatalogService catalog.wsdl Autorizovaná služba pro vyhledání a získání hodnot číselníků

    plantuml-CatalogService.png

    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ím getCatalogValues. 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 typem AbstractCatalogDto 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

  1. DocumentService
    DocumentService document.wsdl Autoriovaná služba pro přístup k dokumentům (fyzickým souborům zaslaným do ISPOP)

    plantuml-DocumentService.png

    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

  1. LegalSubjectService
    5.4.3.1 legalsubject.wsdl Autorizovaná služba pro vyhledání a získání subjektu

    plantuml-LegalSubjectService.png

    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). Operace getDetail 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.

    1. Model tříd

      mdr-LegalSubjectService.png

  2. LegalSubjectEditService
    5.4.3.2 legalsubjectedit.wsdl Autorizovaná služba pro změny v subjektech

    plantuml-LegalSubjectEditService.png

    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)

  1. ElementarniZdrojService
    ElementarniZdrojService elementarnizdroj.wsdl Autoriovaná služba pro přístup k elementárním zdrojům (místům užívání vody)

    plantuml-ElementarniZdrojService.png

    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
  2. ElementarniZdrojEditService
    ElementarniZdrojEditService elementarnizdrojedit.wsdl Autoriovaná služba pro změny elementárních zdrojů (míst užívání vody)

    plantuml-ElementarniZdrojEditService.png

    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
  3. RozhodnutiService
    RozhodnutiService rozhodnuti.wsdl Autoriovaná služba pro přístup k rozhodnutím (míst užívání vody)

    plantuml-RozhodnutiService.png

    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
  4. RozhodnutiEditService
    RozhodnutiEditService rozhodnutiedit.wsdl Autoriovaná služba pro přístup k rozhodnutím (míst užívání vody)

    plantuml-RozhodnutiEditService.png

    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
  5. 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

    plantuml-ElemZdrojRozhodnutiService.png

    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
  6. ElemZdrojRozhodnutiEditService
    ElemZdrojRozhodnutiEditService elemzdrojrozhodnutiedit.wsdl Autoriovaná služba pro změny vazeb elementárních zdrojů (míst užívání vody) a rozhodnutí

    plantuml-ElemZdrojRozhodnutiEditService.png

    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í

  1. ZmocneniService
    ZmocneniService zmocneni.wsdl Autoriovaná služba pro přístup ke zmocnění (vazba subjekt (zmocnitel) – subjekt (zmocněnec))

    plantuml-ZmocneniService.png

    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é

  1. UserService
    UserService user.wsdl Autoriovaná služba pro přístup k uživatelům

    plantuml-UserService.png

    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
  2. UserEditService
    UserEditService userEdit.wsdl Autoriovaná služba pro změny u uživatelů

    plantuml-UserEditService.png

    updateElpnoPrivileges Provede nastavení oprávnění ELPNO pro danou entitu. ROLE_UZIVATEL

5.4.7 Správcovství

  1. SpravcovstviService
    SpravcovstviService spravcovstvi.wsdl Autoriovaná služba pro přístup ke správcovství (vazba subjekt (spravovaný subjekt) – uživatel (správce))

    plantuml-SpravcovstviService.png

    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é)

  1. EmploymentService
    EmploymentService employment.wsdl Autoriovaná služba pro přístup k zaměstnáncům (vazba subjek (zaměstnavatel) – uživatel (zaměstnanec))

    plantuml-EmploymentService.png

    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
  2. EmploymentEditService
    EmploymentEditService employmentEdit.wsdl Autoriovaná služba pro změny u zaměstnanců

    plantuml-EmploymentEditService.png

    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.1.1 Aktuální verze

  1. v20130505

    Existuje jediná aktuální verze – má označení v20130505.

  2. Bugfixing

    Žádné opravy služeb nebyly zveřejněny.

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í.

plantuml-HlaseniUploadService.png

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.

  1. 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.

  2. upload

    Metoda nahrazuje metodu submit z DocumentInputService

    Stejně jako zmíněná submit i upload 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.

plantuml-HlaseniValidateService.png

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

  1. v20111116
    1. Bugfixing

      Žádné opravy služeb nebyly zveřejněny.

  2. Zastaralé verze

    Pro komunikaci se spisovou službou existují ještě další zastaralé verze (bez označení); již nejsou podporované.

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

mdr-SpisovaSluzba.png

7.1.4 Popis služeb

  1. IspopSpisovaSluzbaService

    plantuml-IspopSpisovaSluzbaService.png

    submitDocument Metoda pro vyhledání hlášení. Vrací seznam vyhovující zadaným kritériím. ROLE_UZIVATEL  
  2. CeniaSpisovaSluzbaService

    plantuml-IspopSpisovaSluzbaService.png

    notifyDocumentProcessing Notifikace o zpracování zasílaná do spisové služby. ROLE_UZIVATEL

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>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;xfa:data xmlns:xfa=&quot;http://www.xfa.org/schema/xfa-data/1.0/&quot;
&gt;&lt;F_IRZ revision=&quot;2&quot; version=&quot;2011&quot;
&gt;&lt;meta-info
&gt;&lt;user-agent
&gt;LC&lt;/user-agent
&gt;&lt;user-agent-version
&gt;2011-11-28.7741&lt;/user-agent-version
&gt;&lt;/meta-info
&gt;&lt;section1
&gt;&lt;radneDoplneneHlaseni
&gt;&lt;rd
&gt;R&lt;/rd
&gt;&lt;radne
/&gt;&lt;/radneDoplneneHlaseni
&gt;&lt;rok
&gt;2011&lt;/rok
&gt;&lt;hlaseniVyplnil
&gt;&lt;vyplnil
&gt;&lt;jmeno
&gt;Spr&#225;vce&lt;/jmeno
&gt;&lt;prijmeni
&gt;Ispop&lt;/prijmeni
&gt;&lt;/vyplnil
&gt;&lt;kontakt
&gt;&lt;email
&gt;spravce@cenia.cz&lt;/email
&gt;&lt;telefon
&gt;&lt;predvolba
&gt;+420&lt;/predvolba
&gt;&lt;cislo
&gt;1&lt;/cislo
&gt;&lt;/telefon
&gt;&lt;fax
&gt;&lt;predvolba
&gt;+420&lt;/predvolba
&gt;&lt;/fax
&gt;&lt;/kontakt
&gt;&lt;datum
&gt;2011-11-22&lt;/datum
&gt;&lt;/hlaseniVyplnil
&gt;&lt;ohlasovatel
&gt;&lt;spolecnostVyberVycet
&gt;PRAVNICKA_OSOBA&lt;/spolecnostVyberVycet
&gt;&lt;spolecnostVyber
&gt;&lt;pravnickaOsoba
&gt;&lt;nazev
&gt;Elkoplast Slu&#353;ovice s.r.o.&lt;/nazev
&gt;&lt;pravniForma
&gt;112&lt;/pravniForma
&gt;&lt;ic
&gt;26235757&lt;/ic
&gt;&lt;/pravnickaOsoba
&gt;&lt;/spolecnostVyber
&gt;&lt;adresa
&gt;&lt;kraj
&gt;Zl&#237;nsk&#253;&lt;/kraj
&gt;&lt;okres
&gt;Zl&#237;n&lt;/okres
&gt;&lt;obec
&gt;Slu&#353;ovice&lt;/obec
&gt;&lt;obecKod
&gt;585777&lt;/obecKod
&gt;&lt;mestkaCast
&gt;Slu&#353;ovice&lt;/mestkaCast
&gt;&lt;ulice
&gt;Dlouh&#225;&lt;/ulice
&gt;&lt;psc
&gt;76315&lt;/psc
&gt;&lt;cisloPopisne
&gt;134&lt;/cisloPopisne
&gt;&lt;kodZeme
&gt;CZ&lt;/kodZeme
&gt;&lt;/adresa
&gt;&lt;/ohlasovatel
&gt;&lt;ohlasovatelOstatni
&gt;&lt;lau1
&gt;CZ0724&lt;/lau1
&gt;&lt;/ohlasovatelOstatni
&gt;&lt;provozovna
&gt;&lt;icp
&gt;CZ55729230&lt;/icp
&gt;&lt;nazev
&gt;EKOPLAST Slu&#353;ovice - laminov&#225;n&#237; plast&#367;&lt;/nazev
&gt;&lt;jtskX
&gt;1163637&lt;/jtskX
&gt;&lt;jtskY
&gt;511502&lt;/jtskY
&gt;&lt;wgs84CoordinateX
&gt;&lt;degrees
&gt;49&lt;/degrees
&gt;&lt;minutes
&gt;14&lt;/minutes
&gt;&lt;seconds
&gt;49.16583600001216&lt;/seconds
&gt;&lt;/wgs84CoordinateX
&gt;&lt;wgs84CoordinateY
&gt;&lt;degrees
&gt;17&lt;/degrees
&gt;&lt;minutes
&gt;47&lt;/minutes
&gt;&lt;seconds
&gt;44.70547199999859&lt;/seconds
&gt;&lt;/wgs84CoordinateY
&gt;&lt;adresa
&gt;&lt;kraj
&gt;Zl&#237;nsk&#253;&lt;/kraj
&gt;&lt;okres
&gt;Zl&#237;n&lt;/okres
&gt;&lt;obec
&gt;Slu&#353;ovice&lt;/obec
&gt;&lt;ulice
&gt;Dlouh&#225;&lt;/ulice
&gt;&lt;psc
&gt;76315&lt;/psc
&gt;&lt;cisloPopisne
&gt;134&lt;/cisloPopisne
&gt;&lt;kodZeme
&gt;CZ&lt;/kodZeme
&gt;&lt;/adresa
&gt;&lt;lau1
&gt;CZ0724&lt;/lau1
&gt;&lt;povodi
&gt;1&lt;/povodi
&gt;&lt;nace
&gt;353010&lt;/nace
&gt;&lt;/provozovna
&gt;&lt;/section1
&gt;&lt;section2
&gt;&lt;cinnosti
&gt;&lt;jeEPRTR
&gt;0&lt;/jeEPRTR
&gt;&lt;cinnostiEPRTR
/&gt;&lt;cinnostiOstatni
&gt;&lt;cinnostOstatniSeq
&gt;&lt;nazevCinnosti
&gt;1&lt;/nazevCinnosti
&gt;&lt;pocet
&gt;1&lt;/pocet
&gt;&lt;/cinnostOstatniSeq
&gt;&lt;/cinnostiOstatni
&gt;&lt;/cinnosti
&gt;&lt;/section2
&gt;&lt;section3
&gt;&lt;unikyOvzdusi
/&gt;&lt;unikyVoda
/&gt;&lt;unikyPuda
/&gt;&lt;prenosyOdpVody
/&gt;&lt;prenosyOdpady
/&gt;&lt;ostatniOdpady
/&gt;&lt;nebezpecneOdpady
/&gt;&lt;/section3
&gt;&lt;/F_IRZ
&gt;&lt;/xfa:data
&gt;</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

  1. 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>

Autor: Dain s.r.o. (www.dain.cz)

Created: 2015-01-02 Pá 21:53

Emacs 24.4.1 (Org mode 8.2.10)

Validate