Autor Téma: eNeschopenka  (Přečteno 203 krát)

Offline MartinOVA

  • Nováček
  • *
  • Příspěvků: 2
  • Karma: 0
eNeschopenka
« kdy: 14-01-2020, 12:44:22 »
Zdar,
hledám informace  jak pomocí web. služby stáhnou seznam zaměstnanců, kteří mají nemocenskou (pro mého zamestnavatele).
Prošel jsem https://www.cssz.cz/web/cz/informace-pro-sw-vyvojare, ale nemám jasno.

Mám DEMO certifikat PostSignum xy_PEM.crt, který jsem zaregistroval pomocí podpora.eneschopenka@cssz.cz

Ale nevím jakou web. službu (WSDL) mám použít, spíš jak ji použít?

Děkuji za info, případně za konstruktivní řešení.


Offline Marek Weyda

  • Plnoletý
  • ***
  • Příspěvků: 230
  • Karma: 8
    • Verze Delphi: Delphi 2007, 10.1 Berlin
Re:eNeschopenka
« Odpověď #1 kdy: 15-01-2020, 08:59:17 »
Excellent
Rated 1 time
Jsem čerstvě po naprogramování komunikace našeho ERP s rozhraním ČSSZ VREP, takže mohu poradit. Řešili jsme nejenom e-neschopenku, ale i všechna další podání (ELDP, ZZVDPN20 a další), abychom již mohli odstřihnout software třetích stran. Tady se musím ČSSZ zastat, ačkoliv se státními úřady v oblasti IT nemáme nejlepší zkušenosti, tak v tomto případě bylo vše perfektně popsané a stačí úplně k naprogramování tyto dokumenty:

https://www.cssz.cz/documents/20143/181606/csszpodavacidotazovaciprotokol20110608.pdf/c48bf534-22d9-501d-62e9-62ca567e04b3
(jedná se o obecný popis komunikace s ČSSZ VREP i datové schránky, kde je perfektně popsána webová služba a komunikace s ní, struktura XML, GovTalkMessage, CSSZMessage a další; jsou tam i příklady pro programátory, které jsou 100 procentně funkční, osobně vyzkoušeno)

https://www.cssz.cz/documents/20143/99425/eNeschopenka_-_Popis_rozhrani_pro_zamestnavatele_1-2.pdf/53264ff1-f344-03e2-eec1-f7adf915db0e
(tam jsou další informace k e-neschopence)

Pro další podání, nejenom e-neschopenku, má ČSSZ v sekci pro vývojáře vždy XSD schémata a většinou i PDF s dalším podrobným popisem.

Jak použít webovou službu tedy doporučuji přečíst hlavně ten první dokument a tam je vše potřebné popsáno, další informace již opravdu netřeba. Úplně na konci v tom dokumentu jsou odkazy na jednotlivé webové služby.

Stručně řečeno je potřeba postupovat takto: vytvořit obecnou obálku GovTalkMessage, v ní pak CSSZMessage a v ní pak konkrétní XML pro konkrétní podání (DZDPN20 je pro e-neschopenku). Podání DZDPN20 pak musí obsahovat ještě na rozdíl od ostatních veřejnou část šifrovacího certifikátu, kterou použije ČSSZ v odpovědi. Směrem k nim se to zase šifruje jejich certifikátem, který je ke stažení na jejich stránkách. Dále je potřeba ještě podepsat podpisovým certifikátem.

Doporučuji nejprve odladit na jejich testovacím rozhraní. To má adresu https://t-epodani.cssz.cz/VREP/ws/public.svc

Osobně mám zkušenost, že vše se díky jejich dokumentaci podařilo téměř na první dobrou, jediné, co jsem musel více řešit, ale to není věc ČSSZ, tak že naši klienti mají certifikáty porůznu - někdo nainstalované v úložišti, někdo v souboru, někdo používá čipovou kartu a podobně, k zadání PINu používají virtuální klávesnice a různé další vymoženosti. Takže možná spíše se při programování budete potýkat s tímto než se samotným napojením na ČSSZ VREP. Ale vše se nakonec zvládlo bez větších zákysů.

Tak snad budou tyto informace k užitku. Zatím nemáme ani hlášené nějaké větší problémy s rozhraním ČSSZ VREP, jak proběhlo v tisku, to jsme moc nezaznamenali. Asi si to už odladili. Ze začátku tam měli podle mě problém s množstvím přístupů, co jim to po 1. lednu asi zahltilo webové rozhraní.

Offline MartinOVA

  • Nováček
  • *
  • Příspěvků: 2
  • Karma: 0
Re:eNeschopenka
« Odpověď #2 kdy: 15-01-2020, 15:19:07 »
Díky za informace. Zdroje jsem přečetl, posunulo mě to dál.

Sestavil jsem vstupní xml DZDPN20:
<?xml version="1.0"?>
-<DZDPN xmlns="http://schemas.cssz.cz/nem/DZDPN20" verze="2020.0">
<Zamestnavatel>123456</Zamestnavatel>
-<IntervalNotifikaci>
<DatumOd>2020-01-01</DatumOd>
<DatumDo>2020-01-15</DatumDo>
</IntervalNotifikaci>
<SifrovaciCertifikat/>
</DZDPN>

A vím že musím xml data:
1) komprimovat GZIP
2) přidat šifrovací certifikát
3) převést na Base64
4) zabalit do obálky GovTalk
5) zavolat web. službu APEP, přes metody IBusinessTransactions

Ale nevím jak. , jaké použít metody.
Používám Delphi 10 Professional, bez dalších komponent.