Digitální a informační agentura (DIA) s nástupem druhé vlny povinnosti přijímat eDoklady zveřejnila nástroje pro jejich čtení. Nad rámec základní funkcionality samotné aplikace eDoklady je může použít libovolná právnická nebo fyzická osoba.
V dnešním článku se podíváme na možnosti, jak eDoklady číst zejména z pohledu osob a organizací, které nejsou orgány veřejné moci. Nebudeme duplikovat dokumentaci publikovanou DIA, chceme jen shrnout možnosti a ukázat, že číst eDoklad je snadné, pokud budete chtít.
eDoklad je možné číst několika způsoby, které poskytují různé možnosti interakce a práce s daty. Zásadní je, že eDoklad vždy čte konkrétní osoba, která musí být registrována jako ověřovatel eDokladu a držiteli eDokladu je identita této osoby zobrazována v průběhu čtení.
Vstupní bránou pro ověřovatele je web eDoklady, kde je sekce věnovaná právě ověřovatelům a vstup do webové aplikace Čtečka eDokladu a do webové aplikace Správa ověřovatelů.
Jednotlivé odkazy z webové stránky eDokladu vás provedou popisem ověřování podle zvolené technologie mobilní aplikace nebo webové čtečky. Trochu skrytá je varianta využití API.
Odkaz pro stažení technické dokumentace API najdete na spodní straně stránky pod návěstím „Technické standardy a protokoly“. Obsahuje integrační příručku a OpenAPI specifikaci integračních rozhraní. Součástí podpory pro vývoj ověřovací aplikace s využitím API je také sandbox (adresy v integrační příručce), kde si můžete své API integrace ladit.
Pro přístup k vývojářskému sandboxu je nutné použít testovací datovou schránku. Testovací datovou schránku si můžete zřídit ze své produkční datové schránky (viz obrázek níže). V sandboxu končí všechna ověření automaticky úspěšně a vrací jednu sadu údajů.

Zřízení testovací datovky v prostředí produkčních datových stránek
Možnosti jednotlivých způsobů ověřování eDokladu se liší. Odlišnosti jsou shrnuté v následující tabulce:
Nástroj | Použití online | Použití offline | Předání dat | Potřeba certifikátu | Dostupné pro osoby | Správa uživatelů |
Mobilní aplikace | ano | ano | Clipboard po jedné položce, export do PDF | ne | FO, FOP, PO | ano |
Webová čtečka | ano | ne | Clipboard po jedné položce, export do PDF, JSON, CBOR | ne | FOP, PO | ano |
API | ano | ne | API JSON | ano | FOP, PO | API |
Mobilní aplikace
Mobilní aplikace může fungovat ve dvou režimech:
Režim fyzické osoby, kdy držitel eDokladu je také ověřovatelem eDokladu jiných osob. V tomto případě přímo v aplikaci použije ověřovací funkcionalitu dostupnou na obrazovce profilu, musí odsouhlasit, že je registrován jako ověřovatel eDokladu, a může cizí doklady načítat.
Režim FOP/PO, kdy se organizace registruje v portálu ověřovatelů pomocí své datové schránky a konkrétní instanci mobilní aplikace registruje v aplikaci Správa ověřovatelů dostupné na webu eDoklady. Při ověřování pak mobilní aplikace používá identitu této organizace a zařízení se personalizuje pomocí párovacího kódu nebo pomocí přihlášení lokálního uživatele vytvořeného v aplikaci Správa ověřovatelů.
Pomocí mobilní aplikace ověřujete primárně v offline režimu, kdy se data přenášejí přímo mezi telefony pomocí Bluetooth.
Webová čtečka
Pomocí webové čtečky je možné ověřovat eDoklad v režimu online. Připojená k internetu musí být obě zařízení, která se ověřování účastní. Webová aplikace pracuje s pojmem přepážka (eDoklad je určen pouze pro prezenční ověření). Do aplikace se přihlásíte typicky datovou schránkou (funguje jen schránka FOP a PO) a po přihlášení datovkou se stáváte správci ověřování pro danou osobu (fyzickou podnikající nebo právnickou).
Jako správce můžete přidávat nové přepážky, nebo si některou přepážku vybrat a zahájit ověřování. Pro spuštění ověření na přepážce musíte vygenerovat a ověřovanému umožnit naskenovat QR kód, kterým je daná přepážka identifikována. QR kód má omezenou platnost (cca měsíc).

Výsledek ověření věku ve webové čtečce – všechny údaje jsou pouze ke kontrole

