Standard elektronické fakturace
Transkript
Datum vydání: duben 2014 Poslední aktualizace: duben 2015 Přehled aktualizací POŘADÍ DATUM AKTUALIZACE strana 1. Duben 2015 21 OBSAH ZMĚN Úprava typu položky SubDocumentType v kapitole 4.3.3 a 4.3.4 Datum vydání: duben 2014, aktualizace duben 2015 2/86 Obsah: 1 2 3 4 ÚVOD ...............................................................................................................................................................................................5 VYUŽITÍ A VÝCHODISKA ...................................................................................................................................................................6 ROZSAH A PRAVIDLA .......................................................................................................................................................................9 POPIS .............................................................................................................................................................................................12 4.1 AKTIVACE/DEAKTIVACE SLUŽBY .........................................................................................................................................12 4.1.1 Aktivace/deaktivace služby ze strany výstavce .............................................................................................................12 4.1.2 Aktivace/deaktivace služby ze strany banky..................................................................................................................14 4.2 VÝMĚNA DAT......................................................................................................................................................................17 4.2.1 Zaslání e-faktur a e-dokumentů do EB (výstavce → banka) ..........................................................................................17 4.3 PŘEDÁVANÁ DATA .............................................................................................................................................................19 4.3.1 E-faktura ve formátu XML (B2C-ISDOC 6.0) ...................................................................................................................19 4.3.2 E-dokument ve formátu XML (B2C-ISDOC 6.0) ..............................................................................................................21 4.3.3 E-faktura ve formátu PDF s metadaty v hlavičce ...........................................................................................................22 4.3.4 E-dokument ve formátu PDF s metadaty v hlavičce ......................................................................................................22 4.3.5 Použité číselníky ............................................................................................................................................................23 4.3.6 Potvrzení o přijetí dokumentů zaslaných do EB (banka → výstavce) ............................................................................24 5 DEFINICE WEBOVÝCH SLUŽEB PRO KOMUNIKACI SE SYSTÉMY BANKY .........................................................................................28 5.1 DATOVÉ TYPY .....................................................................................................................................................................28 5.2 KOMUNIKACE S WEBOVÝMI SLUŽBAMI .............................................................................................................................28 5.2.1 Přenosové protokoly .....................................................................................................................................................28 5.2.2 Přílohy zpráv ..................................................................................................................................................................28 5.3 ZABEZPEČNÍ A AUTENTIZACE WS .......................................................................................................................................28 5.3.1 Varianta 1 – Základní úroveň zabezpečení ....................................................................................................................28 5.3.2 Varianta 2 - Zvýšená úroveň zabezpečení .....................................................................................................................28 6 PŘEDÁVÁNÍ ŽÁDOSTÍ O AKTIVACI ZE STRANY BANKY A NOTIFIKAČNÍCH REPORTŮ PROSTŘEDNICTVÍM DOWNLOAD WEBOVÉ SLUŽBY (DOWNLOADWS) ......................................................................................................................................................................30 6.1 OPERACE PRO HROMADNÉ STAHOVÁNÍ DOKUMENTŮ .....................................................................................................30 6.1.1 Hlavička .........................................................................................................................................................................30 6.1.2 Popis parametrů požadavku ..........................................................................................................................................30 6.1.3 Popis parametrů odpovědi ............................................................................................................................................31 6.2 OPERACE PRO OZNAČENÍ DOKUMENTŮ K OPĚTOVNÉMU STAŽENÍ ..................................................................................31 6.2.1 Operace pro označení dokumentů pomocí časového intervalu ....................................................................................32 6.2.2 Popis parametrů odpovědi markDocumentsByTimeRange ...........................................................................................32 6.3 NEÚSPĚŠNÉ VOLÁNÍ OPERACÍ SLUŽBY ...............................................................................................................................32 7 PŘEDÁVÁNÍ E-FAKTUR, E-DOKUMENTŮ A ODPOVĚDÍ NA ŽÁDOSTI O AKTIVACI PROSTŘEDNICTVÍM UPLOAD WEBOVÉ SLUŽBY (UPLOADWS) .........................................................................................................................................................................................34 7.1 HLAVIČKA METODY ............................................................................................................................................................34 7.2 POPIS PARAMETRŮ ............................................................................................................................................................34 7.3 NÁVRATOVÉ KÓDY SLUŽBY ................................................................................................................................................35 7.3.1 Úspěšné volání služby....................................................................................................................................................35 7.3.2 Neúspěšné volání služby ...............................................................................................................................................35 8 KOMUNIKAČNÍ KANÁL SFTP ..........................................................................................................................................................37 8.1 KOMUNIKAČNÍ PROTOKOL SFTP ........................................................................................................................................37 8.2 ZABEZPEČENÍ SFTP ............................................................................................................................................................37 8.2.1 Varianta 1 - Základní úroveň zabezpečení .....................................................................................................................37 8.2.2 Varianta 2 - Zvýšená úroveň zabezpečení .....................................................................................................................37 9 PŘENOS DAT POMOCÍ ISDS............................................................................................................................................................38 10 PŘÍLOHY .....................................................................................................................................................................................39 10.1 Příloha č. 1 - Definice struktury žádosti o aktivaci (deaktivaci) služby ze strany banky ......................................................39 10.2 Příloha č. 2 - Definice struktury odpovědi výstavce na žádost o aktivaci (deaktivaci) služby ze strany banky ...................41 10.3 Příloha č. 3 – Definice struktury dávky ...............................................................................................................................43 10.3.1 Příklady dávek ...............................................................................................................................................................44 10.4 Příloha č. 4 - Definice struktury podkladů k platbě zaslaná výstavcem ..............................................................................45 10.5 Příloha č. 5 - Definice struktury e-dokumentů ...................................................................................................................59 10.6 Příloha č. 6 - Definice struktury notifikačního reportu o přijetí dokumentů do EB ............................................................66 10.7 Příloha č. 7 – WSDL pro UploadWS ....................................................................................................................................69 10.7.1 Příklady volání UploadWS .............................................................................................................................................71 10.8 Příloha č. 8 – WSDL pro DownloadWS ...............................................................................................................................77 10.8.1 Příklady volání DownloadWS .........................................................................................................................................80 10.9 Příloha č. 9 – WSDL pro WS UserAccountStatus ...............................................................................................................83 Datum vydání: duben 2014, aktualizace duben 2015 3/86 Použité zkratky Název B2C B2C-ISDOC 6.0 BIC DÁVKA DOKUMENT EB E-DOKUMENT E-FAKTURA IBAN IDENTIFIKÁTOR NA STRANĚ VÝSTAVCE ISDOC ISDS JPÚ KONCOVÝ SPOTŘEBITEL (ZÁKAZNÍK, KLIENT) SFTP VÝSTAVCE WS Popis Business-To-Customer/Consumer – v kontextu tohoto dokumentu se jedná o elektronickou komunikaci mezi výstavci a koncovými spotřebiteli prostřednictvím kanálů EB krátká struktura XML vycházející z plného formátu ISDOC 6.0 Bank Identifier Code XML soubor obsahující ZIP jednotlivých předávaných dokumentů primárně znamená e-faktura nebo e-dokument, ale též aktivační/deaktivační zpráva elektronické bankovnictví jakýkoli dokument bez platební instrukce (smlouva, informace, potvrzení, ...) jakýkoli dokument s platební instrukcí (faktura, zálohová platba, výzva k platbě...) International Bank Account Number Jedná se o položku „ClientOnTargetConsolidator“ - např. zákaznické číslo, číslo smlouvy, číslo odběrného místa, variabilní symbol, spojovací číslo, číslo odběratele apod. Information System Document - standard pro elektronickou fakturaci v ČR, který definovalo sdružení SPIS (nyní ICT Unie) informační systém datových schránek jednorázový příkaz k úhradě klient příslušné banky s možností přijímat dokumenty prostřednictvím elektronického bankovnictví Secure File Transfer Protocol Společnost, která je u příslušné banky registrována jako společnost, která může zasílat do EB dokumenty pro koncové spotřebitele. webová služba Datum vydání: duben 2014, aktualizace duben 2015 4/86 1 ÚVOD Elektronická fakturace je moderní způsob předávání daňových dokladů. Jedná se o formu komunikace opírající se o platné zákony České republiky zrovnoprávňující elektronickou a listinnou formu fakturace, a to zejména: Zákon o elektronickém podpisu 227/2000 Sb., novelizovaný zákonem č. 440/2004 Sb, který určuje původ a pravost dokumentů, Zákon o dani z přidané hodnoty 235/2004 Sb., který definuje elektronickou fakturaci novelizovaný s účinností k 1. 1. 2013 (naplnění závazku harmonizovat národní legislativu ČR s evropskou směrnicí 2010/45/EU o elektronické fakturaci). Tento standard ČBA (dále jen „Standard“) popisuje rozhraní pro zasílání e-faktur a e-dokumentů koncovým spotřebitelům do aplikací elektronického bankovnictví. Standard si klade za cíl zejména: usnadnit elektronickou fakturaci a elektronickou komunikaci obecně mezi výstavci dokumentů a jejich zákazníky, příjemci dokumentů a zajistit jednotný otevřený přístup všem účastníkům trhu v ekosystému elektronické fakturace při zasílání dokumentů do elektronického bankovnictví (dále jen „EB“), tj. výstavcům faktur včetně jejich dodavatelů informačních systémů, poskytovatelům řešení, tak pro banky. Datum vydání: duben 2014, aktualizace duben 2015 5/86 2 VYUŽITÍ A VÝCHODISKA Praktické využití standardu pro elektronickou fakturaci spočívá především v přenosu platebních údajů bez zásahu lidského faktoru a jejich doručení do EB prostřednictvím elektronických faktur. Klient pak po přihlášení do elektronického bankovnictví pouze zkontroluje údaje, či případně ještě prověří detail faktury v příloze, a automaticky vygenerovaný platební příkaz odešle ke zpracování standardním procesem autorizace platby. Tím se jednak zvýší komfort pro klienty, ale také sníží počet chybně zadaných plateb. Banky jsou tradičně vnímány jako důvěryhodné instituce s vysokým stupněm zabezpečení. A proto standard bude navíc klientům bank umožňovat i příjem neplatebních dokumentů, čímž výstavcům a příjemcům umožní a především usnadní elektronickou komunikaci do zabezpečeného a důvěryhodného prostředí s možností archivace. Klienti elektronického bankovnictví tak budou mít všechny důležité dokumenty na jednom zabezpečeném místě. ČBA tímto krokem chce podpořit rozšíření a akceptaci elektronických faktur v ČR. Datum vydání: duben 2014, aktualizace duben 2015 6/86 Datum vydání: duben 2014, aktualizace duben 2015 7/86 Popis rozhraní vychází z těchto požadavků: standardizace zasílání e-faktur a e-dokumentů koncovým spotřebitelům do aplikací elektronického bankovnictví využití stávajících technologických standardů o Při přípravě standardu ČBA spolupracovala v oblasti výměny dat s ICT Unií, Pracovní skupinou pro elektronické standardy výměny dat, která definovala a spravuje ISDOC, formát elektronické fakturace v ČR. neomezování žádného účastníka trhu v poskytování služby umožnění přenosu nezbytných a nejčastěji používaných atributů tuzemské platby umožnění předávání informací v rámci procesu nastavení a zrušení služby a přenosu dat zohlednění současného stavu B2C elektronické fakturace Datum vydání: duben 2014, aktualizace duben 2015 8/86 3 ROZSAH A PRAVIDLA Popis rozhraní je specifikací technických parametrů pro účely předávání platebních údajů a dokumentů elektronickou cestou mezi výstavcem a bankou, a to zejména pro účely předvyplnění platebního příkazu. Popis rozhraní definuje: 1. komunikační protokoly, 2. formáty pro zasílání platebních údajů včetně jejich obsahu - zejména platebních instrukcí, faktur a dalších neplatebních dokumentů výstavců do EB. Oblasti Popisu rozhraní: I. Nastavení/zrušení služby Ia. Aktivace/deaktivace služby ze strany výstavce a) žádost o aktivaci/deaktivaci (výstavce → banka) b) odpověď na žádost o aktivaci/deaktivaci (banka → výstavce) Ib. Aktivace/deaktivace služby ze strany banky a) žádost o aktivaci/deaktivaci (banka → výstavce) b) odpověď na žádost o aktivaci/deaktivaci (výstavce → banka) II. Výměna dat a) Zaslání podkladů k platbě a doručení e-faktur a e-dokumentů do EB (výstavce → banka) b) Potvrzení o přijetí e-faktur a e-dokumentů do EB (banka → výstavce) Datum vydání: duben 2014, aktualizace duben 2015 9/86 Aktivace služby Klient si službu může aktivovat, pokud banka a výstavce službu nabízí. Způsoby aktivace jsou: na straně banky ve svém EB, na straně výstavce. Identifikátor příjemce dokumentů Jako identifikátor v komunikaci mezi bankou a výstavcem se používají vždy dva údaje: identifikátor na straně výstavce (např. zákaznické číslo, číslo smlouvy, číslo odběrného místa apod.); v případě více identifikátorů jsou tyto identifikátory odděleny technickým znakem pomlčky “-“ číslo bankovního účtu zákazníka (pod kterým si aktivoval službu). Bankami přijímané typy formátů zasílaných dokumentů a příloh: Zjednodušený formát B2C-ISDOC 6.0 a vyšší nebo ISDOC 6.0 a nebo vyšší o Do EB je možné zasílat maximálně jednu přílohu, a to pouze ve formátu PDF, tj.: platební řádek (např. výzva k platbě) bez přílohy nebo jednu přílohu (např. faktura) ve formátu PDF, PDF s metadaty. Typy dokumentů Do EB lze zasílat dokumenty v max. velikosti 400kB: e-faktury - dokument s platební instrukcí (faktury, výzvy k platbě, zálohy, upomínky...) e-dokumenty - dokument bez platební instrukce (smlouvy, potvrzení, informace...). K identifikaci dokumentů slouží: číselníky pro typ dokumentu e-faktura, číselník pro typ dokumentu e-dokument. Identifikace dokumentu V případě ISDOC a B2C-ISDOC je možné zjistit identifikaci dokumentu, tj. zda se jedná o e-fakturu či e-dokument, z příslušného hlavního (rootového) elementu <Invoice> nebo <CommonDocument>. U strukturovaných dat, stejně jako u PDF s daty v hlavičce, je možné rozlišit e-fakturu a e-dokument podle obsahu elementu <DocumentType>. Je-li vyplněn hodnotou dle číselníku (např. 1 Faktura – daňový doklad), jedná se o e-fakturu. Je-li DocumentType =0, jedná se o e-dokument dále specifikovaný v elementu <SubDocumentType>. Generování jednorázových platebních příkazů k úhradě (JPÚ) Datum vydání: duben 2014, aktualizace duben 2015 10/86 Generování JPÚ v EB je dáno číselníky pro typ dokladu e-faktura (resp. hodnotou znaménka částky k zaplacení). Platební kalendář / zálohové platby (implementace této funkcionality záleží na dané bance) Do EB je možné zasílat i předpisy zálohových plateb v počtu 1-12, a to maximálně na následujících 12 měsíců. Z důvodu častých změn záloh je však doporučováno posílat předpis záloh na 3 měsíce. Datum vydání: duben 2014, aktualizace duben 2015 11/86 4 POPIS Tato kapitola popisuje procesy a obsah dat spojenými s daným způsobem aktivace a deaktivace služby a výměnu dat mezi výstavcem a bankou. 4.1 AKTIVACE/DEAKTIVACE SLUŽBY 4.1.1 Aktivace/deaktivace služby ze strany výstavce Aktivace a deaktivace služby ze strany výstavce je řešena následovně: Způsob komunikace: WS na straně banky (WSDL 1.1). Definice WS viz WSDL Příloha č. 10.9. Formát: SOAP XML zpráva Zabezpečení a autentizace WS je shodné se zabezpečením definovaným v kapitole 5.3. 4.1.1.1 Žádost o aktivaci / deaktivaci nebo zjištění stavu účtu (výstavce → banka) Struktura žádosti o aktivaci/deaktivaci služby nebo o zjištění stavu účtu ze strany výstavce: Popis jednotlivých elementů: - BankAccountID je povinná položka, která obsahuje buď právě element ClientBankAccount nebo právě ClientIBANBankAccount, nikdy ne oba elementy současně. ClientBankAccount – číslo účtu vždy v délce 20 znaků, ve formátu: předčíslí účtu (pozice 1-6) – doplněné 0 z leva na 6 znaků číslo účtu (pozice 7-16) - doplněné 0 z leva na 10 znaků Datum vydání: duben 2014, aktualizace duben 2015 12/86 kód banky (pozice 17-20) - doplněné 0 z leva na 4 znaky ClientIBANBankAccount – Obsahuje elementy IBAN a BIC dle příslušných pravidel. Pokud je v requestu obsažený element ClientIBANBankAccount, jsou elementy IBAN a BIC povinné. - ChangeAction je povinná položka přesně specifikující o jaký požadavek se jedná. Může nabývat hodnot: 0 = Deactivate – Deaktivace zasílání dokumentů pro uvedený bankovní účet a ClientOnTargetConsolidator 1 = Activate - Aktivace zasílání dokumentů pro uvedený bankovní účet a ClientOnTargetConsolidator 2 = CheckStatus – Kontrola možnosti aktivace zasílání dokumentů pro uvedený bankovní účet a ClientOnTargetConsolidator - ClientOnTargetConsolidator je povinná položka obsahující identifikátor v systémech výstavce - StatusCode – nepovinné, informace o iniciátorovi změny. S použitím tohoto atributu se počítá pouze v případě deaktivace, která může být vyvolána výstavcem bez aktivního souhlasu klienta např. při ukončení smluvního vztahu. StatusCode 1 2 - 4.1.1.2 Popis Změna na žádost klienta Změna na žádost výstavce TraceID je povinná položka obsahující jedinečný identifikátor (např. GUID) jednoznačně identifikující u výstavce konkrétní volání. Tento string může být max. 40 znaků dlouhý. Povolené znaky jsou a..z, A..Z a 0..9. Pro zajištění unikátnosti doporučujeme používat min. 10 znaků. Odpověď na žádost o aktivaci / deaktivaci nebo o zjištění stavu účtu (výstavce → banka) Struktura odpovědi na žádost o aktivaci/deaktivaci služby nebo o zjištění stavu účtu ze strany výstavce: Návratové kódy v poli Status: Status 0 1 2 Popis OK, změna proběhla úspěšně. Účet může využívat službu a pro dané ClientOnTargetConsolidator je aktivní. Lze poslat e-fakturu nebo e-dokument. Účet může využívat službu a pro dané ClientOnTargetConsolidator je neaktivní. V tomto okamžiku nelze poslat e-fakturu ani e-dokument, status se musí změnit. Datum vydání: duben 2014, aktualizace duben 2015 13/86 3 -1 Účet má službu zablokovanou. Nelze poslat e-fakturu ani edokument. Také nelze změnit status klienta ze strany výstavce. Chyba, response obsahuje element StatusErrorDescription, kde je chyba vydefinována. Návratové chybové kódy v elementu StatusErrorDescription pro Status -1: ErrorCode -1 -2 -3 -4 4.1.2 ErrorDescription Neexistující nebo zablokovaný účet výstavce Nevalidní request Účet klienta nebyl nalezen -5 Pro účet klienta nebylo nalezeno ClientOnTargetConsolidator pro deaktivaci Nebylo možno změnit status u klienta -6 Status klienta byl již změněn -1000 Vnitřní chyba systému banky Vysvětlení Výstavce použil špatné jméno/heslo nebo má účet zablokovaný. Request není správně vyplněn. Účet klienta nebyl v systému banky nalezen nebo neumožňuje službu. Pro zadanou kombinaci účtu klienta a SupplierID nebyl nalezen záznam, který by umožnil deaktivaci. Status klienta pro požadované SupplierID nebylo možné změnit. Možnost změny může být blokována. Status klienta pro zadané SupplierID je již změněn na požadovanou hodnotu. Nespecifikovaný problém v systémech banky. Služba je nyní nedostupná. Aktivace/deaktivace služby ze strany banky Aktivace a deaktivace služby ze strany banky je řešena následovně: Způsob komunikace: WS na straně banky (WSDL 1.1) Formát: XML 4.1.2.1 Źádost o aktivaci/deaktivaci (banka → výstavce) Grafické schéma struktury žádosti o aktivaci/deaktivaci služby ze strany banky (XSD viz Příloha č. 10.1): Datum vydání: duben 2014, aktualizace duben 2015 14/86 Datum vydání: duben 2014, aktualizace duben 2015 15/86 4.1.2.2 Odpověď na žádost o aktivaci / deaktivaci (výstavce → banka) Grafické schéma struktury odpovědi výstavce na žádost o aktivaci/deaktivaci služby ze strany banky (XSD viz Příloha č. 10.2): Datum vydání: duben 2014, aktualizace duben 2015 16/86 4.1.2.3 Číselník pro důvod neprovedení aktivace služby na straně výstavce Pokud je element Activated = 1, elementy StatusCode a StatusDescription nejsou v XML obsaženy. Pokud je element Activated = 0, elementy StatusCode a StatusDescription jsou vyplněny dle následující tabulky: StatusCode StatusDescription Význam 01 Služba je již aktivní Klient se opakovaně snaží zaktivovat již aktivní službu u výstavce. 04 Zákaz aktivace služby Výstavce si nepřeje z jakéhokoli důvodu službu zákazníkovi aktivovat. 05 Odmítnutí klientem Zákazník změnil své rozhodnutí nebo nesouhlasí s aktivací služby jinou osobou a vyjádřil tak svůj nesouhlas s aktivací služby na straně výstavce. 06 Klient neexistuje Klient uvedl chybné / neexistující číslo zákazníka při aktivaci. 07 Klient ukončil vztah s výstavcem Klient ukončil vztah s výstavcem. 08 Nekompatibilní služba Klient má u výstavce sjednán produkt/službu u kterého není možné službu zřídit nebo má klient aktivovanou jinou službu a není možné mít současně aktivní jak službu výstavce tak službu banky. Pozn. Pokud v jeden den klient podal více požadavků na aktivaci/deaktivaci, tak výstavce rozliší poslední status na základě časového údaje obsaženého v položce „Created“. Dále, doba čekání na reakci ze strany výstavce na požadavek aktivace je omezena časovou lhůtou 62 dnů. Do této lhůty je výstavce povinován bance poskytnou na požadavek opověď. 4.2 VÝMĚNA DAT Tato podkapitola řeší zasílání dokumentů do EB a potvrzování jejich přijetí. 4.2.1 Zaslání e-faktur a e-dokumentů do EB (výstavce → banka) Způsob komunikace: WS (WSDL verze 1.1) SFTP ISDS (implementace tohoto způsobu komunikace je na dohodě s danou bankou) Formát dokumentů: XML (B2C-ISDOC 6.0 / ISDOC 6.0) a PDF s grafickým obrazem dokumentu nebo pouze XML (B2C-ISDOC 6.0/ ISDOC 6.0) nebo PDF s metadaty v hlavičce obsahujícími identifikační či případně i fakturační údaje. Výstavce může zasílat dokumenty buď jednotlivě nebo v dávce. Datum vydání: duben 2014, aktualizace duben 2015 17/86 4.2.1.1 Definice dávky předávaných dokumentů Dávka pro přenos dokumentů od výstavce do banky příjemce bude vytvořena ve formě XML souboru (XSD viz Příloha č. 10.3). Maximální celková velikost dávky (výsledného XML souboru) je 2GB pro přenos pomocí WS a SFTP protokolu, 10 MB pro přenos kanálem Datových schránek (ISDS) – viz vyhláška č. 194/2009 Sb. Jmenná konvence pro dávky je „jm_davky.XML“, přičemž jméno_dávky musí být pokaždé pro daného výstavce unikátní. Platné znaky jsou: [a..z], [A..Z], [0..9]. Extenze je pevně „XML“. Nesplnění konvence je reportovanou chybou dávky (chybová hláška 10036; dávka se v bance nezpracuje). 4.2.1.2 Popis položek struktury dávky Grafické schéma struktury dávky: SupplierID BatchVersion – CreationTime - Hash SignedHash - Batch - ID výstavce dávky. Určuje verzi dávky s ohledem na případné další rozšíření. Aktuální hodnota = 1 Informativní datum čas vytvoření dávky. Získává se ze systémového času stroje, který měl by být synchronizovaný (UTC+01:00). Formát: YYYY-MM-DD HH:MM:SS (např. 2014-02-11 14:25:15) Obsahuje hash otisk ze ZIP souboru v base64 (kódování UTF-8). Aktuální hodnota metody hash funkce = SHA256 Obsahuje hash otisk ze ZIP souboru v base64 (kódování UTF-8). Aktuální hodnota metody hash funkce = SHA256. Tento Hash je podepsaný kvalifikovaným certifikátem. Podepsaný hash je převeden do base64. Obsahuje zip soubor s jednotlivými dokumenty převedeným následně pomocí base64 (kódování UTF-8) na ASCII. Datum vydání: duben 2014, aktualizace duben 2015 18/86 4.3 PŘEDÁVANÁ DATA Jak už bylo uvedeno výše, mohou být strukturovaná data e-faktur a e-dokumentů předávaná do EB buď ve formátu ISDOC 6.0 nebo vyšším nebo ve zjednodušeném XML formátu B2C-ISDOC 6.0 nebo vyšším. Struktura B2C-ISDOC 6.0 je odvozena zúžením formátu ISDOC 6.0 (viz www.isdoc.cz) a definice položek je v obou formátech shodná, a to i co do eventuálních číselníků, které jsou pro položky v plném formátu ISDOC definovány. Některé položky nepovinné v základním formátu ISDOC mohou být v odvozeném formátu B2C-ISDOC povinné. 4.3.1 E-faktura ve formátu XML (B2C-ISDOC 6.0) Grafické schéma struktury podkladů k platbě zaslaná výstavcem ve formátu B2C-ISDOC (XSD viz Příloha č. 10.4): Datum vydání: duben 2014, aktualizace duben 2015 19/86 Datum vydání: duben 2014, aktualizace duben 2015 20/86 4.3.2 E-dokument ve formátu XML (B2C-ISDOC 6.0) Grafické schéma struktury dat e-dokumentu B2C-ISDOC zasílaného výstavcem (XSD viz Příloha č. 10.5): Datum vydání: duben 2014, aktualizace duben 2015 21/86 4.3.3 E-faktura ve formátu PDF s metadaty v hlavičce Definice množiny položek pro metadata PDF pro e-faktury: Název položky DocumentType (=1, …6) SubDocumentType TargetConsolidator ClientOnTargetConsolidator ClientBankAccount DocumentID UUID IssueDate Note LocalCurrency SupplierID CustomerName PayableAmount ParcialPayment PaidAmount01 PaymentMeansCode01 PaymentDueDate01 BankAccount01 BankCode01 Name01 IBAN01 BIC01 VariableSymbol01 ConstantSymbol01 SpecificSymbol01 …. Typ položky Integer String String String String String String Date String String String String Decimal Boolean Decimal Integer Date String String String String String String String String PaidAmount12 PaymentMeansCode12 PaymentDueDate12 BankAccount12 BankCode12 Name12 IBAN12 BIC12 VariableSymbol12 ConstantSymbol12 SpecificSymbol12 Decimal Integer Date String String String String String String String String 4.3.4 Ekvivalent v B2C-ISDOC DocumentType SubDocumentType TargetConsolidator ClientOnTargetConsolidator ClientBankAccount ID UUID IssueDate Note LocalCurrency AccountingSuplierParty/Party/PartyIdentification/ID AccountingCustomerParty/Party/PartyName/Name LegalMonetaryTotal/PayableAmount PaymentMeans/Payment ParcialPayment=False (default=true) PaymentMeans/Payment/PaidAmount PaymentMeans/Payment/PaymentMeansCode PaymentMeans/Payment/Details/PaymentDueDate PaymentMeans/Payment/Details/BankAccount/ID PaymentMeans/Payment/Details/BankAccount/BankCode PaymentMeans/Payment/Details/BankAccount/Name PaymentMeans/Payment/Details/BankAccount/IBAN PaymentMeans/Payment/Details/BankAccount/BIC PaymentMeans/Payment/Details/VariableSymbol PaymentMeans/Payment/Details/ConstantSymbol PaymentMeans/Payment/Details/SpecificSymbol Položky od PaidAmountNN až SpecificSymbolNN se až 12x opakují. NN nabývá hodnot 01,02,…,12. PaymentMeans/Payment/PaidAmount PaymentMeans/Payment/PaymentMeansCode PaymentMeans/Payment/Details/PaymentDueDate PaymentMeans/Payment/Details/BankAccount/ID PaymentMeans/Payment/Details/BankAccount/BankCode PaymentMeans/Payment/Details/BankAccount/Name PaymentMeans/Payment/Details/BankAccount/IBAN PaymentMeans/Payment/Details/BankAccount/BIC PaymentMeans/Payment/Details/VariableSymbol PaymentMeans/Payment/Details/ConstantSymbol PaymentMeans/Payment/Details/SpecificSymbol E-dokument ve formátu PDF s metadaty v hlavičce Název položky DocumentType (= 0) SubDocumentType TargetConsolidator ClientOnTargetConsolidator ClientBankAccount DocumentID UUID IssueDate Note SupplierID CustomerName Typ položky Integer String String String String String String Date String String String Ekvivalent v B2C-ISDOC DocumentType SubDocumentType TargetConsolidator ClientOnTargetConsolidator ClientBankAccount ID UUID IssueDate Note AccountingSuplierParty/Party/PartyIdentification/ID AccountingCustomerParty/Party/PartyName/Name Datum vydání: duben 2014, aktualizace duben 2015 22/86 4.3.5 Použité číselníky 4.3.5.1 Číselníky pro typ dokumentu e-faktura Typ dokladu (DocumentType v dokumentu Invoice) Popis dokladu (SubDocumentType v dokumentu Invoice) Znaménko u částky k zaplacení 1 Faktura – daňový doklad 1 Faktura bez vyúčtování záloh +/- Poznámka Generování JPÚ “+“ Faktura bez vyúčtování záloh ANO 2 Doplatek - Faktura s vyúčtováním záloh “+“ Doplatek - Faktura s vyúčtováním záloh ANO 3 Přeplatek - Faktura s vyúčtováním záloh “-“ Přeplatek - Faktura s vyúčtováním záloh NE 4 Upomínka (nedaňová platební) "+" Upomínka ANO 2 Opravný daňový doklad (dobropis) - NE 3 Opravný daňový doklad (vrubopis) + ANO + ANO + ANO - NE 4 Zálohová faktura (nedaňový zálohový list) 5 Zálohová faktura (nedaňový zálohový list) 6 Výzva k platbě 7 Zálohová platba 5 Daňový doklad při přijetí platby (daňový zálohový list) 6 Opravný daňový doklad při přijetí platby (dobropis daňového zálohového listu) Pozn. V případě, že e-faktura je hrazena jinou platební metodou, tak v částce k zaplacení je očekávána hodnota 0,- Kč. Vedle částky k zaplacení se bude předávat i celková částka v poli PayableAmount v metadatech PDF resp. XML elementu Invoice/LegalMonetaryTotal/PayableAmount, nicméně předávání a zobrazování celkové částky v EB závisí na dané bance. 4.3.5.2 Číselník pro typ dokumentu e-dokument plněný do položky SubDocumentType. Kód 0 A DP DR DS DZ S SM U1 U2 Název dokumentu Dokument (neplatební dokument bez rozlišení) Avízo Daňové potvrzení, Daňový doklad k přijaté platbě Detailní rozpis Dopis o stornu Dopis o změně Sdělení, informace Smlouva, dodatek smlouvy 1. Upomínka (neplatební) 2. Upomínka (neplatební) Datum vydání: duben 2014, aktualizace duben 2015 23/86 Kód VS VV ZA 4.3.6 Název dokumentu Dopis ve výročí smlouvy Vyúčtování (neplatební) Zápočet, platba zápočtem – nedaňový doklad Potvrzení o přijetí dokumentů zaslaných do EB (banka → výstavce) Komunikační kanál: WS, SFTP, e-mail – pro banku implementačně povinné komunikační kanály a volitelné pro výstavce ISDS – pro banku implementačně volitelný komunikační kanál Formát: XML Potvrzení o přijetí dokumentů zaslaných do EB nebo-li notifikační report je XML soubor, ve kterém jsou předávány výstavci informace o stavu zpracování jak dávky tak jednotlivých faktur v dávce obsažených. Grafické schéma XML struktury potvrzení o přijetí dávek a dokumentů zaslaných do EB (XSD viz Příloha č. 10.6) Datum vydání: duben 2014, aktualizace duben 2015 24/86 V položce BatchName je předáváno jméno dávky zaslané výstavcem bance. Toto jméno musí být od jednoho výstavce, stejně jako UUID dokumentu, unikátní. Jeden notifikační report může notifikovat více dávek a více jednotlivých dokumentů, což je zajištěno opakováním elementu Notification. Příklad notifikace chybné dávky: <?xml version="1.0" encoding="UTF-8"?> <Message> <Notification> <BankCode>0300</BankCode> <SupplierID>12345678</SupplierID> <Batch> <BatchName>Davka_20140130_1100.xml</BatchName> <StatusCode>10036</StatusCode> <StatusDescription> Nekorektní dávka.</StatusDescription> <DeliveryDate>2014-01-30T11:30:12Z</DeliveryDate> </Batch> </Notification> </Message> Mezi elementy Batch a Document se v jedné notifikaci jedná o výlučný výběr (choice), což znamená, že je v daném elementu <Notification> notifikována buď dávka a nebo dokument (e-faktura, e-dokument). To znamená, že pokud je notifikován dokument, element Batch chybí. Příklad notifikace dvou faktur: <?xml version="1.0" encoding="UTF-8"?> <Message> <Notification> <BankCode>0800</BankCode> <SupplierID>12345678</SupplierID> <Document> <DocumentID>FA111111</DocumentID> <UUID>39140CEC-1939-4164-98D7-C355F9D31665</UUID> <Status> <StatusCode>10000</StatusCode> <StatusDescription> Dokument úspěšně importován </StatusDescription> <DeliveryDate>2014-01-30T11:50:10Z</DeliveryDate> </Status> </Document> </Notification> <Notification> <BankCode>0800</BankCode> <SupplierID>12345678</SupplierID> <Document> <DocumentID>FA111112</DocumentID> <UUID>6940AD61-4D10-4BAC-802A-98773B344FBF</UUID> <Status> <StatusCode>10004</StatusCode> <StatusDescription>Nezadáno datum splatnosti / platnosti </StatusDescription> <DeliveryDate>2014-01-30T11:50:15Z</DeliveryDate> </Status> </Document> </Notification> </Message> Datum vydání: duben 2014, aktualizace duben 2015 25/86 Do standardu je zahrnuta nepovinná možnost informovat výstavce o tom, že klient dokument nejen obdržel, ale i přečetl (resp. otevřel). To je umožněno přes výlučný výběr (choice) mezi elementy Status a ReadingDate. Datum vydání: duben 2014, aktualizace duben 2015 26/86 Příklad notifikace o přečtení dokumentu z předchozí notifikace: <?xml version="1.0" encoding="UTF-8"?> <Message> <Notification> <BankCode>0300</BankCode> <SupplierID>12345678</SupplierID> <Document> <DocumentID>FA111111</DocumentID> <UUID>39140CEC-1939-4164-98D7-C355F9D31665</UUID> <ReadingDate>2014-01-30T17:20:35Z </ReadingDate> </Document> </Notification> </Message> 4.3.6.1 Číselník stavů zpracování dokumentů zaslaných do EB StatusCode 10000 Text stavu Dokument úspěšně importován 10001 Neplatné číslo účtu klienta 10002 10003 10004 10006 10007 10008 10011 10012 10015 10016 10018 10019 10020 10023 10024 10025 10029 10030 10031 10032 10033 10035 10036 10041 10042 10043 10044 10047 10048 Neplatný kód banky klienta Nezadána fakturovaná částka k zaplacení u e-faktury Nezadáno datum splatnosti / platnosti Neplatná identifikace výstavce Nesprávný/neúplný formát dat Neplatný elektronický podpis Neplatné číslo účtu výstavce Neplatný kód banky výstavce Neplatná fakturovaná částka Neplatné datum splatnosti Neplatný Variabilní symbol Neplatný Konstantní symbol Neplatný Specifický symbol Dokument překročil velikost 400KB Neplatný formát faktury Klient nemá k účtu EB Neplatný prefix čísla účtu výstavce Neplatný IBAN výstavce Neplatný prefix čísla účtu klienta Neplatný IBAN klienta Neplatný obsah položky typu e-dokumentu (není v seznamu povolených hodnot číselníku) Neplatná měna Nekorektní dávka Číslo účtu klienta není vyplněno IBAN klienta nepatří k účtu Nevyplněn účet výstavce IBAN výstavce nepatří k účtu Popis dokumentu (položka note) příliš dlouhá nebo nekorektní Příliš velká dávka (nad 2GB) Datum vydání: duben 2014, aktualizace duben 2015 27/86 5 DEFINICE WEBOVÝCH SLUŽEB PRO KOMUNIKACI SE SYSTÉMY BANKY Cílem této specifikace je definovat obecné vlastnosti webových služeb pro komunikaci mezi výstavcem a bankou. 5.1 DATOVÉ TYPY Datové typy používané v této specifikaci vycházejí z primitivních a odvozených datových typů v definici XML Schema. Konkrétně: Datový typ string je dán definicí http://www.w3.org/TR/xmlschema-2/#string Integer je dán http://www.w3.org/TR/xmlschema-2/#integer Base64Binary je dán http://www.w3.org/TR/xmlschema-2/#base64Binary DateTime je dán http://www.w3.org/TR/xmlschema-2/#dateTime Ostatní datové typy jsou vždy složenými datovými typy z již definovaných typů. 5.2 KOMUNIKACE S WEBOVÝMI SLUŽBAMI V této kapitole jsou shrnuty základní vlastnosti komunikace s webovými službami. 5.2.1 Přenosové protokoly Služby budou dostupné prostřednictvím protokolu SOAP 1.2 nad protokolem HTTP 1.1 a budou využívat přenosového kódování chunked. 5.2.2 Přílohy zpráv Dokumenty budou poslány uživateli ve formě: XML souborů dle příslušného schématu typu XML Schema PDF soubory nebo PDF soubory s fakturačními údaji v metadatech Tyto soubory budou zasílány v elementech SOAP zprávy odpovědi. Pro optimalizaci přenosu bude použito kódování metodou MTOM (Message Transmission Optimaliation Mechanism). 5.3 ZABEZPEČNÍ A AUTENTIZACE WS Standard umožňuje více variant/úrovní zabezpečení. Konkrétní realizace bude dána dohodou mezi výstavcem a bankou. 5.3.1 Varianta 1 – Základní úroveň zabezpečení Webové služby budou komunikovat prostřednictvím two-way SSL tj. přes protokol HTTPS s dodatečnou autentizací jménem a heslem na úrovni protokolu SOAP v těle zprávy. Server banky i klientská aplikace výstavce se budou identifikovat certifikátem od akreditované certifikační autority. 5.3.2 Varianta 2 - Zvýšená úroveň zabezpečení Webové služby budou komunikovat prostřednictvím one-way SSL tj. přes protokol HTTPS s použitím serverového certifikátu na straně banky. Datum vydání: duben 2014, aktualizace duben 2015 28/86 Zabezpečení zprávy se bude řídit dle standardu WS-Security (WSS) (http://en.wikipedia.org/wiki/WS-Security, https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wss) Podporované standardy WS-Security: a. X.509 certificates tokens (autentizace pomocí elektronického podpisu dle standardu http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0.pdf ) Konkrétní implementace vyššího zabezpečení má dopady do definice WS, WSDL konkrétní služby tedy bude pro vyšší zabezpečení potřeba příslušně upravit. Datum vydání: duben 2014, aktualizace duben 2015 29/86 6 PŘEDÁVÁNÍ ŽÁDOSTÍ O AKTIVACI ZE STRANY BANKY A NOTIFIKAČNÍCH REPORTŮ PROSTŘEDNICTVÍM DOWNLOAD WEBOVÉ SLUŽBY (DOWNLOADWS) Cílem této specifikace je definovat webovou službu DownloadWS (definice WS viz WSDL Příloha č. 10.8), která umožní stahování souborů ve formě strukturovaných dat ze systému bank do systému výstavců dokumentů. Jedná se o strukturovaná data žádostí o aktivaci/deaktivaci k elektronickému zasílání dokumentů do EB (přihláška/odhláška) a notifikačních reportů. Dále v textu bude obojí označováno pojmem dokument. 6.1 OPERACE PRO HROMADNÉ STAHOVÁNÍ DOKUMENTŮ Operace umožní výstavci hromadně stáhnout všechny nové dokumenty daného typu a formátu. Maximální počet dokumentů, které tato operace umožní stáhnout při jednom volání je 500. Výstavce má možnost tuto hodnotu snížit uvedením nepovinného parametru. Návratem operace budou dokumenty odpovídající parametrům požadavku. Odpověď bude také obsahovat informace o počtu právě přenášených dokumentů a o počtu nových dokumentů daného typu a formátu, které jsou aktuálně dostupné na serveru. 6.1.1 Hlavička public DocumentsResponse getNewDocuments(DocumentsRequest documentsRequest)- Objekty documentsResponse a documentsRequest zapouzdřují data požadavku a odpovědi. 6.1.2 Popis parametrů požadavku DocumentsRequest documentsRequest – Objekt zapouzdřující data požadavku. Skládá se z credentials, documentType, formatType, maxDocumentsNumber a attachment. Credentials credentials String username – Uživatelské jméno. String password – Uživatelské heslo. Integer documentType – Obsahuje údaje potřebné k autentifikaci výstavce a ověření jeho práv k užívání této služby. Skládá se z username a password. – Identifikuje požadovaný typ dokumentu. Povolené hodnoty a jim odpovídající typy jsou uvedeny v následující tabulce: Hodnota 1 2 Typ dokumentu Aktivace/Deaktivace Notifikační report Datum vydání: duben 2014, aktualizace duben 2015 30/86 1 Identifikuje požadovaný formát dokumentu. Povolené hodnoty a jim odpovídající formáty jsou uvedeny v následující tabulce. Integer formatType – Hodnota 1 6.1.3 6.2 Formát dokumentu XML – Udává maximální počet dokumentů, který může operace zaslat v odpovědi. Hodnota maxDocumentsNumber musí být v rozmezí 1 – 500 včetně. Parametr maxDocumentsNumber je nepovinný. Pokud není uveden, operace vrátí maximálně 500 dokumentů. Integer maxDocumentsNumber Popis parametrů odpovědi DocumentsResponse Integer remainingDocumentsNumber Integer responseDocumentsNumber – Udává počet dokumentů přenášených v odpovědi. Document[] documents Integer documentId – Jedinečný identifikátor dokumentu. String fileName – Název souboru. Base64Binary dataHandler documentsResponse – Objekt zapouzdřující data odpovědi. Skládá se z remainingDocumentsNumber, responseDocumentsNumber a libovolného počtu opakování documents. – Hodnota udávající, kolik nových dokumentů požadovaného typu a formátu se ještě na serveru nachází. – Zapouzdřuje jeden dokument a potřebné metainformace. Skládá se z documentId, fileName a dataHandler. – Element zapouzdřující přenášený XML dokument definovaný příslušným XSD dle typu dokumentu OPERACE PRO OZNAČENÍ DOKUMENTŮ K OPĚTOVNÉMU STAŽENÍ Z předchozí zkušenosti vyplývá, že dochází k situacím, kdy výstavce nepřijme zasílaná data korektně. Je tedy užitečné implementovat metodu, která by umožnila v systému banky označit zvolené dokumenty, které již byly jednou staženy, speciálním příznakem umožňujícím jejich opětovné stažení předchozí operací getNewDocuments(). V požadavku výstavce specifikuje dokumenty, které žádá opakovaně stáhnout. V odpovědi obdrží informaci o tom, kolik dokumentů vyhovovalo jeho požadavkům a je připraveno pro opakované stažení. 1 Teoreticky není tento parametr nutný. Do budoucna ale může vzniknout požadavek na jiné formáty než XML, a pak nebude nutné měnit volání WS, ale pouze se rozšíří obor hodnot parametru formatType o další hodnotu. Datum vydání: duben 2014, aktualizace duben 2015 31/86 6.2.1 Operace pro označení dokumentů pomocí časového intervalu Označí ke stažení všechny dokumenty, které byly přijaty systémem od odesílatele ve zvoleném časovém intervalu. 6.2.1.1 Hlavička public MarkDocumentsResponse markDocumentsByTimeRange(MarkDocumentsByTimeRangeRequest MarkDocumentsByTimeRangeRequest) - Objekty markDocumentsResponse a markDocumentsByTimeRangeRequest zapouzdřují data požadavku a odpovědi. 6.2.1.2 Popis parametrů požadavku MarkDocumentsByTimeRangeRequest markDocumentsByTimeRangeRequest – Objekt zapouzdřující data požadavku. Skládá se z credentials, dateFrom a dateTo. Credentials credentials String username – Uživatelské jméno. String password – Uživatelské heslo. DateTime dateFrom DateTime dateTo 6.2.2 – Obsahuje údaje potřebné k autentifikaci uživatele a ověření jeho práv k užívání této služby. Skládá se z username a password. – Datum a čas udávající spodní hranici časového intervalu. – Datum a čas udávající horní hranici časového intervalu. Popis parametrů odpovědi markDocumentsByTimeRange MarkDocumentsResponse markDocumentsResponse – Objekt zapouzdřující data odpovědi. Skládá se z hodnoty markedDocumentsNumber. Integer markedDocumentsNumber – Udává počet dokumentů, které vyhovovaly požadavku a byly označeny příznakem umožňujícím jejich opakované stažení. 6.3 NEÚSPĚŠNÉ VOLÁNÍ OPERACÍ SLUŽBY Datum vydání: duben 2014, aktualizace duben 2015 32/86 Neúspěšné volání operací služby zaviněná nekorektními vstupními SOAP zprávami či výjimkou při běhu služby jsou signalizována na úrovni HTTP protokolu takovým stavovým kódem, který nejlépe odpovídá povaze chyby, která nastala. Význam stavových kódů HTTP protokolu je definován v RFC 2616. V těle návratové SOAP zprávy vrátí služba SOAP element Fault typu Fault nesoucí informace o chybě. Datový typ Fault včetně významu jeho prvků jsou definovány v http://www.w3.org/2003/05/soapenvelope/ a http://www.w3.org/TR/2003/REC-soap12-part1-20030624/#soapfault. Fault Fault – datový typ nesoucí informace o chybě Faultcode – chybový kód Reason – popis chyby Detail – podrobné informace o chybě Podrobné informace o chybě v elementu detail jsou uloženy v datové struktuře DownloadFault. DownloadFault downloadFault – návratový kód Integer errorCode – chybový kód String errorDescription – popis chyby errorCode Popis -1 -2 -3 -4 -5 -6 -1000 Chyba autentizace uživatele Chyba autorizace uživatele Neplatně určené časové rozmezí Příliš mnoho požadavků na server Neplatný formát dokumentu Neplatný typ dokumentu Jiná chyba Datum vydání: duben 2014, aktualizace duben 2015 33/86 7 PŘEDÁVÁNÍ E-FAKTUR, E-DOKUMENTŮ A ODPOVĚDÍ NA ŽÁDOSTI O AKTIVACI PROSTŘEDNICTVÍM UPLOAD WEBOVÉ SLUŽBY (UPLOADWS) Cílem této specifikace je definovat webovou službu UploadWS (Definice WS viz WSDL Příloha č. 10.7), která umožní zasílání souborů ve formě strukturovaných dat ze systému výstavců dokumentů do systémů bank. Jedná se o strukturovaná data dokumentů (e-faktur, e-dokumentů) a odpovědí na žádosti o aktivaci/deaktivaci (přihláška/odhláška) k elektronickému zasílání dokumentů do EB. Dále v textu bude obojí označováno pojmem dokument. 7.1 HLAVIČKA METODY 7.2 public UploadResponse upload(UploadRequest request) POPIS PARAMETRŮ UploadRequest request – objekt požadavku na upload. Je složen z: FileContainer [ ] attachments – seznam příloh pro upload. Credentials credentials – údaje pro autentizaci 2 2 String name – jedinečné jméno přílohy String dataHandler – data přílohy kódovaná v base64 String username – uživatelské jméno String password – heslo FileContainer document – container obsahující dokument pro upload String name – jméno dokumentu String dataHandler – data dokumentu kódovaná v base64 Přílohy k určitým strukturovaným datům musí mít jedinečné neduplicitní názvy. Datum vydání: duben 2014, aktualizace duben 2015 34/86 7.3 NÁVRATOVÉ KÓDY SLUŽBY 7.3.1 Úspěšné volání služby V případě úspěšného volání služby je stavovou hodnotou přenosového protokolu HTTP hodnota 200 OK. V SOAP zprávě odpovědi je úspěšnost volání potvrzena stavovým kódem v návratovém elementu typu UploadResponse. UploadResponse return – návratový objekt Integer code – stavový kód String details – nepovinný popis stavového kódu Code 0 Popis Operace byla úspěšně dokončena Upload Webová služba nevaliduje formální správnost přenášeného dokumentu. Případná chyba v tomto dokumentu nebude výstavci prostřednictvím UploadWS nikterak signalizována. Pro signalizaci tohoto typu chyb je definován notifikační report. 7.3.2 Neúspěšné volání služby Neúspěšné volání služby zaviněná nekorektní vstupní SOAP zprávou či výjimkou při běhu služby jsou signalizována na úrovni HTTP protokolu takovým stavovým kódem, který nejlépe odpovídá povaze chyby, která nastala. Význam stavových kódů HTTP protokolu je definován v RFC 2616. V těle návratové SOAP zprávy vrátí služba SOAP element Fault typu Fault nesoucí informace o chybě. Datový typ Fault včetně významu jeho prvků jsou definovány v http://www.w3.org/2003/05/soapenvelope/ a http://www.w3.org/TR/2003/REC-soap12-part1-20030624/#soapfault. Fault Fault – datový typ nesoucí informace o chybě Faultcode – chybový kód Reason – popis chyby Detail – podrobné informace o chybě Podrobné informace o chybě v elementu detail jsou uloženy v datové struktuře UploadFault. UploadFault uploadFault – návratový kód Integer errorCode – chybový kód String errorDescription – popis chyby Datum vydání: duben 2014, aktualizace duben 2015 35/86 errorCode -1 -2 -3 -4 -5 -1000 Popis Chyba autentizace uživatele Chyba autorizace uživatele Neplatný dokument Příliš mnoho požadavků na server Duplicitní názvy příloh Jiná chyba Všechny uvedené chyby mají za důsledek fakt, že přenášený dokument včetně případných příloh nebyl WS přijat. Výstavce je o neúspěchu a jeho příčinách informován na úrovni SOAP nebo HTPP a je jeho odpovědností, aby se po odstranění příčin problému pokusil daný dokument a jeho případné přílohy znovu odeslat na UploadWS. Datum vydání: duben 2014, aktualizace duben 2015 36/86 8 KOMUNIKAČNÍ KANÁL SFTP V této kapitole jsou shrnuty základní vlastnosti SFTP komunikace. 8.1 KOMUNIKAČNÍ PROTOKOL SFTP Pro SFTP komunikaci bude použitý SSHv2 File Transfer Protocol. 8.2 ZABEZPEČENÍ SFTP Standard umožňuje více variant/úrovní zabezpečení. Konkrétní realizace je dána dohodou mezi výstavcem a bankou. 8.2.1 Varianta 1 - Základní úroveň zabezpečení 8.2.2 Autentifikace prostřednictvím RSA veřejných klíčů Varianta 2 - Zvýšená úroveň zabezpečení Autentifikace prostřednictvím RSA veřejných klíčů nebo pomocí uživatelského jména a hesla Při této variantě je možné předávat dokumenty pouze dávkou PKI podpis dávky certifikátem registrovaným u dané banky. Dávka s nevalidním PKI podpisem bude systémem na straně banky odmítnuta a nebude zpracována. Podporované formáty podpisu jsou: CMS (Cryptographic Message Syntax dle standardu http://tools.ietf.org/html/rfc5652) PKCS#7 Datum vydání: duben 2014, aktualizace duben 2015 37/86 9 PŘENOS DAT POMOCÍ ISDS Přenos cestou ISDS se děje na základě zákona č. 300/2008 Sb., o elektronických úkonech a autorizované konverzi dokumentů. Pro přenos dat mezi výstavcem a bankou se dle postavení subjektů komunikace využívá: - tzv. „Poštovní datová zpráva“ dle §18a zákona č.300/2008 Sb., včetně varianty tzv. „Odpovědní datová zpráva“, - „Datová zpráva“ podle §19 zákona č.300/2008 Sb. Strukturu a další náležitosti „datové zprávy“ i „poštovní datové zprávy“ určuje tzv. „Technická příloha č. 1“ Provozního řádu ISDS. Dávky i jednotlivé dokumenty se přenáší jako přílohy takto definované obálky. Počet a příloh „zpráv“ není standardem ČBA nijak omezen. Datové formáty přenášených dávek i jednotlivých dokumentů (tj. PDF a XML), dle tohoto standardu ČBA, odpovídají povoleným formátům v Příloze č. 3 vyhlášky č. 194/2009 Sb., o stanovení podrobností užívání a provozování informačního systému datových schránek. Datum vydání: duben 2014, aktualizace duben 2015 38/86 10 PŘÍLOHY 10.1 Příloha č. 1 - Definice struktury žádosti o aktivaci (deaktivaci) služby ze strany banky <?xml version="1.0" encoding="UTF-8"?> <!-Schéma pro B2C aktivace a deaktivace ze strany banky. Vytvořeno za použití některých položek z ISDOC 6.0. vytvořeného ICT UNIE o.s. Schema for B2C activations and deactivations from bank side. Some items from ISDOC 6.0. of ICT UNIE o.s. were used. Permission to use, copy, modify and distribute this schema and its documentation for any purpose and without fee is hereby granted in perpetuity, provided that the above copyright notice and this paragraph appear in all copies. The copyright holders make no representation about the suitability of the schema for any purpose. It is provided "as is" without expressed or implied warranty. --> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="Message"> <xs:annotation> <xs:documentation xml:lang="cs">Kořenový element.</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="Subscription" maxOccurs="unbounded"> <xs:annotation> <xs:documentation>Element aktivace/deaktivace</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:choice> <xs:element name="ClientBankAccount " type="xs:string" nillable="false"> <xs:annotation> <xs:documentation xml:lang="cs">Kompletní číslo bankovního účtu příjemce faktury, tj. předčíslí (6znaků), číslo účtu (10 znaků) a kód banky (4 znaky)</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ClientIBANBankAccount"> <xs:annotation> <xs:documentation>Kompletní číslo bankovního účtu příjemce faktury ve formátu IBAN a BIC.</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="BIC" type="xs:string"> <xs:annotation> <xs:documentation xml:lang="cs">Kód banky podle ISO 9362, tzv. SWIFT kód</xs:documentation> </xs:annotation> </xs:element> <xs:element name="IBAN" type="xs:string"> <xs:annotation> <xs:documentation xml:lang="cs">Mezinárodní číslo účtu (IBAN)</xs:documentation> Datum vydání: duben 2014, aktualizace duben 2015 39/86 </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:choice> <xs:element name="SupplierID" type="xs:string"> <xs:annotation> <xs:documentation xml:lang="cs">Identifikace příjemce aktivace. IČ odesílatele faktur.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ClientOnTargetConsolidator" type="xs:string"> <xs:annotation> <xs:documentation xml:lang="cs">Identifikátor nebo kombinace více různých identifikátorů klienta v systému výstavce faktur. Tedy např. číslo smluvního účtu.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Activate" type="xs:integer"> <xs:annotation> <xs:documentation xml:lang="cs">Aktivace – 1 / Deaktivace – 0</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Created" type="xs:dateTime"> <xs:annotation> <xs:documentation xml:lang="cs">Datum aktivace nebo deaktivace ve formátu YYYY-MM-DDTHH:MM:SSZ. Čas je v časové zóně UTC. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="refNumTran" type="xs:string"> <xs:annotation> <xs:documentation xml:lang="cs">Referenční číslo transakce banky </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> Datum vydání: duben 2014, aktualizace duben 2015 40/86 10.2 Příloha č. 2 - Definice struktury odpovědi výstavce na žádost o aktivaci (deaktivaci) služby ze strany banky <?xml version="1.0" encoding="UTF-8"?> <!-Schéma pro B2C odpovědi na aktivace a deaktivace ze strany banky. Vytvořeno za použití některých položek z ISDOC 6.0. vytvořeného ICT UNIE o.s. Schema for B2C answers on activations and deactivations from bank side. Some items from ISDOC 6.0. of ICT UNIE o.s. were used. Permission to use, copy, modify and distribute this schema and its documentation for any purpose and without fee is hereby granted in perpetuity, provided that the above copyright notice and this paragraph appear in all copies. The copyright holders make no representation about the suitability of the schema for any purpose. It is provided "as is" without expressed or implied warranty. --> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:element name="Message"> <xs:annotation> <xs:documentation xml:lang="cs">Kořenový element</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="ActivationAnswer" maxOccurs="unbounded"> <xs:annotation> <xs:documentation>Element aktivace/deaktivace</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:choice> <xs:element name="ClientBankAccount " type="xs:string" nillable="false"> <xs:annotation> <xs:documentation xml:lang="cs">Kompletní číslo bankovního účtu příjemce faktury, tj. předčíslí (6znaků), číslo účtu (10 znaků) a kód banky (4 znaky)</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ClientIBANBankAccount"> <xs:annotation> <xs:documentation>Kompletní číslo bankovního účtu příjemce faktury ve formátu IBAN a BIC.</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="BIC" type="xs:string"> <xs:annotation> <xs:documentation xml:lang="cs">Kód banky podle ISO 9362, tzv. SWIFT kód</xs:documentation> </xs:annotation> </xs:element> <xs:element name="IBAN" type="xs:string"> <xs:annotation> <xs:documentation xml:lang="cs">Mezinárodní číslo účtu (IBAN)</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> Datum vydání: duben 2014, aktualizace duben 2015 41/86 </xs:complexType> </xs:element> </xs:choice> <xs:element name="SupplierID" type="xs:string"> <xs:annotation> <xs:documentation xml:lang="cs">Identifikace příjemce aktivace. IČ odesílatele faktur.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ClientOnTargetConsolidator" type="xs:string"> <xs:annotation> <xs:documentation xml:lang="cs">Identifikátor nebo kombinace více různých identifikátorů klienta v systému výstavce faktur. Tedy např. číslo smluvního účtu.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Activated" type="xs:integer"> <xs:annotation> <xs:documentation xml:lang="cs">Aktivováno – 1 / Neaktivováno – 0</xs:documentation> </xs:annotation> </xs:element> <xs:element name="StatusCode" type="xs:string" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="cs">Důvod neaktivace</xs:documentation> </xs:annotation> </xs:element> <xs:element name="StatusDescription" type="xs:string" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="cs">Důvod neaktivace</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Created" type="xs:dateTime"> <xs:annotation> <xs:documentation xml:lang="cs">Datum aktivace nebo deaktivace ve formátu YYYY-MM-DDTHH:MM:SSZ. Čas je v časové zóně UTC. </xs:documentation> </xs:annotation> </xs:element> <xs:element name="refNumTran" type="xs:string"> <xs:annotation> <xs:documentation xml:lang="cs">Referenční číslo transakce. </xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> Datum vydání: duben 2014, aktualizace duben 2015 42/86 10.3 Příloha č. 3 – Definice struktury dávky <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="EBPPBatch"> <xs:complexType> <xs:sequence> <xs:element name="Header"> <xs:complexType> <xs:sequence> <xs:element name="SupplierID"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="([0-9]){8}"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element type="xs:positiveInteger" name="BatchVersion"/> <xs:element type="xs:dateTime" name="CreationTime"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Data"> <xs:complexType> <xs:sequence> <xs:element type="xs:base64Binary" name="Hash"/> <xs:element type="xs:base64Binary" name="Batch"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> Datum vydání: duben 2014, aktualizace duben 2015 43/86 10.3.1 Příklady dávek Příklad podepsané dávky <EBPPBatch> <Header> <SupplierID>{id vystavce}</ SupplierID> <BatchVersion>{verze davky}</BatchVersion> <CreationTime>{datum a cas vytvoreni davky}</CreationTime> </Header> <Data> <SignedHash>{Podepsaný hash otisk ze ZIP souboru v base64, kodovani UTF-8}</SignedHash> <Batch>{zip v base64, kodovani UTF-8}</Batch> </Data> </EBPPBatch> Příklad nepodepsané dávky <EBPPBatch> <Header> <SupplierID>{id vystavce}</ SupplierID> <BatchVersion>{verze davky}</BatchVersion> <CreationTime>{datum a cas vytvoreni davky}</CreationTime> </Header> <Data> <Hash>{hash otisk ze ZIP souboru v base64, kodovani UTF-8}</Hash> <Batch>{zip v base64, kodovani UTF-8}</Batch> </Data> </EBPPBatch> Datum vydání: duben 2014, aktualizace duben 2015 44/86 10.4 Příloha č. 4 - Definice struktury podkladů k platbě zaslaná výstavcem <?xml version="1.0" encoding="UTF-8"?> <!-Schéma pro B2C fakturu. Vytvořeno na bázi ISDOC 6.0. vytvořeného ICT UNIE o.s. Schema for B2C invoice. Based on ISDOC 6.0. of ICT UNIE o.s. Permission to use, copy, modify and distribute this schema and its documentation for any purpose and without fee is hereby granted in perpetuity, provided that the above copyright notice and this paragraph appear in all copies. The copyright holders make no representation about the suitability of the schema for any purpose. It is provided "as is" without expressed or implied warranty. --> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://isdoc.cz/namespace/2013" xmlns:isdoc="http://isdoc.cz/namespace/2013" targetNamespace="http://isdoc.cz/namespace/2013" elementFormDefault="qualified" version="6.0" xml:lang="cs"> <xs:simpleType name="VersionType"> <xs:annotation> <xs:documentation xml:lang="cs">Číslo verze ISDOC</xs:documentation> <xs:documentation xml:lang="en">ISDOC version number</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:pattern value="[0-9]+\.[0-9]+(\.[0-9]+)?"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="DocumentTypeType"> <xs:annotation> <xs:documentation xml:lang="cs">Typ dokumentu</xs:documentation> <xs:documentation xml:lang="en">Document type</xs:documentation> </xs:annotation> <xs:restriction base="xs:integer"> <xs:enumeration value="1"> <xs:annotation> <xs:documentation xml:lang="cs">Faktura - daňový doklad</xs:documentation> <xs:documentation xml:lang="en">invoice</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="2"> <xs:annotation> <xs:documentation xml:lang="cs">Opravný daňový doklad (dobropis)</xs:documentation> <xs:documentation xml:lang="en">credit note</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="3"> <xs:annotation> <xs:documentation xml:lang="cs">Opravný daňový doklad (vrubopis)</xs:documentation> <xs:documentation xml:lang="en">debit note</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="4"> Datum vydání: duben 2014, aktualizace duben 2015 45/86 <xs:annotation> <xs:documentation xml:lang="cs">Zálohová faktura (nedaňový zálohový list)</xs:documentation> <xs:documentation xml:lang="en">proforma invoice (no VAT)</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="5"> <xs:annotation> <xs:documentation xml:lang="cs">Daňový doklad při přijetí platby (daňový zálohový list)</xs:documentation> <xs:documentation xml:lang="en">advance invoice (with VAT)</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="6"> <xs:annotation> <xs:documentation xml:lang="cs">Opravný daňový doklad při přijetí platby (dobropis DZL)</xs:documentation> <xs:documentation xml:lang="en">credit note for advance invoice (with VAT)</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="7"> <xs:annotation> <xs:documentation xml:lang="cs">Zjednodušený daňový doklad</xs:documentation> <xs:documentation xml:lang="en">simplified tax document</xs:documentation> </xs:annotation> </xs:enumeration> </xs:restriction> </xs:simpleType> <xs:simpleType name="SubDocumentTypeType"> <xs:annotation> <xs:documentation xml:lang="cs">Podrobnější typ dokumentu. Číselník udržuje a zveřejňuje subjekt identifikovaný v SubDocumentTypeOrigin.</xs:documentation> <xs:documentation xml:lang="en">Document subtype. Codelist is maintained and published by subject specified in SubDocumentTypeOrigin.</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"/> </xs:simpleType> <xs:simpleType name="SubDocumentTypeOriginType"> <xs:annotation> <xs:documentation xml:lang="cs">Správce číselníku podrobnějšího typu dokumentu.</xs:documentation> <xs:documentation xml:lang="en">Maintainer of subdocument type code list.</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"/> </xs:simpleType> <xs:simpleType name="TargetConsolidatorType"> <xs:annotation> <xs:documentation xml:lang="cs">Identifikace cílového konsolidátora. Číselník je rozšířený číselník kódů bank a udržuje a zveřejňuje ho ČBA, používá se převážně v B2C systémech velkých výstavců faktur.</xs:documentation> <xs:documentation xml:lang="en">Identification of target consolidator. Values are extended list of bank codes maintained and published by ČBA.</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"/> </xs:simpleType> <xs:simpleType name="ClientOnTargetConsolidatorType"> <xs:annotation> <xs:documentation xml:lang="cs">Identifikace klienta v systému výstavce, používá se převážně v B2C systémech velkých výstavců faktur.</xs:documentation> <xs:documentation xml:lang="en">Client identification in the issuer system. Used mainly in B2C systems of companies issuing large volume of invoices.</xs:documentation> </xs:annotation> Datum vydání: duben 2014, aktualizace duben 2015 46/86 <xs:restriction base="xs:string"/> </xs:simpleType> <xs:simpleType name="ClientBankAccountType"> <xs:annotation> <xs:documentation xml:lang="cs">Kompletní číslo bankovního účtu příjemce faktury včetně kódu banky. Používá se převážně v B2C systémech velkých výstavců faktur.</xs:documentation> <xs:documentation xml:lang="en">Complete bank account number of invoice receiver. Used mainly in B2C systems of companies issuing large volume of invoices.</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"/> </xs:simpleType> <xs:simpleType name="IDType"> <xs:annotation> <xs:documentation xml:lang="cs">Unikátní identifikátor</xs:documentation> <xs:documentation xml:lang="en">Unique identifier</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"/> </xs:simpleType> <xs:simpleType name="UUIDType"> <xs:annotation> <xs:documentation xml:lang="cs">Unikátní identifikátor GUID</xs:documentation> <xs:documentation xml:lang="en">Unique GUID identifier</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:pattern value="[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="IssueDateType"> <xs:annotation> <xs:documentation xml:lang="cs">Datum vystavení</xs:documentation> <xs:documentation xml:lang="en">Issue date</xs:documentation> </xs:annotation> <xs:restriction base="xs:date"/> </xs:simpleType> <xs:complexType name="NoteType"> <xs:annotation> <xs:documentation xml:lang="cs">Poznámka</xs:documentation> <xs:documentation xml:lang="en">Note</xs:documentation> </xs:annotation> <xs:simpleContent> <xs:extension base="xs:string"> <xs:attribute name="languageID" type="xs:language" use="optional"> <xs:annotation> <xs:documentation xml:lang="cs">Identifikátor použitého jazyka (např. "cs" pro češtinu)</xs:documentation> <xs:documentation xml:lang="en">Language identifier (e.g. "en" for English)</xs:documentation> </xs:annotation> </xs:attribute> </xs:extension> </xs:simpleContent> </xs:complexType> <xs:simpleType name="LastValidDateType"> <xs:annotation> <xs:documentation xml:lang="cs">Datum konce platnosti smlouvy</xs:documentation> <xs:documentation xml:lang="en">Date until contract is valid</xs:documentation> Datum vydání: duben 2014, aktualizace duben 2015 47/86 </xs:annotation> <xs:restriction base="xs:date"/> </xs:simpleType> <xs:complexType name="SupplementsListType"> <xs:annotation> <xs:documentation xml:lang="cs">Kolekce příloh dokladu. Jedna z nich může být náhled, je označena pomocí preview="true"</xs:documentation> <xs:documentation xml:lang="en">Collection of document attachments. Exactly one attachment can be document preview marked by preview="true"</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="Supplement" type="SupplementType"> <xs:annotation> <xs:documentation xml:lang="cs">Příloha dokladu</xs:documentation> <xs:documentation xml:lang="en">Document attachment</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="SupplementType"> <xs:annotation> <xs:documentation xml:lang="cs">Příloha dokladu</xs:documentation> <xs:documentation xml:lang="en">Document attachment</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="Filename" type="FilenameType"> <xs:annotation> <xs:documentation xml:lang="cs">Jméno a cesta k souboru</xs:documentation> <xs:documentation xml:lang="en">File name and path</xs:documentation> </xs:annotation> </xs:element> <xs:element name="DigestMethod" type="DigestMethodType"> <xs:annotation> <xs:documentation xml:lang="cs">Identifikace metody použité při výpočtu otisku přílohy</xs:documentation> <xs:documentation xml:lang="en">Attachment digest method identification</xs:documentation> </xs:annotation> </xs:element> <xs:element name="DigestValue" type="DigestValueType"> <xs:annotation> <xs:documentation xml:lang="cs">Hodnota otisku přílohy</xs:documentation> <xs:documentation xml:lang="en">Attachment digest value</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> <xs:attribute name="preview" type="BooleanType"> <xs:annotation> <xs:documentation xml:lang="cs">Je daná příloha náhledem dokladu</xs:documentation> <xs:documentation xml:lang="en">Is this attachment document preview</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:simpleType name="FilenameType"> <xs:annotation> <xs:documentation xml:lang="cs">Jméno a cesta k souboru</xs:documentation> Datum vydání: duben 2014, aktualizace duben 2015 48/86 <xs:documentation xml:lang="en">File name and path</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"/> </xs:simpleType> <xs:complexType name="DigestMethodType"> <xs:annotation> <xs:documentation xml:lang="cs">Identifikace metody použité při výpočtu otisku přílohy</xs:documentation> <xs:documentation xml:lang="en">Attachment digest method identification</xs:documentation> </xs:annotation> <xs:attribute name="Algorithm" type="xs:anyURI" use="required"> <xs:annotation> <xs:documentation xml:lang="cs">Identifikátory jednotlivých algoritmů jsou definovány v http://www.w3.org/TR/xmldsig-core/#sec-AlgID</xs:documentation> <xs:documentation xml:lang="en">Algorithm identifiers are defined in http://www.w3.org/TR/xmldsig-core/#sec-AlgID</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:simpleType name="DigestValueType"> <xs:annotation> <xs:documentation xml:lang="cs">Hodnota otisku přílohy</xs:documentation> <xs:documentation xml:lang="en">Attachment digest value</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"/> </xs:simpleType> <xs:simpleType name="BooleanType"> <xs:annotation> <xs:documentation xml:lang="cs">Typ boolean, dovolené hodnoty jsou jen "true" a "false", tj. není podporováno "0" a "1" jako u zabudovaného typu xs:boolean</xs:documentation> <xs:documentation xml:lang="en">Boolean datatype. Permitted values are only "true" and "false". Values "0" and "1" which are in a value space of built-in xs:boolean type are not supported</xs:documentation> </xs:annotation> <xs:restriction base="xs:boolean"> <xs:pattern value="true|false"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="UserIDType"> <xs:annotation> <xs:documentation xml:lang="cs">Uživatelské číslo firmy/provozovny</xs:documentation> <xs:documentation xml:lang="en">User defined company/workplace number</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"/> </xs:simpleType> <xs:simpleType name="NameType"> <xs:annotation> <xs:documentation xml:lang="cs">Název</xs:documentation> <xs:documentation xml:lang="en">A character string that constitutes the distinctive designation of a person, place, thing or concept</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"/> </xs:simpleType> <xs:simpleType name="CurrencyCodeType"> <xs:annotation> <xs:documentation xml:lang="cs">Kód měny</xs:documentation> <xs:documentation xml:lang="en">Currency code</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> Datum vydání: duben 2014, aktualizace duben 2015 49/86 <xs:length value="3"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="AmountType"> <xs:annotation> <xs:documentation xml:lang="cs">Částka</xs:documentation> <xs:documentation xml:lang="en">Amount</xs:documentation> </xs:annotation> <xs:restriction base="xs:decimal"/> </xs:simpleType> <xs:simpleType name="DescriptionType"> <xs:annotation> <xs:documentation xml:lang="cs">Popis položky</xs:documentation> <xs:documentation xml:lang="en">Item description</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"/> </xs:simpleType> <xs:simpleType name="VariableSymbolType"> <xs:annotation> <xs:documentation xml:lang="cs">Variabilní symbol</xs:documentation> <xs:documentation xml:lang="en">Variable symbol (distinctive symbol of payment, typically number of invoice). Used for payment inside of the Czech Republic.</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"/> </xs:simpleType> <xs:simpleType name="PaymentMeansCodeType"> <xs:annotation> <xs:documentation xml:lang="cs">Způsob platby</xs:documentation> <xs:documentation xml:lang="en">The set of valid means of paying the debt incurred</xs:documentation> </xs:annotation> <xs:restriction base="xs:integer"> <xs:enumeration value="10"> <xs:annotation> <xs:documentation xml:lang="cs">Platba v hotovosti</xs:documentation> <xs:documentation xml:lang="en">Cash payment</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="20"> <xs:annotation> <xs:documentation xml:lang="cs">Platba šekem</xs:documentation> <xs:documentation xml:lang="en">Cheque payment</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="31"> <xs:annotation> <xs:documentation xml:lang="cs">Credit transfer</xs:documentation> <xs:documentation xml:lang="en">Credit transfer</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="42"> <xs:annotation> <xs:documentation xml:lang="cs">Převod na účet</xs:documentation> <xs:documentation xml:lang="en">Money transfer to an account</xs:documentation> Datum vydání: duben 2014, aktualizace duben 2015 50/86 </xs:annotation> </xs:enumeration> <xs:enumeration value="48"> <xs:annotation> <xs:documentation xml:lang="cs">Platba kartou</xs:documentation> <xs:documentation xml:lang="en">Card payment</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="49"> <xs:annotation> <xs:documentation xml:lang="cs">Direct debit</xs:documentation> <xs:documentation xml:lang="en">Direct debit</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="50"> <xs:annotation> <xs:documentation xml:lang="cs">Platba dobírkou</xs:documentation> <xs:documentation xml:lang="en">Payment by postgiro</xs:documentation> </xs:annotation> </xs:enumeration> <xs:enumeration value="97"> <xs:annotation> <xs:documentation xml:lang="cs">Zaúčtování mezi partnery</xs:documentation> <xs:documentation xml:lang="en">Composition between partners</xs:documentation> </xs:annotation> </xs:enumeration> </xs:restriction> </xs:simpleType> <xs:simpleType name="PaymentDueDateType"> <xs:annotation> <xs:documentation xml:lang="cs">Datum splatnosti</xs:documentation> <xs:documentation xml:lang="en">Due date</xs:documentation> </xs:annotation> <xs:restriction base="xs:date"/> </xs:simpleType> <xs:simpleType name="BankCodeType"> <xs:annotation> <xs:documentation xml:lang="cs">Kód lokální banky</xs:documentation> <xs:documentation xml:lang="en">Bank code</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"/> </xs:simpleType> <xs:simpleType name="IBANType"> <xs:annotation> <xs:documentation xml:lang="cs">Mezinárodní číslo účtu (IBAN)</xs:documentation> <xs:documentation xml:lang="en">International bank account number (IBAN)</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"/> </xs:simpleType> <xs:simpleType name="BICType"> <xs:annotation> <xs:documentation xml:lang="cs">Kód banky podle ISO 9362, tzv. SWIFT kód</xs:documentation> Datum vydání: duben 2014, aktualizace duben 2015 51/86 <xs:documentation xml:lang="en">Bank identifier code as defined in ISO 9362</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"/> </xs:simpleType> <xs:simpleType name="ConstantSymbolType"> <xs:annotation> <xs:documentation xml:lang="cs">Konstantní symbol nebo platební titul</xs:documentation> <xs:documentation xml:lang="en">Constant symbol (used for payment inside of the Czech Republic)</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"/> </xs:simpleType> <xs:simpleType name="SpecificSymbolType"> <xs:annotation> <xs:documentation xml:lang="cs">Specifický symbol</xs:documentation> <xs:documentation xml:lang="en">Specific symbol (used for payment inside of the Czech Republic)</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"/> </xs:simpleType> <xs:group name="BankAccount"> <xs:annotation> <xs:documentation xml:lang="cs">Informace o bankovním účtu</xs:documentation> <xs:documentation xml:lang="en">Information about a bank account</xs:documentation> </xs:annotation> <xs:choice> <xs:sequence> <xs:element name="ID" type="IDType"> <xs:annotation> <xs:documentation xml:lang="cs">Číslo účtu lokální banky</xs:documentation> <xs:documentation xml:lang="en">Account number</xs:documentation> </xs:annotation> </xs:element> <xs:element name="BankCode" type="BankCodeType"> <xs:annotation> <xs:documentation xml:lang="cs">Kód lokální banky</xs:documentation> <xs:documentation xml:lang="en">Bank code</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Name" type="NameType" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="cs">Název</xs:documentation> <xs:documentation xml:lang="en">A character string that constitutes the distinctive designation of a person, place, thing or concept</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> <xs:sequence> <xs:element name="IBAN" type="IBANType"> <xs:annotation> <xs:documentation xml:lang="cs">Mezinárodní číslo účtu (IBAN)</xs:documentation> <xs:documentation xml:lang="en">International bank account number (IBAN)</xs:documentation> </xs:annotation> </xs:element> <xs:element name="BIC" type="BICType"> Datum vydání: duben 2014, aktualizace duben 2015 52/86 <xs:annotation> <xs:documentation xml:lang="cs">Kód banky podle ISO 9362, tzv. SWIFT kód</xs:documentation> <xs:documentation xml:lang="en">Bank identifier code as defined in ISO 9362</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:choice> </xs:group> <xs:element name="Invoice"> <xs:annotation> <xs:documentation xml:lang="cs">Hlavní element dokumentu, jeho subtyp viz položka DocumentType</xs:documentation> <xs:documentation xml:lang="en">Document root element, subtype is stored in DocumentType element</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="DocumentType" type="DocumentTypeType"> <xs:annotation> <xs:documentation xml:lang="cs">Typ dokumentu</xs:documentation> <xs:documentation xml:lang="en">Document type</xs:documentation> </xs:annotation> </xs:element> <xs:sequence minOccurs="0"> <xs:element name="SubDocumentType" type="SubDocumentTypeType"> <xs:annotation> <xs:documentation xml:lang="cs">Podrobnější typ dokumentu. Číselník udržuje a zveřejňuje subjekt identifikovaný v SubDocumentTypeOrigin.</xs:documentation> <xs:documentation xml:lang="en">Document subtype. Codelist is maintained and published by subject specified in SubDocumentTypeOrigin.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="SubDocumentTypeOrigin" type="SubDocumentTypeOriginType"> <xs:annotation> <xs:documentation xml:lang="cs">Správce číselníku podrobnějšího typu dokumentu.</xs:documentation> <xs:documentation xml:lang="en">Maintainer of subdocument type code list.</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> <xs:element name="TargetConsolidator" type="TargetConsolidatorType"> <xs:annotation> <xs:documentation xml:lang="cs">Identifikace cílového konsolidátora. Číselník je rozšířený číselník kódů bank a udržuje a zveřejňuje ho ČBA, používá se převážně v B2C systémech velkých výstavců faktur.</xs:documentation> <xs:documentation xml:lang="en">Identification of target consolidator. Values are extended list of bank codes maintained and published by ČBA.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ClientOnTargetConsolidator" type="ClientOnTargetConsolidatorType"> <xs:annotation> <xs:documentation xml:lang="cs">Identifikace klienta v systému výstavce, používá se převážně v B2C systémech velkých výstavců faktur.</xs:documentation> <xs:documentation xml:lang="en">Client identification in the issuer system. Used mainly in B2C systems of companies issuing large volume of invoices.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ClientBankAccount" type="ClientBankAccountType"> <xs:annotation> <xs:documentation xml:lang="cs">Kompletní číslo bankovního účtu příjemce faktury včetně kódu banky. Používá se převážně v B2C systémech velkých výstavců faktur.</xs:documentation> <xs:documentation xml:lang="en">Complete bank account number of invoice receiver. Used mainly in B2C systems of companies issuing large volume of invoices.</xs:documentation> Datum vydání: duben 2014, aktualizace duben 2015 53/86 </xs:annotation> </xs:element> <xs:element name="ID" type="IDType"> <xs:annotation> <xs:documentation xml:lang="cs">Lidsky čitelné číslo dokladu</xs:documentation> <xs:documentation xml:lang="en">Human readable document number</xs:documentation> </xs:annotation> </xs:element> <xs:element name="UUID" type="UUIDType"> <xs:annotation> <xs:documentation xml:lang="cs">GUID identifikace od emitujícího systému</xs:documentation> <xs:documentation xml:lang="en">GUID identifier produced by emitting system</xs:documentation> </xs:annotation> </xs:element> <xs:element name="IssueDate" type="IssueDateType"> <xs:annotation> <xs:documentation xml:lang="cs">Datum vystavení</xs:documentation> <xs:documentation xml:lang="en">Issue date</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Note" type="NoteType"> <xs:annotation> <xs:documentation xml:lang="cs">Poznámka</xs:documentation> <xs:documentation xml:lang="en">Note</xs:documentation> </xs:annotation> </xs:element> <xs:element name="LocalCurrencyCode" type="CurrencyCodeType"> <xs:annotation> <xs:documentation xml:lang="cs">Kód měny</xs:documentation> <xs:documentation xml:lang="en">Currency code</xs:documentation> </xs:annotation> </xs:element> <xs:element name="AccountingSupplierParty"> <xs:annotation> <xs:documentation xml:lang="cs">Dodavatel, účetní jednotka</xs:documentation> <xs:documentation xml:lang="en">Supplier, accounting entity in Commercial Register</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="Party"> <xs:annotation> <xs:documentation xml:lang="cs">Identifikace subjektu</xs:documentation> <xs:documentation xml:lang="en">Information about an organization, sub-organization, or individual fulfilling a role in a business process.</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="PartyIdentification"> <xs:annotation> <xs:documentation xml:lang="cs">Element identifikačních položek subjektu (firmy)</xs:documentation> <xs:documentation xml:lang="en">Information about a party's identification.</xs:documentation> </xs:annotation> <xs:complexType> Datum vydání: duben 2014, aktualizace duben 2015 54/86 <xs:sequence> <xs:element name="ID" type="IDType"> <xs:annotation> <xs:documentation xml:lang="cs">IČ</xs:documentation> <xs:documentation xml:lang="en">Company identification number</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="AccountingCustomerParty"> <xs:annotation> <xs:documentation xml:lang="cs">Příjemce, účetní jednotka</xs:documentation> <xs:documentation xml:lang="en">Customer, accounting entity in Commercial Register</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="Party"> <xs:annotation> <xs:documentation xml:lang="cs">Identifikace subjektu</xs:documentation> <xs:documentation xml:lang="en">Information about an organization, sub-organization, or individual fulfilling a role in a business process.</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="PartyName"> <xs:annotation> <xs:documentation xml:lang="cs">Název subjektu</xs:documentation> <xs:documentation xml:lang="en">Information about a party's name.</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="Name" type="NameType"> <xs:annotation> <xs:documentation xml:lang="cs">Název</xs:documentation> <xs:documentation xml:lang="en">A character string that constitutes the distinctive designation of a person, place, thing or concept</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> Datum vydání: duben 2014, aktualizace duben 2015 55/86 <xs:element name="LegalMonetaryTotal"> <xs:annotation> <xs:documentation xml:lang="cs">Kolekce celkových částek na dokladu končící položkou částka k zaplacení</xs:documentation> <xs:documentation xml:lang="en">Collection of total amounts on document ending with payable amount</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="PayableAmount" type="AmountType"> <xs:annotation> <xs:documentation xml:lang="cs">K zaplacení v tuzemské měně</xs:documentation> <xs:documentation xml:lang="en">Payable amount in a local currency</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="PaymentMeans"> <xs:annotation> <xs:documentation xml:lang="cs">Kolekce plateb</xs:documentation> <xs:documentation xml:lang="en">Information about payment means</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="Payment" maxOccurs="12"> <xs:annotation> <xs:documentation xml:lang="cs">Platba</xs:documentation> <xs:documentation xml:lang="en">Information directly relating to a specific payment</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="PaidAmount" type="AmountType"> <xs:annotation> <xs:documentation xml:lang="cs">Částka k zaplacení</xs:documentation> <xs:documentation xml:lang="en">Amount to be paid</xs:documentation> </xs:annotation> </xs:element> <xs:element name="PaymentMeansCode" type="PaymentMeansCodeType"> <xs:annotation> <xs:documentation xml:lang="cs">Způsob platby</xs:documentation> <xs:documentation xml:lang="en">The set of valid means of paying the debt incurred</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Details"> <xs:annotation> <xs:documentation xml:lang="cs">Podrobnosti o platbě</xs:documentation> <xs:documentation xml:lang="en">Payment details</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:annotation> <xs:documentation xml:lang="cs">Platba převodem</xs:documentation> <xs:documentation xml:lang="en">Money transfer</xs:documentation> Datum vydání: duben 2014, aktualizace duben 2015 56/86 </xs:annotation> <xs:element name="PaymentDueDate" type="PaymentDueDateType"> <xs:annotation> <xs:documentation xml:lang="cs">Datum splatnosti</xs:documentation> <xs:documentation xml:lang="en">Due date</xs:documentation> </xs:annotation> </xs:element> <xs:group ref="BankAccount"/> <xs:element name="VariableSymbol" type="VariableSymbolType" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="cs">Variabilní symbol</xs:documentation> <xs:documentation xml:lang="en">Variable symbol (distinctive symbol of payment, typically number of invoice). Used for payment inside of the Czech Republic.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ConstantSymbol" type="ConstantSymbolType" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="cs">Konstantní symbol nebo platební titul</xs:documentation> <xs:documentation xml:lang="en">Constant symbol (used for payment inside of the Czech Republic)</xs:documentation> </xs:annotation> </xs:element> <xs:element name="SpecificSymbol" type="SpecificSymbolType" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="cs">Specifický symbol</xs:documentation> <xs:documentation xml:lang="en">Specific symbol (used for payment inside of the Czech Republic)</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="partialPayment" type="BooleanType"> <xs:annotation> <xs:documentation xml:lang="cs">Je povolena částečná platba</xs:documentation> <xs:documentation xml:lang="en">Flag indicating that partial payment is permitted</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="SupplementsList" type="SupplementsListType" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="cs">Kolekce příloh dokladu. Jedna z nich může být náhled, je označena pomocí preview="true"</xs:documentation> <xs:documentation xml:lang="en">Collection of document attachments. Exactly one attachment can be document preview marked by preview="true"</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> <xs:attribute name="version" type="VersionType" use="required"> <xs:annotation> <xs:documentation xml:lang="cs">Číslo verze B2C-ISDOC</xs:documentation> <xs:documentation xml:lang="en">ISDOC version number</xs:documentation> Datum vydání: duben 2014, aktualizace duben 2015 57/86 </xs:annotation> </xs:attribute> </xs:complexType> </xs:element> </xs:schema> Datum vydání: duben 2014, aktualizace duben 2015 58/86 10.5 Příloha č. 5 - Definice struktury e-dokumentů <?xml version="1.0" encoding="UTF-8"?> <!-Schéma pro B2C e-dokument. Vytvořeno na bázi ISDOC 6.0. vytvořeného ICT UNIE o.s. Schema for B2C e-document. Based on ISDOC 6.0. of ICT UNIE o.s. Permission to use, copy, modify and distribute this schema and its documentation for any purpose and without fee is hereby granted in perpetuity, provided that the above copyright notice and this paragraph appear in all copies. The copyright holders make no representation about the suitability of the schema for any purpose. It is provided "as is" without expressed or implied warranty. --> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://isdoc.cz/namespace/2013" xmlns:isdoc="http://isdoc.cz/namespace/2013" targetNamespace="http://isdoc.cz/namespace/2013" elementFormDefault="qualified" version="6.0" xml:lang="cs"> <xs:simpleType name="VersionType"> <xs:annotation> <xs:documentation xml:lang="cs">Číslo verze ISDOC</xs:documentation> <xs:documentation xml:lang="en">ISDOC version number</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:pattern value="[0-9]+\.[0-9]+(\.[0-9]+)?"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="SubDocumentTypeType"> <xs:annotation> <xs:documentation xml:lang="cs">Podrobnější typ dokumentu. Číselník udržuje a zveřejňuje subjekt identifikovaný v SubDocumentTypeOrigin.</xs:documentation> <xs:documentation xml:lang="en">Document subtype. Codelist is maintained and published by subject specified in SubDocumentTypeOrigin.</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"/> </xs:simpleType> <xs:simpleType name="SubDocumentTypeOriginType"> <xs:annotation> <xs:documentation xml:lang="cs">Správce číselníku podrobnějšího typu dokumentu.</xs:documentation> <xs:documentation xml:lang="en">Maintainer of subdocument type code list.</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"/> </xs:simpleType> <xs:simpleType name="TargetConsolidatorType"> <xs:annotation> <xs:documentation xml:lang="cs">Identifikace cílového konsolidátora. Číselník je rozšířený číselník kódů bank a udržuje a zveřejňuje ho ČBA, používá se převážně v B2C systémech velkých výstavců faktur.</xs:documentation> <xs:documentation xml:lang="en">Identification of target consolidator. Values are extended list of bank codes maintained and published by ČBA.</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"/> </xs:simpleType> <xs:simpleType name="ClientOnTargetConsolidatorType"> Datum vydání: duben 2014, aktualizace duben 2015 59/86 <xs:annotation> <xs:documentation xml:lang="cs">Identifikace klienta v systému výstavce, používá se převážně v B2C systémech velkých výstavců faktur.</xs:documentation> <xs:documentation xml:lang="en">Client identification in the issuer system. Used mainly in B2C systems of companies issuing large volume of invoices.</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"/> </xs:simpleType> <xs:simpleType name="ClientBankAccountType"> <xs:annotation> <xs:documentation xml:lang="cs">Kompletní číslo bankovního účtu příjemce faktury včetně kódu banky. Používá se převážně v B2C systémech velkých výstavců faktur.</xs:documentation> <xs:documentation xml:lang="en">Complete bank account number of invoice receiver. Used mainly in B2C systems of companies issuing large volume of invoices.</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"/> </xs:simpleType> <xs:simpleType name="IDType"> <xs:annotation> <xs:documentation xml:lang="cs">Unikátní identifikátor</xs:documentation> <xs:documentation xml:lang="en">Unique identifier</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"/> </xs:simpleType> <xs:simpleType name="UUIDType"> <xs:annotation> <xs:documentation xml:lang="cs">Unikátní identifikátor GUID</xs:documentation> <xs:documentation xml:lang="en">Unique GUID identifier</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:pattern value="[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="IssueDateType"> <xs:annotation> <xs:documentation xml:lang="cs">Datum vystavení</xs:documentation> <xs:documentation xml:lang="en">Issue date</xs:documentation> </xs:annotation> <xs:restriction base="xs:date"/> </xs:simpleType> <xs:complexType name="NoteType"> <xs:annotation> <xs:documentation xml:lang="cs">Poznámka</xs:documentation> <xs:documentation xml:lang="en">Note</xs:documentation> </xs:annotation> <xs:simpleContent> <xs:extension base="xs:string"/> </xs:simpleContent> </xs:complexType> <xs:simpleType name="LastValidDateType"> <xs:annotation> <xs:documentation xml:lang="cs">Datum konce platnosti dokumentu</xs:documentation> <xs:documentation xml:lang="en">Date until document is valid</xs:documentation> </xs:annotation> <xs:restriction base="xs:date"/> </xs:simpleType> Datum vydání: duben 2014, aktualizace duben 2015 60/86 <xs:complexType name="SupplementsListType"> <xs:annotation> <xs:documentation xml:lang="cs">Kolekce příloh dokladu. Jedna z nich může být náhled, je označena pomocí preview="true"</xs:documentation> <xs:documentation xml:lang="en">Collection of document attachments. Exactly one attachment can be document preview marked by preview="true"</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="Supplement" type="SupplementType"> <xs:annotation> <xs:documentation xml:lang="cs">Příloha dokladu</xs:documentation> <xs:documentation xml:lang="en">Document attachment</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="SupplementType"> <xs:annotation> <xs:documentation xml:lang="cs">Příloha dokladu</xs:documentation> <xs:documentation xml:lang="en">Document attachment</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="Filename" type="FilenameType"> <xs:annotation> <xs:documentation xml:lang="cs">Jméno a cesta k souboru</xs:documentation> <xs:documentation xml:lang="en">File name and path</xs:documentation> </xs:annotation> </xs:element> <xs:element name="DigestMethod" type="DigestMethodType"> <xs:annotation> <xs:documentation xml:lang="cs">Identifikace metody použité při výpočtu otisku přílohy</xs:documentation> <xs:documentation xml:lang="en">Attachment digest method identification</xs:documentation> </xs:annotation> </xs:element> <xs:element name="DigestValue" type="DigestValueType"> <xs:annotation> <xs:documentation xml:lang="cs">Hodnota otisku přílohy</xs:documentation> <xs:documentation xml:lang="en">Attachment digest value</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> <xs:attribute name="preview" type="BooleanType"> <xs:annotation> <xs:documentation xml:lang="cs">Je daná příloha náhledem dokladu</xs:documentation> <xs:documentation xml:lang="en">Is this attachment document preview</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:simpleType name="FilenameType"> <xs:annotation> <xs:documentation xml:lang="cs">Jméno a cesta k souboru</xs:documentation> <xs:documentation xml:lang="en">File name and path</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"/> Datum vydání: duben 2014, aktualizace duben 2015 61/86 </xs:simpleType> <xs:complexType name="DigestMethodType"> <xs:annotation> <xs:documentation xml:lang="cs">Identifikace metody použité při výpočtu otisku přílohy</xs:documentation> <xs:documentation xml:lang="en">Attachment digest method identification</xs:documentation> </xs:annotation> <xs:attribute name="Algorithm" type="xs:anyURI" use="required"> <xs:annotation> <xs:documentation xml:lang="cs">Identifikátory jednotlivých algoritmů jsou definovány v http://www.w3.org/TR/xmldsig-core/#sec-AlgID</xs:documentation> <xs:documentation xml:lang="en">Algorithm identifiers are defined in http://www.w3.org/TR/xmldsig-core/#sec-AlgID</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:simpleType name="DigestValueType"> <xs:annotation> <xs:documentation xml:lang="cs">Hodnota otisku přílohy</xs:documentation> <xs:documentation xml:lang="en">Attachment digest value</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"/> </xs:simpleType> <xs:simpleType name="BooleanType"> <xs:annotation> <xs:documentation xml:lang="cs">Typ boolean, dovolené hodnoty jsou jen "true" a "false", tj. není podporováno "0" a "1" jako u zabudovaného typu xs:boolean</xs:documentation> <xs:documentation xml:lang="en">Boolean datatype. Permitted values are only "true" and "false". Values "0" and "1" which are in a value space of built-in xs:boolean type are not supported</xs:documentation> </xs:annotation> <xs:restriction base="xs:boolean"> <xs:pattern value="true|false"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="NameType"> <xs:annotation> <xs:documentation xml:lang="cs">Název</xs:documentation> <xs:documentation xml:lang="en">A character string that constitutes the distinctive designation of a person, place, thing or concept</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"/> </xs:simpleType> <xs:element name="CommonDocument"> <xs:annotation> <xs:documentation xml:lang="cs">Hlavní element dokumentu, jeho subtyp viz položka DocumentType</xs:documentation> <xs:documentation xml:lang="en">Document root element, subtype is stored in DocumentType element</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="SubDocumentType" type="SubDocumentTypeType"> <xs:annotation> <xs:documentation xml:lang="cs">Podrobnější typ dokumentu. Číselník udržuje a zveřejňuje subjekt identifikovaný v SubDocumentTypeOrigin.</xs:documentation> <xs:documentation xml:lang="en">Document subtype. Codelist is maintained and published by subject specified in SubDocumentTypeOrigin.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="SubDocumentTypeOrigin" type="SubDocumentTypeOriginType"> <xs:annotation> <xs:documentation xml:lang="cs">Správce číselníku podrobnějšího typu dokumentu.</xs:documentation> Datum vydání: duben 2014, aktualizace duben 2015 62/86 <xs:documentation xml:lang="en">Maintainer of subdocument type code list.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="TargetConsolidator" type="TargetConsolidatorType"> <xs:annotation> <xs:documentation xml:lang="cs">Identifikace cílového konsolidátora. Číselník je rozšířený číselník kódů bank a udržuje a zveřejňuje ho ČBA, používá se převážně v B2C systémech velkých výstavců faktur.</xs:documentation> <xs:documentation xml:lang="en">Identification of target consolidator. Values are extended list of bank codes maintained and published by ČBA.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ClientOnTargetConsolidator" type="ClientOnTargetConsolidatorType"> <xs:annotation> <xs:documentation xml:lang="cs">Identifikace klienta v systému výstavce, používá se převážně v B2C systémech velkých výstavců faktur.</xs:documentation> <xs:documentation xml:lang="en">Client identification in the issuer system. Used mainly in B2C systems of companies issuing large volume of invoices.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ClientBankAccount" type="ClientBankAccountType"> <xs:annotation> <xs:documentation xml:lang="cs">Kompletní číslo bankovního účtu příjemce faktury včetně kódu banky. Používá se převážně v B2C systémech velkých výstavců faktur.</xs:documentation> <xs:documentation xml:lang="en">Complete bank account number of invoice receiver. Used mainly in B2C systems of companies issuing large volume of invoices.</xs:documentation> </xs:annotation> </xs:element> <xs:element name="ID" type="IDType"> <xs:annotation> <xs:documentation xml:lang="cs">Lidsky čitelné číslo dokladu</xs:documentation> <xs:documentation xml:lang="en">Human readable document number</xs:documentation> </xs:annotation> </xs:element> <xs:element name="UUID" type="UUIDType"> <xs:annotation> <xs:documentation xml:lang="cs">GUID identifikace od emitujícího systému</xs:documentation> <xs:documentation xml:lang="en">GUID identifier produced by emitting system</xs:documentation> </xs:annotation> </xs:element> <xs:element name="IssueDate" type="IssueDateType"> <xs:annotation> <xs:documentation xml:lang="cs">Datum vystavení</xs:documentation> <xs:documentation xml:lang="en">Issue date</xs:documentation> </xs:annotation> </xs:element> <xs:element name="LastValidDate" type="LastValidDateType"> <xs:annotation> <xs:documentation xml:lang="cs">Datum konce platnosti dokumentu</xs:documentation> <xs:documentation xml:lang="en">Date until document is valid</xs:documentation> </xs:annotation> </xs:element> <xs:element name="Note"> <xs:annotation> <xs:documentation xml:lang="cs">Poznámka</xs:documentation> <xs:documentation xml:lang="en">Note</xs:documentation> </xs:annotation> <xs:complexType> Datum vydání: duben 2014, aktualizace duben 2015 63/86 <xs:complexContent> <xs:extension base="NoteType"> <xs:attribute name="languageID" type="xs:language" use="optional"> <xs:annotation> <xs:documentation xml:lang="cs">Identifikátor použitého jazyka (např. "cs" pro češtinu)</xs:documentation> <xs:documentation xml:lang="en">Language identifier (e.g. "en" for English)</xs:documentation> </xs:annotation> </xs:attribute> </xs:extension> </xs:complexContent> </xs:complexType> </xs:element> <xs:element name="AccountingSupplierParty"> <xs:annotation> <xs:documentation xml:lang="cs">Dodavatel, účetní jednotka</xs:documentation> <xs:documentation xml:lang="en">Supplier, accounting entity in Commercial Register</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="Party"> <xs:annotation> <xs:documentation xml:lang="cs">Identifikace subjektu</xs:documentation> <xs:documentation xml:lang="en">Information about an organization, sub-organization, or individual fulfilling a role in a business process.</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="PartyIdentification"> <xs:annotation> <xs:documentation xml:lang="cs">Element identifikačních položek subjektu (firmy)</xs:documentation> <xs:documentation xml:lang="en">Information about a party's identification.</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="ID" type="IDType"> <xs:annotation> <xs:documentation xml:lang="cs">IČ</xs:documentation> <xs:documentation xml:lang="en">Company identification number</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="AccountingCustomerParty"> <xs:annotation> <xs:documentation xml:lang="cs">Příjemce, účetní jednotka</xs:documentation> <xs:documentation xml:lang="en">Customer, accounting entity in Commercial Register</xs:documentation> Datum vydání: duben 2014, aktualizace duben 2015 64/86 </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="Party"> <xs:annotation> <xs:documentation xml:lang="cs">Identifikace subjektu</xs:documentation> <xs:documentation xml:lang="en">Information about an organization, sub-organization, or individual fulfilling a role in a business process.</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="PartyName"> <xs:annotation> <xs:documentation xml:lang="cs">Název subjektu</xs:documentation> <xs:documentation xml:lang="en">Information about a party's name.</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="Name" type="NameType"> <xs:annotation> <xs:documentation xml:lang="cs">Název</xs:documentation> <xs:documentation xml:lang="en">A character string that constitutes the distinctive designation of a person, place, thing or concept</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="SupplementsList" type="SupplementsListType"> <xs:annotation> <xs:documentation xml:lang="cs">Kolekce příloh dokladu. Jedna z nich může být náhled, je označena pomocí preview="true"</xs:documentation> <xs:documentation xml:lang="en">Collection of document attachments. Exactly one attachment can be document preview marked by preview="true"</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> <xs:attribute name="version" type="VersionType" use="required"> <xs:annotation> <xs:documentation xml:lang="cs">Číslo verze B2C-ISDOC</xs:documentation> <xs:documentation xml:lang="en">ISDOC version number</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> </xs:element> </xs:schema> Datum vydání: duben 2014, aktualizace duben 2015 65/86 10.6 Příloha č. 6 - Definice struktury notifikačního reportu o přijetí dokumentů do EB <?xml version="1.0" encoding="UTF-8"?> <!-Schéma pro B2C notifikační reporty. Vytvořeno za použití některých položek z ISDOC 6.0. vytvořeného ICT UNIE o.s. Schema for B2C notification reports. Some items from ISDOC 6.0. of ICT UNIE o.s. were used. Permission to use, copy, modify and distribute this schema and its documentation for any purpose and without fee is hereby granted in perpetuity, provided that the above copyright notice and this paragraph appear in all copies. The copyright holders make no representation about the suitability of the schema for any purpose. It is provided "as is" without expressed or implied warranty. --> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:element name="Message"> <xs:annotation> <xs:documentation xml:lang="cs">Kořenový element</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="Notification" maxOccurs="unbounded"> <xs:annotation> <xs:documentation>Notifikační zpráva</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="BankCode" type="xs:string"> <xs:annotation> <xs:documentation>Kód přijímající banky</xs:documentation> </xs:annotation> </xs:element> <xs:element name="SupplierID" type="xs:string"> <xs:annotation> <xs:documentation xml:lang="cs">IČ výstavce</xs:documentation> </xs:annotation> </xs:element> <xs:choice> <xs:element name="Batch"> <xs:annotation> <xs:documentation>Sekce stavu dávky</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="BatchName" type="xs:string"> <xs:annotation> <xs:documentation xml:lang="cs">Unikátní jméno souboru dávky</xs:documentation> </xs:annotation> </xs:element> <xs:element name="StatusCode" type="xs:integer"> Datum vydání: duben 2014, aktualizace duben 2015 66/86 <xs:annotation> <xs:documentation xml:lang="cs">Identifikace stavu zpracování</xs:documentation> </xs:annotation> </xs:element> <xs:element name="StatusDescription" type="xs:string"> <xs:annotation> <xs:documentation xml:lang="cs">Popis stavu zpracování</xs:documentation> </xs:annotation> </xs:element> <xs:element name="DeliveryDate" type="xs:dateTime" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="cs">Datum a čas zpracování ve formátu YYYY-MM-DDTHH:MM:SSZ. Čas je v časové zóně UTC.</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Document"> <xs:annotation> <xs:documentation>Sekce stavu jednotlivých dokumentů</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="DocumentID" type="xs:string"> <xs:annotation> <xs:documentation xml:lang="cs">Lidsky čitelné číslo dokladu</xs:documentation> </xs:annotation> </xs:element> <xs:element name="UUID" type="xs:string" nillable="false"> <xs:annotation> <xs:documentation xml:lang="cs">GUID identifikace od emitujícího systému</xs:documentation> </xs:annotation> </xs:element> <xs:choice> <xs:element name="Status"> <xs:complexType> <xs:sequence> <xs:element name="StatusCode" type="xs:integer"> <xs:annotation> <xs:documentation xml:lang="cs">Identifikace stavu zpracování</xs:documentation> </xs:annotation> </xs:element> <xs:element name="StatusDescription" type="xs:string"> <xs:annotation> <xs:documentation xml:lang="cs">Popis stavu zpracování</xs:documentation> </xs:annotation> </xs:element> <xs:element name="DeliveryDate" type="xs:dateTime" minOccurs="0"> <xs:annotation> <xs:documentation xml:lang="cs">Datum a čas zpracování ve formátu YYYY-MM-DDTHH:MM:SSZ. Čas je v časové zóně UTC.</xs:documentation> </xs:annotation> </xs:element> Datum vydání: duben 2014, aktualizace duben 2015 67/86 </xs:sequence> </xs:complexType> </xs:element> <xs:element name="ReadingDate" type="xs:dateTime"> <xs:annotation> <xs:documentation xml:lang="cs">Datum a čas přečtení ve formátu YYYY-MM-DDTHH:MM:SSZ. Čas je v časové zóně UTC.</xs:documentation> </xs:annotation> </xs:element> </xs:choice> </xs:sequence> </xs:complexType> </xs:element> </xs:choice> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> Datum vydání: duben 2014, aktualizace duben 2015 68/86 10.7 Příloha č. 7 – WSDL pro UploadWS <?xml version="1.0" encoding="UTF-8"?> <wsdl:definitions xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://b2c.czech-ba.cz/UploadWS/xsd" name="UploadWSDefinitions" targetNamespace="http://b2c.czech-ba.cz/UploadWS/xsd"> <wsdl:documentation>UploadWS</wsdl:documentation> <wsdl:types> <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://b2c.czech-ba.cz/UploadWS/xsd"> <xs:element name="UploadRequest" type="tns:UploadRequest"/> <xs:complexType name="UploadRequest"> <xs:sequence> <xs:element maxOccurs="unbounded" minOccurs="0" name="attachments" nillable="true" type="tns:FileContainer"/> <xs:element maxOccurs="1" minOccurs="1" name="credentials" nillable="false" type="tns:Credentials"/> <xs:element maxOccurs="1" minOccurs="1" name="document" nillable="false" type="tns:FileContainer"/> </xs:sequence> </xs:complexType> <xs:element name="UploadResponse" type="tns:UploadResponse"/> <xs:complexType name="UploadResponse"> <xs:sequence> <xs:element maxOccurs="1" minOccurs="1" name="code" nillable="false" type="xs:integer"/> <xs:element maxOccurs="1" minOccurs="0" name="details" nillable="true" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:element name="UploadFault" type="tns:UploadFault"/> <xs:complexType name="UploadFault"> <xs:sequence> <xs:element maxOccurs="1" minOccurs="1" name="errorCode" nillable="false" type="xs:integer"/> <xs:element maxOccurs="1" minOccurs="0" name="errorDescription" nillable="true" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:element name="FileContainer" type="tns:FileContainer"/> <xs:complexType name="FileContainer"> <xs:sequence> <xs:element maxOccurs="1" minOccurs="1" name="dataHandler" nillable="false" type="xs:base64Binary"/> <xs:element maxOccurs="1" minOccurs="1" name="fileName" nillable="false" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:element name="Credentials" type="tns:Credentials"/> <xs:complexType name="Credentials"> <xs:sequence> <xs:element maxOccurs="1" minOccurs="1" name="password" nillable="false" type="xs:string"/> <xs:element maxOccurs="1" minOccurs="1" name="username" nillable="false" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:schema> </wsdl:types> <wsdl:message name="UploadRequestMessage"> <wsdl:part name="request" element="tns:UploadRequest"> </wsdl:part> </wsdl:message> <wsdl:message name="UploadResponseMessage"> Datum vydání: duben 2014, aktualizace duben 2015 69/86 <wsdl:part name="response" element="tns:UploadResponse"> </wsdl:part> </wsdl:message> <wsdl:message name="UploadFaultException"> <wsdl:part name="exception" element="tns:UploadFault"> </wsdl:part> </wsdl:message> <wsdl:portType name="UploadWSPortType"> <wsdl:operation name="upload"> <wsdl:input message="tns:UploadRequestMessage"/> <wsdl:output message="tns:UploadResponseMessage"/> <wsdl:fault name="uploadFaultException" message="tns:UploadFaultException"/> </wsdl:operation> </wsdl:portType> <wsdl:binding name="UploadWSBinding" type="tns:UploadWSPortType"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="upload"> <soap:operation soapAction="http://b2c.czech-ba.cz/UploadWS/upload" style="document"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> <wsdl:fault name="uploadFaultException"> <soap:fault name="uploadFaultException" use="literal"/> </wsdl:fault> </wsdl:operation> </wsdl:binding> <wsdl:service name="UploadWS"> <wsdl:port name="UploadWSPort" binding="tns:UploadWSBinding"> <soap:address location="https://b2c.czech-ba.cz:443/webservices/UploadWS"/> </wsdl:port> </wsdl:service> </wsdl:definitions> Datum vydání: duben 2014, aktualizace duben 2015 70/86 10.7.1 Příklady volání UploadWS Všechny příklady byly vytvořeny pomocí generovaného clienta z WSDL pomocí SOAP UI. Server byl vygenerován a spuštěn na lokálním stroji. Služby byly spuštěny na lokální instalaci aplikačního serveru GlassFish 4. Adresa, na které byly služby lokálně dostupné byla: http://WL2001235:8080/ Klient i serverová část byly nastaveny v souladu s požadavky na přenos pomocí MTOM a všechny přenosy probíhali v kódování chunked. 10.7.1.1 Request se samotným XML souborem POST http://WL2001235:8080/UploadWS/NewWebServiceFromWSDL HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: multipart/related; type="application/xop+xml"; start="<[email protected]>"; start-info="text/xml"; boundary="----=_Part_24_359150494.1391175421571" SOAPAction: "http://b2c.czech-ba.cz/UploadWS/upload" MIME-Version: 1.0 Transfer-Encoding: chunked Host: WL2001235:8080 Connection: Keep-Alive User-Agent: Apache-HttpClient/4.1.1 (java 1.5) ------=_Part_24_359150494.1391175421571 Content-Type: application/xop+xml; charset=UTF-8; type="text/xml" Content-Transfer-Encoding: 8bit Content-ID: <[email protected]> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://b2c.czech-ba.cz/UploadWS/xsd"> <soapenv:Header/> <soapenv:Body> <xsd:UploadRequest> <xsd:credentials> <xsd:password>user_password</xsd:password> <xsd:username>user_username</xsd:username> </xsd:credentials> <xsd:document> <xsd:dataHandler><inc:Include href="cid:document.xml" xmlns:inc="http://www.w3.org/2004/08/xop/include"/></xsd:dataHandler> <xsd:fileName>document.xml</xsd:fileName> </xsd:document> </xsd:UploadRequest> </soapenv:Body> </soapenv:Envelope> ------=_Part_24_359150494.1391175421571 Content-Type: text/xml; charset=us-ascii; name=document.xml Content-Transfer-Encoding: 7bit Content-ID: <document.xml> Content-Disposition: attachment; name="document.xml"; filename="document.xml" <?xml version="1.0" encoding="UTF-8"?> <Data> This is a simple XML file. </Data> ------=_Part_24_359150494.1391175421571-- Datum vydání: duben 2014, aktualizace duben 2015 71/86 10.7.1.2 Request s XML a PDF v příloze POST http://WL2001235:8080/UploadWS/NewWebServiceFromWSDL HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: multipart/related; type="application/xop+xml"; start="<[email protected]>"; start-info="text/xml"; boundary="----=_Part_14_1621051412.1391173583494" SOAPAction: "http://b2c.czech-ba.cz/UploadWS/upload" MIME-Version: 1.0 Transfer-Encoding: chunked Host: WL2001235:8080 Connection: Keep-Alive User-Agent: Apache-HttpClient/4.1.1 (java 1.5) ------=_Part_14_1621051412.1391173583494 Content-Type: application/xop+xml; charset=UTF-8; type="text/xml" Content-Transfer-Encoding: 8bit Content-ID: <[email protected]> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://b2c.czech-ba.cz/UploadWS/xsd"> <soapenv:Header/> <soapenv:Body> <xsd:UploadRequest> <!--Zero or more repetitions:--> <xsd:attachments> <xsd:dataHandler><inc:Include href="cid:attachment.pdf" xmlns:inc="http://www.w3.org/2004/08/xop/include"/></xsd:dataHandler> <xsd:fileName>attachment.pdf</xsd:fileName> </xsd:attachments> <xsd:credentials> <xsd:password>user_password</xsd:password> <xsd:username>user_username</xsd:username> </xsd:credentials> <xsd:document> <xsd:dataHandler><inc:Include href="cid:document.xml" xmlns:inc="http://www.w3.org/2004/08/xop/include"/></xsd:dataHandler> <xsd:fileName>document.xml</xsd:fileName> </xsd:document> </xsd:UploadRequest> </soapenv:Body> </soapenv:Envelope> ------=_Part_14_1621051412.1391173583494 Content-Type: multipart/mixed; boundary="----=_Part_15_1578095711.1391173583505"; name=document.xml Content-Transfer-Encoding: binary Content-ID: <document.xml> Content-Disposition: attachment; name="document.xml"; filename="document.xml" ------=_Part_15_1578095711.1391173583505 Content-ID: <document.xml> Content-Disposition: attachment; name="document.xml"; filename="document.xml" <?xml version="1.0" encoding="UTF-8"?> <Data> Datum vydání: duben 2014, aktualizace duben 2015 72/86 This is a simple XML file. </Data> ------=_Part_15_1578095711.1391173583505 Content-ID: <attachment.pdf> Content-Disposition: attachment; name="attachment.pdf"; filename="attachment.pdf" %PDF-1.4 %âăĎÓ 3 0 obj << /Producer (PDF-XChange 3.60.0114 \(Windows XP\)) /CreationDate (D:20080905105110+01'00') >> endobj 5 0 obj << /Type /FontDescriptor /FontName /ArialMT /Flags 32 /FontBBox [-665 -325 2028 1006] /MissingWidth 278 /StemH 78 /StemV 78 /ItalicAngle 0 /CapHeight 716 /XHeight 519 /Ascent 905 /Descent -212 /Leading 150 /MaxWidth 2000 /AvgWidth 441 >> endobj 6 0 obj << /Type /Font /Subtype /TrueType /BaseFont /ArialMT /FirstChar 32 /LastChar 117 /Encoding /WinAnsiEncoding /FontDescriptor 5 0 R /Widths [ 278 0 0 0 0 0 0 0 0 0 0 0 0 0 278 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 722 0 611 0 0 0 0 0 0 0 0 0 667 0 0 0 611 0 0 0 0 0 0 0 0 0 0 0 0 556 0 500 556 556 0 0 556 222 0 0 222 833 556 556 556 0 0 500 278 556]>> endobj 7 0 obj << Datum vydání: duben 2014, aktualizace duben 2015 73/86 /Filter [/FlateDecode] /Length 128 >> stream xÚ-Š»Â0 10.7.1.3 Request se samotným PDF POST http://WL2001235:8080/UploadWS/NewWebServiceFromWSDL HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: multipart/related; type="application/xop+xml"; start="<[email protected]>"; start-info="text/xml"; boundary="----=_Part_33_2064770809.1391175751217" SOAPAction: "http://b2c.czech-ba.cz/UploadWS/upload" MIME-Version: 1.0 Transfer-Encoding: chunked Host: WL2001235:8080 Connection: Keep-Alive User-Agent: Apache-HttpClient/4.1.1 (java 1.5) ------=_Part_33_2064770809.1391175751217 Content-Type: application/xop+xml; charset=UTF-8; type="text/xml" Content-Transfer-Encoding: 8bit Content-ID: <[email protected]> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://b2c.czech-ba.cz/UploadWS/xsd"> <soapenv:Header/> <soapenv:Body> <xsd:UploadRequest> <xsd:credentials> <xsd:password>user_password</xsd:password> <xsd:username>user_username</xsd:username> </xsd:credentials> <xsd:document> <xsd:dataHandler><inc:Include href="cid:document.pdf" xmlns:inc="http://www.w3.org/2004/08/xop/include"/></xsd:dataHandler> <xsd:fileName>document.pdf</xsd:fileName> </xsd:document> </xsd:UploadRequest> </soapenv:Body> </soapenv:Envelope> ------=_Part_33_2064770809.1391175751217 Content-Type: application/pdf; name=document.pdf Content-Transfer-Encoding: binary Content-ID: <document.pdf> Content-Disposition: attachment; name="document.pdf"; filename="document.pdf" %PDF-1.4 %âăĎÓ 3 0 obj << /Producer (PDF-XChange 3.60.0114 \(Windows XP\)) /CreationDate (D:20080905105110+01'00') Datum vydání: duben 2014, aktualizace duben 2015 74/86 >> endobj 5 0 obj << /Type /FontDescriptor /FontName /ArialMT /Flags 32 /FontBBox [-665 -325 2028 1006] /MissingWidth 278 /StemH 78 /StemV 78 /ItalicAngle 0 /CapHeight 716 /XHeight 519 /Ascent 905 /Descent -212 /Leading 150 /MaxWidth 2000 /AvgWidth 441 >> endobj 6 0 obj << /Type /Font /Subtype /TrueType /BaseFont /ArialMT /FirstChar 32 /LastChar 117 /Encoding /WinAnsiEncoding /FontDescriptor 5 0 R /Widths [ 278 0 0 0 0 0 0 0 0 0 0 0 0 0 278 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 722 0 611 0 0 0 0 0 0 0 0 0 667 0 0 0 611 0 0 0 0 0 0 0 0 0 0 0 0 556 0 500 556 556 0 0 556 222 0 0 222 833 556 556 556 0 0 500 278 556]>> endobj 7 0 obj << /Filter [/FlateDecode] /Length 128 >> stream xÚ-Š»Â0 10.7.1.4 OK response HTTP/1.1 200 OK Server: grizzly/2.3.1 Content-Type: text/xml;charset=utf-8 Date: Fri, 31 Jan 2014 13:06:23 GMT Datum vydání: duben 2014, aktualizace duben 2015 75/86 Transfer-Encoding: chunked <?xml version='1.0' encoding='UTF-8'?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <UploadResponse xmlns="http://b2c.czech-ba.cz/UploadWS/xsd"> <code>0</code> </UploadResponse> </S:Body> </S:Envelope> 10.7.1.5 Failure response HTTP/1.1 500 Internal Server Error Server: grizzly/2.3.1 Content-Type: text/xml;charset=utf-8 Date: Fri, 31 Jan 2014 23:41:39 GMT Connection: close Transfer-Encoding: chunked <?xml version='1.0' encoding='UTF-8'?> <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <S:Fault xmlns:ns4="http://www.w3.org/2003/05/soap-envelope"> <faultcode>S:Server</faultcode> <faultstring>Test upload web service with exception...</faultstring> <detail> <UploadFault:UploadFault xmlns:UploadFault="http://b2c.czech-ba.cz/UploadWS/xsd" xmlns="http://b2c.czech-ba.cz/UploadWS/xsd"> <errorCode>-3</errorCode> <details>Neplatný dokument</details> </UploadFault:UploadFault> </detail> </S:Fault> </S:Body> </S:Envelope> Datum vydání: duben 2014, aktualizace duben 2015 76/86 10.8 Příloha č. 8 – WSDL pro DownloadWS <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://b2c.czech-ba.cz/DownloadWS/xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" name="DownloadNewDocuments" targetNamespace="http://b2c.czech-ba.cz/DownloadWS/xsd"> <wsdl:types> <xsd:schema targetNamespace="http://b2c.czech-ba.cz/DownloadWS/xsd"> <xsd:element name="DocumentsRequest" type="tns:DocumentsRequest"/> <xsd:complexType name="DocumentsRequest"> <xsd:sequence> <xsd:element maxOccurs="1" minOccurs="1" name="credentials" type="tns:Credentials"/> <xsd:element maxOccurs="1" minOccurs="1" name="documentType" type="xsd:integer"/> <xsd:element maxOccurs="1" minOccurs="1" name="formatType" type="xsd:integer"/> <xsd:element maxOccurs="1" minOccurs="0" name="maxDocumentsNumber" type="xsd:integer"/> </xsd:sequence> </xsd:complexType> <xsd:element name="DocumentsResponse" type="tns:DocumentsResponse"/> <xsd:complexType name="DocumentsResponse"> <xsd:sequence> <xsd:element maxOccurs="1" minOccurs="1" name="remainingDocumentsNumber" type="xsd:integer"/> <xsd:element maxOccurs="1" minOccurs="1" name="responseDocumentsNumber" type="xsd:integer"/> <xsd:element maxOccurs="unbounded" minOccurs="0" name="documents" type="tns:Document"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="Credentials"> <xsd:sequence> <xsd:element maxOccurs="1" minOccurs="1" name="username" type="xsd:string"/> <xsd:element maxOccurs="1" minOccurs="1" name="password" type="xsd:string"/> </xsd:sequence> </xsd:complexType> <xsd:complexType name="Document"> <xsd:sequence> <xsd:element name="documentId" type="xsd:integer"/> <xsd:element name="fileName" type="xsd:string"/> <xsd:element name="dataHandler" type="xsd:base64Binary"/> </xsd:sequence> </xsd:complexType> <xsd:element name="MarkDocumentsByTimeRangeRequest" type="tns:MarkDocumentsByTimeRangeRequest"/> <xsd:complexType name="MarkDocumentsByTimeRangeRequest"> <xsd:sequence> <xsd:element maxOccurs="1" minOccurs="1" name="credentials" type="tns:Credentials"/> <xsd:element maxOccurs="1" minOccurs="1" name="dateFrom" type="xsd:dateTime"/> <xsd:element maxOccurs="1" minOccurs="1" name="dateTo" type="xsd:dateTime"/> </xsd:sequence> </xsd:complexType> <xsd:element name="MarkDocumentsResponse" type="tns:MarkDocumentsResponse"/> <xsd:complexType name="MarkDocumentsResponse"> <xsd:sequence> <xsd:element maxOccurs="1" minOccurs="1" name="markedDocumentsNumber" type="xsd:integer"/> </xsd:sequence> </xsd:complexType> <xsd:element name="DownloadFault" type="tns:DownloadFault"/> <xsd:complexType name="DownloadFault"> Datum vydání: duben 2014, aktualizace duben 2015 77/86 <xsd:sequence> <xsd:element maxOccurs="1" minOccurs="1" name="errorCode" nillable="false" type="xsd:integer"/> <xsd:element maxOccurs="1" minOccurs="0" name="errorDescription" nillable="true" type="xsd:string"/> </xsd:sequence> </xsd:complexType> </xsd:schema> </wsdl:types> <wsdl:message name="DocumentsRequestMessage"> <wsdl:part name="request" element="tns:DocumentsRequest"/> </wsdl:message> <wsdl:message name="DocumentsResponseMessage"> <wsdl:part name="response" element="tns:DocumentsResponse"/> </wsdl:message> <wsdl:message name="MarkDocumentsByTimeRangeRequestMessage"> <wsdl:part name="request" element="tns:MarkDocumentsByTimeRangeRequest"/> </wsdl:message> <wsdl:message name="MarkDocumentsByTimeRangeResponseMessage"> <wsdl:part name="response" element="tns:MarkDocumentsResponse"/> </wsdl:message> <wsdl:message name="DownloadFaultException"> <wsdl:part name="exception" element="tns:DownloadFault"/> </wsdl:message> <wsdl:portType name="DownloadWSPortType"> <wsdl:operation name="getNewDocuments"> <wsdl:input message="tns:DocumentsRequestMessage"/> <wsdl:output message="tns:DocumentsResponseMessage"/> <wsdl:fault name="downloadFaultException" message="tns:DownloadFaultException"/> </wsdl:operation> <wsdl:operation name="markDocumentsByTimeRange"> <wsdl:input message="tns:MarkDocumentsByTimeRangeRequestMessage"/> <wsdl:output message="tns:MarkDocumentsByTimeRangeResponseMessage"/> <wsdl:fault name="downloadFaultException" message="tns:DownloadFaultException"/> </wsdl:operation> </wsdl:portType> <wsdl:binding name="DownloadWSBinding" type="tns:DownloadWSPortType"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="getNewDocuments"> <soap:operation soapAction="http://b2c.czech-ba.cz/DownloadWS/getNewDocuments" style="document"/> <wsdl:input> <soap:body use="literal"/> </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> <wsdl:fault name="downloadFaultException"> <soap:fault name="downloadFaultException" use="literal"/> </wsdl:fault> </wsdl:operation> <wsdl:operation name="markDocumentsByTimeRange"> <soap:operation soapAction="http://b2c.czech-ba.cz/DownloadWS/markDocumentsByTimeRange" style="document"/> <wsdl:input> <soap:body use="literal"/> Datum vydání: duben 2014, aktualizace duben 2015 78/86 </wsdl:input> <wsdl:output> <soap:body use="literal"/> </wsdl:output> <wsdl:fault name="downloadFaultException"> <soap:fault name="downloadFaultException" use="literal"/> </wsdl:fault> </wsdl:operation> </wsdl:binding> <wsdl:service name="DownloadWS"> <wsdl:port name="DownloadWSSOAP" binding="tns:DownloadWSBinding"> <soap:address location="https://b2c.czech-ba.cz:443/webservices/DownloadWS"/> </wsdl:port> </wsdl:service> </wsdl:definitions> Datum vydání: duben 2014, aktualizace duben 2015 79/86 10.8.1 Příklady volání DownloadWS Všechny příklady byly vytvořeny pomocí generovaného clienta z WSDL pomocí SOAP UI. Server byl vygenerován a spuštěn na lokálním stroji. Služby byly spuštěny na lokální instalaci aplikačního serveru GlassFish 4. Adresa, na které byly služby lokálně dostupné byla: http://WL2001235:8080/ Klient i serverová část byly nastaveny v souladu s požadavky na přenos pomocí MTOM a všechny přenosy probíhali v kódování chunked. 10.8.1.1 Request se žádostí o nové dokumenty POST http://WL2001235:8080/DownloadWS/DownloadServiceFromWSDL HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: text/xml;charset=UTF-8 SOAPAction: "http://b2c.czech-ba.cz/DownloadWS/getNewDocuments" Transfer-Encoding: chunked Host: WL2001235:8080 Connection: Keep-Alive User-Agent: Apache-HttpClient/4.1.1 (java 1.5) <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://b2c.czech-ba.cz/DownloadWS/xsd"> <soapenv:Header/> <soapenv:Body> <xsd:DocumentsRequest> <credentials> <username>username</username> <password>password</password> </credentials> <documentType>2</documentType> <formatType>1</formatType> <!--Optional:--> <maxDocumentsNumber>100</maxDocumentsNumber> </xsd:DocumentsRequest> </soapenv:Body> </soapenv:Envelope> 10.8.1.2 OK response na žádost o nové dokumenty HTTP/1.1 200 OK Server: grizzly/2.3.1 Content-Type: text/xml;charset=utf-8 Date: Fri, 31 Jan 2014 13:58:17 GMT Transfer-Encoding: chunked <?xml version='1.0' encoding='UTF-8'?> <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns2:DocumentsResponse xmlns:ns2="http://b2c.czech-ba.cz/DownloadWS/xsd"> <remainingDocumentsNumber>0</remainingDocumentsNumber> <responseDocumentsNumber>1</responseDocumentsNumber> <documents> <documentId>10</documentId> <fileName>MyFirstDocument.xml</fileName> Datum vydání: duben 2014, aktualizace duben 2015 80/86 <dataHandler>AAAAAAAAAAAAAAAAAAAAAAAAAAA=</dataHandler> </documents> </ns2:DocumentsResponse> </S:Body> </S:Envelope> 10.8.1.3 Failure response na žádost o nové dokumenty HTTP/1.1 500 Internal Server Error Server: grizzly/2.3.1 Content-Type: text/xml;charset=utf-8 Date: Fri, 31 Jan 2014 23:41:39 GMT Connection: close Transfer-Encoding: chunked <?xml version='1.0' encoding='UTF-8'?> <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <S:Fault xmlns:ns4="http://www.w3.org/2003/05/soap-envelope"> <faultcode>S:Server</faultcode> <faultstring>Test download web service with exception...</faultstring> <detail> <DownloadFault:DownloadFault xmlns:DownloadFault="http://b2c.czech-ba.cz/DownloadWS/xsd" xmlns="http://b2c.czech-ba.cz/DownloadWS/xsd"> <errorCode>-1</errorCode> <details>Chyba autentizace uživatele</details> </DownloadFault:DownloadFault> </detail> </S:Fault> </S:Body> </S:Envelope> 10.8.1.4 Request se žádostí označit dokumenty pro opětovné stažení dokumentů POST http://WL2001235:8080/DownloadWS/DownloadServiceFromWSDL HTTP/1.1 Accept-Encoding: gzip,deflate Content-Type: text/xml;charset=UTF-8 SOAPAction: "http://b2c.czech-ba.cz/DownloadWS/markDocumentsByTimeRange" Transfer-Encoding: chunked Host: WL2001235:8080 Connection: Keep-Alive User-Agent: Apache-HttpClient/4.1.1 (java 1.5) <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://b2c.czech-ba.cz/DownloadWS/xsd"> <soapenv:Header/> <soapenv:Body> <xsd:MarkDocumentsByTimeRangeRequest> <credentials> <username>username</username> <password>password</password> </credentials> <dateFrom>2013-05-30T09:30:10-06:00</dateFrom> Datum vydání: duben 2014, aktualizace duben 2015 81/86 <dateTo>2014-05-30T09:30:10-06:00</dateTo> </xsd:MarkDocumentsByTimeRangeRequest> </soapenv:Body> </soapenv:Envelope> 10.8.1.5 OK response na žádost označit dokumenty pro opětovné stažení dokumentů HTTP/1.1 200 OK Server: grizzly/2.3.1 Content-Type: text/xml;charset=utf-8 Date: Fri, 31 Jan 2014 14:00:39 GMT Transfer-Encoding: chunked <?xml version='1.0' encoding='UTF-8'?> <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns2:MarkDocumentsResponse xmlns:ns2="http://b2c.czech-ba.cz/DownloadWS/xsd"> <markedDocumentsNumber>10</markedDocumentsNumber> </ns2:MarkDocumentsResponse> </S:Body> </S:Envelope> 10.8.1.6 Failure response na žádost označit dokumenty pro opětovné stažení dokumentů HTTP/1.1 500 Internal Server Error Server: grizzly/2.3.1 Content-Type: text/xml;charset=utf-8 Date: Fri, 31 Jan 2014 23:41:39 GMT Connection: close Transfer-Encoding: chunked <?xml version='1.0' encoding='UTF-8'?> <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <S:Fault xmlns:ns4="http://www.w3.org/2003/05/soap-envelope"> <faultcode>S:Server</faultcode> <faultstring>Test download web service with exception...</faultstring> <detail> <DownloadFault:DownloadFault xmlns:DownloadFault="http://b2c.czech-ba.cz/DownloadWS/xsd" xmlns="http://b2c.czech-ba.cz/DownloadWS/xsd"> <errorCode>-1</errorCode> <details>Chyba autentizace uživatele</details> </DownloadFault:DownloadFault> </detail> </S:Fault> </S:Body> </S:Envelope> Datum vydání: duben 2014, aktualizace duben 2015 82/86 10.9 Příloha č. 9 – WSDL pro WS UserAccountStatus <?xml version="1.0" encoding="utf-8"?> <wsdl:definitions xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy" xmlns:wsa10="http://www.w3.org/2005/08/addressing" xmlns:tns="http://b2c.czech-ba.cz/UserAccount/2014/Service" xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:wsu="http://docs.oasisopen.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="UserAccountStatusService" targetNamespace="http://b2c.czechba.cz/UserAccount/2014/Service" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"> <wsdl:types> <xs:schema elementFormDefault="qualified" targetNamespace="http://b2c.czech-ba.cz/UserAccount/2014/Service" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:import namespace="http://b2c.czech-ba.cz/UserAccount/2014/Types" /> <xs:element name="UserAccountStatus"> <xs:complexType> <xs:sequence> <xs:element xmlns:q1="http://b2c.czech-ba.cz/UserAccount/2014/Types" maxOccurs="1" name="request" nillable="false" type="q1:UserAccountStatusRequest" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="UserAccountStatusResponse"> <xs:complexType> <xs:sequence> <xs:element xmlns:q2="http://b2c.czech-ba.cz/UserAccount/2014/Types" maxOccurs="1" name="UserAccountStatusResult" nillable="false" type="q2:UserAccountStatusResponse" /> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> <xs:schema xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="anyType" nillable="false" type="xs:anyType" /> <xs:element name="anyURI" nillable="false" type="xs:anyURI" /> <xs:element name="base64Binary" nillable="false" type="xs:base64Binary" /> <xs:element name="boolean" nillable="false" type="xs:boolean" /> <xs:element name="byte" nillable="false" type="xs:byte" /> <xs:element name="dateTime" nillable="false" type="xs:dateTime" /> <xs:element name="decimal" nillable="false" type="xs:decimal" /> <xs:element name="double" nillable="false" type="xs:double" /> <xs:element name="float" nillable="false" type="xs:float" /> <xs:element name="int" nillable="false" type="xs:int" /> <xs:element name="long" nillable="false" type="xs:long" /> <xs:element name="QName" nillable="false" type="xs:QName" /> <xs:element name="short" nillable="false" type="xs:short" /> <xs:element name="string" nillable="false" type="xs:string" /> <xs:element name="unsignedByte" nillable="false" type="xs:unsignedByte" /> <xs:element name="unsignedInt" nillable="false" type="xs:unsignedInt" /> <xs:element name="unsignedLong" nillable="false" type="xs:unsignedLong" /> <xs:element name="unsignedShort" nillable="false" type="xs:unsignedShort" /> <xs:element name="char" nillable="false" type="tns:char" /> <xs:simpleType name="char"> <xs:restriction base="xs:int" /> </xs:simpleType> <xs:element name="duration" nillable="false" type="tns:duration" /> Datum vydání: duben 2014, aktualizace duben 2015 83/86 <xs:simpleType name="duration"> <xs:restriction base="xs:duration"> <xs:pattern value="\-?P(\d*D)?(T(\d*H)?(\d*M)?(\d*(\.\d*)?S)?)?" /> <xs:minInclusive value="-P10675199DT2H48M5.4775808S" /> <xs:maxInclusive value="P10675199DT2H48M5.4775807S" /> </xs:restriction> </xs:simpleType> <xs:element name="guid" nillable="false" type="tns:guid" /> <xs:simpleType name="guid"> <xs:restriction base="xs:string"> <xs:pattern value="[\da-fA-F]{8}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{12}" /> </xs:restriction> </xs:simpleType> <xs:attribute name="FactoryType" type="xs:QName" /> <xs:attribute name="Id" type="xs:ID" /> <xs:attribute name="Ref" type="xs:IDREF" /> </xs:schema> <xs:schema xmlns:tns="http://b2c.czech-ba.cz/UserAccount/2014/Types" elementFormDefault="qualified" targetNamespace="http://b2c.czech-ba.cz/UserAccount/2014/Types" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:complexType name="UserAccountStatusRequest"> <xs:sequence> <xs:element maxOccurs="1" name="Credentials" nillable="false" type="tns:PublisherCredentials" /> <xs:element maxOccurs="1" name="RequestData" nillable="false" type="tns:ChangeRequestData" /> </xs:sequence> </xs:complexType> <xs:element name="UserAccountStatusRequest" nillable="false" type="tns:UserAccountStatusRequest" /> <xs:complexType name="PublisherCredentials"> <xs:sequence> <xs:element maxOccurs="1" name="UserName" nillable="false" type="xs:string" /> <xs:element maxOccurs="1" name="UserPassword" nillable="false" type="xs:string" /> </xs:sequence> </xs:complexType> <xs:element name="PublisherCredentials" nillable="false" type="tns:PublisherCredentials" /> <xs:complexType name="ChangeRequestData"> <xs:sequence> <xs:element maxOccurs="1" name="BankAccountID" nillable="false" type="tns:BankAccountID" /> <xs:element maxOccurs="1" name="ChangeAction"> <xs:annotation> <xs:documentation>0=Deactivate, 1=Activate, 2= CheckStatus</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:integer"> <xs:minInclusive value="0"/> <xs:maxInclusive value="2"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element maxOccurs="1" name="ClientOnTargetConsolidator" nillable="false" type="xs:string" > <xs:annotation> <xs:documentation>Referencni cislo vystavce v systemech banky</xs:documentation> </xs:annotation> </xs:element> Datum vydání: duben 2014, aktualizace duben 2015 84/86 <xs:element maxOccurs="1" name="StatusCode"> <xs:annotation> <xs:documentation>Iniciator deaktivace. 1=na zadost klienta, 2=na zadost vystavce</xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:integer"> <xs:minInclusive value="1"/> <xs:maxInclusive value="2"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element maxOccurs="1" name="StatusCodeSpecified" type="xs:boolean" /> <xs:element maxOccurs="1" name="TraceID" nillable="false" > <xs:annotation> <xs:documentation></xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="[A-Za-z0-9]{1,40}"/> </xs:restriction> </xs:simpleType> </xs:element> </xs:sequence> </xs:complexType> <xs:element name="ChangeRequestData" nillable="false" type="tns:ChangeRequestData" /> <xs:complexType name="BankAccountID"> <xs:sequence> <xs:choice> <xs:element name="ClientBankAccount"> <xs:annotation> <xs:documentation> Cislo uctu(6,10,4) v delce 20 znaku - predcisli, cislo uctu, kod banky - kazda cast doplnena na prislusnou delku 0 zleva (pr:00012300000001230300) </xs:documentation> </xs:annotation> <xs:simpleType> <xs:restriction base="xs:string"> <xs:pattern value="[0-9]{20}"/> </xs:restriction> </xs:simpleType> </xs:element> <xs:element name="ClientIBANBankAccount" type="tns:ClientIBANBankAccount"/> </xs:choice> </xs:sequence> </xs:complexType> <xs:element name="BankAccountID" nillable="false" type="tns:BankAccountID" /> <xs:complexType name="ClientIBANBankAccount"> <xs:sequence> <xs:element maxOccurs="1" name="BIC" nillable="false" type="xs:string" /> <xs:element maxOccurs="1" name="IBAN" nillable="true" type="xs:string" /> </xs:sequence> </xs:complexType> <xs:element name="ClientIBANBankAccount" nillable="true" type="tns:ClientIBANBankAccount" /> Datum vydání: duben 2014, aktualizace duben 2015 85/86 <xs:complexType name="UserAccountStatusResponse"> <xs:sequence> <xs:element maxOccurs="1" name="Status" type="xs:int" /> <xs:element maxOccurs="1" name="StatusErrorDescription" nillable="true" type="tns:ErrorStatus" /> </xs:sequence> </xs:complexType> <xs:element name="UserAccountStatusResponse" nillable="true" type="tns:UserAccountStatusResponse" /> <xs:complexType name="ErrorStatus"> <xs:sequence> <xs:element maxOccurs="1" name="ErrorCode" type="xs:int" /> <xs:element maxOccurs="1" name="ErrorDescription" nillable="true" type="xs:string" /> </xs:sequence> </xs:complexType> <xs:element name="ErrorStatus" nillable="true" type="tns:ErrorStatus" /> </xs:schema> </wsdl:types> <wsdl:message name="UserAccountStatusReq"> <wsdl:part name="parameters" element="tns:UserAccountStatus" /> </wsdl:message> <wsdl:message name="UserAccountStatusRes"> <wsdl:part name="parameters" element="tns:UserAccountStatusResponse" /> </wsdl:message> <wsdl:portType name="UserAccountStatusPortType"> <wsdl:operation name="UserAccountStatus"> <wsdl:input message="tns:UserAccountStatusReq" /> <wsdl:output message="tns:UserAccountStatusRes" /> </wsdl:operation> </wsdl:portType> <wsdl:binding name="UserAccountStatusPortTypeBinding" type="tns:UserAccountStatusPortType"> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" /> <wsdl:operation name="UserAccountStatus"> <soap:operation soapAction="UserAccountStatus" style="document" /> <wsdl:input> <soap:body use="literal" /> </wsdl:input> <wsdl:output> <soap:body use="literal" /> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="UserAccountStatusService"> <wsdl:port name="UserAccountStatusPortTypeBindingPort" binding="tns:UserAccountStatusPortTypeBinding"> <soap:address location="https://b2c.czech-ba.cz:443/webservices/UserAccountStatus/" /> </wsdl:port> </wsdl:service> </wsdl:definitions> Datum vydání: duben 2014, aktualizace duben 2015 86/86
Podobné dokumenty
webová služba pro posílání dávek dat do DB NOR a
Přesný popis fungování NORu je uveden – v metodice NOR - „Závazné pokyny NZIS - Národní
onkologický registr 1/2006, ÚZIS ČR“.
Původní fungování bylo založeno na předávání stanovených podkladů v pap...
Informace o stahovacích službách pro INSPIRE téma Zeměpisná
předpisů (zákon č. 123/1998 Sb., o právu na informace o životním prostředí, a č.200/1994, o zeměměřictví, v platných
zněních). Služby jsou implementovány podle prováděcích pravidel INSPIRE. Stahova...
G-Service
Web service base classes
The base classes are mentioned below. They are used in almost all methods of service.
Geis CZ s.r.o.
Zemská 211/I
337 01 Ejpovice
Czech Republic
- Příručka programátora Webové služby
Ve všech operacích, které provádíte, můžete použít svůj unikátní referenční údaj (číslo
objednávky, faktury, výdejky) jako ID záznamu. Později můžete sledovat svou přepravu pomocí této
reference. P...
DatoveRozhrani_ISORRVD-EVAL_091210
vystavena v DMZ komunikační brána (aplikace Communic) zajišťující připojení jiných aplikací
v síti veřejného Internetu nebo jiných podnikových sítí. Podmínkou pro připojované aplikace
je implementa...
Implementace standardu Sensor Observation Service
Webová služba
• = softwarový systém umožňující interakci dvou
strojů na síti
• popsána ve strojově zpracovatelném formátu
(WSDL)
• ostatní stroje komunikují způsobem uvedeném v
popisu služby (např...
Tutoriál Web Services - Masarykova univerzita
Adresace
• v jednom serveru může být více služeb
• v gSOAP pouze jedna
• nalezení služby v Apache Axis
Webové služby
zpracovatelném formátu (specificky WSDL).
Ostatní systémy interagují s webovou službou
způsobem předepsaným jejím popisem za pomoci
SOAP zpráv, typicky dopravovaných použitím
HTTP s XML serializací...