Výsledek ověření ve webové čtečce – všechny údaje jsou označeny ke zpracování a je možné je exportovat nebo kopírovat
Sady údajů a zpracování dat
V obou aplikacích je možné spravovat sady údajů, které chcete ověřením eDokladu získat. Sada údajů by měla odpovídat účelu zpracování. Když definujete sadu údajů, volíte nejprve položky, které chcete z eDokladu přečíst, tzv. údaje pro ověření. Tyto údaje budou v aplikaci pouze zobrazeny. Z této sady pak můžete vybrat podmnožinu položek, které chcete také zpracovávat (ukládat). Hotové nastavení sady údajů pojmenujete a uložíte. Ve webové čtečce je možné definovat sady údajů pro celou organizaci, které vidí všichni ověřovatelé organizace, nebo si sadu může pro sebe definovat ověřovatel.
Abyste mohli delegovat ověřování např. na své zaměstnance, je možné v rámci vaší organizace vytvořit lokální uživatelské účty. Účty se spravují v aplikaci Správa ověřovatelů. Pro zavedení uživatele potřebujete jméno, příjmení a e-mailovou adresu, kam je odeslána pozvánka. Uživatel dokončí založení účtu prostřednictvím odkazu zaslaného na e-mail, zvolí heslo a může ověřovat jménem organizace pomocí webové čtečky eDokladu. Stejný účet může použít pro přihlášení do mobilní aplikace. Takto přidaný uživatel může být buď běžný ověřovatel, nebo správce, který může spravovat přepážky a další uživatele.
Údaje pro ověření jsou vám aplikacemi pouze zobrazeny a není možnost je z aplikace získat. Pokud je údaj v množině údajů pro zpracování, existuje několik možností, jak údaj z aplikace získat.
V obou aplikacích (mobilní i webové) můžete údaje ke zpracování exportovat ve formě PDF reportu a uložit. V obou aplikacích můžete také údaje určené ke zpracování jeden po druhém nabrat do clipboardu a přenést do jiné aplikace. Ve webové aplikaci je kromě exportu do PDF možný také export ve formátu JSON (ukládá se jako text do clipboardu) nebo je možné stáhnout originální CBOR reprezentaci předaných údajů, která je vybavena ověřitelným digitálním podpisem.
Integrace pomocí API
Výše uvedené metody a aplikace jsou k dispozici od DIA a není potřeba žádného vývoje, stačí nastavit a spustit. Možnosti integrací jsou ale omezené/žádné. Pokud byste chtěli integrovat ověřování eDokladu do existujícího systému, máte k dispozici integrační API.
API je dostupné ve dvou variantách vždy pouze pro online ověření. Pomocí jedné je možné používat pro ověřování webovou čtečku s tím, že výsledek ověření je dostupný ve strojově čitelné formě na API. Jedním požadavkem založíte ověřovací proces a redirectem spustíte webovou čtečku, která po dokončení pomocí redirectu umožní backendu získat výsledek ověření.
Druhá možnost poskytuje plnohodnotné REST API pro vytvoření vlastní online čtečky eDokladu, a to včetně správy (virtuálních) přepážek a generování QR kódů pro přepážky pomocí API. Takto můžete integrovat ověřování eDokladu do své aplikace bez nutnosti používat státní frontendy.
V obou případech budete pro volání API potřebovat komerční serverový certifikát vydaný pro vaši organizaci (IČ) některou ze tří certifikačních autorit, které API akceptuje (I.CA, Postsignum, eIdentity). Cena certifikátu se u všech poskytovatelů pohybuje kolem 800 Kč/rok. Certifikát musíte nahrát do systému pomocí aplikace Správa ověřovatelů a pro volání API je pak vyžadována mTLS klientská autentizace s využitím tohoto certifikátu.
Při využití API nemusíte definovat žádné sady údajů předem. Přímo v požadavku na zahájení ověřování si můžete stanovit výčet údajů, které si přejete z eDokladu získat. Pro ověření musíte využít jednu z virtuálních přepážek, které se vytváří rovněž pomocí API. Ke každé přepážce pak vytvoříte data QR kódu. Renderování QR kódu musíte zajistit vlastními silami. QR kód zobrazíte uživateli eDokladu a uživatel provede ověření. Pomocí API můžete sledovat stav ověřování a po úspěšném dokončení lze pomocí API získat výsledek ve formě JSON struktury.
Prezenčně, nebo i na dálku?
eDoklad je primárně určen a zákonem uznáván pouze pro prezenční ověření totožnosti. Pomocí API je však s trochou snahy možné data z eDokladu vyčíst i vzdáleně. Systém není pro toto použití navržen a je možné, že při takovémto užití narazíte na nedokumentované limity API zejména při současném přístupu více uživatelů, kdy je nutné dynamicky spravovat virtuální přepážky tak, aby na jedné přepážce v jednom okamžiku probíhalo právě jedno ověřování.
Omezení je rovněž dané tím, že pro „dálkové“ vyčtení dokladu musí ověřovaný uživatel mít dvě zařízení, protože v aplikaci eDoklad není možné ověřování spustit jinak než načtením QR kódu pomocí fotoaparátu mobilu. Ale pokud uživatel spustí vaši aplikaci na desktopu nebo na jednom zařízení, tak může na dálku předat údaje z eDokladu z druhého zařízení, kterým načte přepážkový QR kód.
Pokud se dokážete s uvedenými omezeními vyrovnat, budete schopni na dálku přečíst obsah eDokladu a data, která získáte, budou mít vysokou míru spolehlivosti, protože je získáte z důvěryhodného rozhraní API eDokladů, které je vyčte z mobilní aplikace eDoklad a ověří původ údajů.