Skip to content

Receipt registration

Juraj Málach edited this page Jul 13, 2021 · 4 revisions

Registrácia dokladu

Čo znamená Registrácia dokladu?

Pod pojmom registrácia dokladu sa rozumie proces, kedy Aplikácia tretej strany odošle do systému eKasa Cloud informácie o doklade s cieľom vyhotoviť pokladničný doklad.

Systém eKasa cloud spoločne s koncovým zariadením takúto požiadavku spracuje vykonaním nasledovných činností:

  • overí požiadavku z aplikácie tretej strany
    • autorizácia požiadavky
    • validácia údajov (overenie matematických náležitosti, prítomnosť povinných parametrov, iné pravidlá alebo podmienky)
  • eKasa Cloud prepošle informácie o požiadavke do cieľového zariadenia
  • cieľové zariadenie vyhotoví pokladničný doklad v niektorej z podporovaných foriem:
    • papierový doklad
    • elektronický doklad vo forme PDF súboru uloženého na koncovom zariadení
    • elektronický doklad vo forme e-mailu
  • systém eKasa Cloud vráti aplikácii tretej strany všetky relevantné informácie súvisiace s výsledkom registrácie dokladu.

Ako registrovať doklad

Volaním metódy registerReceipt, ktorá je k dispozícii v klientskej knižnici.

Pre viac informácii prosím pozrite dokumentáciu ku konkrétnej klientskej knižnici, ktorú používate.

Fázy registrácie dokladu

Proces registrácie dokladu môže nadobúdať viaceré fázy, ktoré sú reprezentované stavmi registrácie dokladu.

Následnosť a vzájomný vzťah týchto stavov ilustruje stavový diagram zobrazený nižšie.

registration state diagram

Označenie Popis
Created Požiadavka na zaevidovanie dokladu alebo polohy bola vytvorená na základe žiadosti aplikácie tretej strany.
Notified Koncové zariadenie bolo upovedomené o novej požiadavke na zaevidovanie dokladu alebo polohy. Prípadné prijatie alebo zamietnutie ďalšieho spracovania tejto požiadavky zo strany koncového zariadenia ešte nie je známe.
Expired Spracovanie požiadavky na zaevidovanie dokladu alebo polohy bolo zrušené z dôvodu vypršania časového limitu. Koncové zariadenie sa nepodarilo kontaktovať v stanovenom časovom limite. Akciu je možné zo strany aplikácie tretj strany zopakovať opakovaným vyvolaním požiadavky na registráciu dokladu.
Accepted Požiadavka na zaevidovanie dokladu alebo polohy bola prijatá koncovým zariadením. Koncové zariadenie eviduje požiadavku a bude ju ďalej spracovávať. Týmto stavom zaniká možnosť prípadného zrušenia registrácie dokladu zo strany nadradenej aplikácie.
Canceled Spracovanie požiadavky bolo zrušené aplikáciou tretej strany. Proces registrácie dokladu sa pred zrušením nachádzal v stave CREATED alebo EXPIRED.
TimedOut Požiadavka na zaevidovanie dokladu alebo polohy vypršala. Koncové zariadenie túto požiadavku nestihlo vybaviť v deklarovanom alebo určenom časovom intervale. Akciu je možné zo strany aplikácie tretj strany zopakovať opakovaným vyvolaním požiadavky na registráciu dokladu.
Rejected Požiadavka na zaevidovanie dokladu alebo polohy bolo zamietnutá koncovým zariadením. Pravdepodobne neboli splnené niektoré náležitosti dokladu. Požiadavka obsahuje nesprávne údaje a opakované vyvolanie požiadavky na registráciu dokladu sa odporúča iba po zmene zasielaných údajov.
Processed Požiadavka na zaevidovanie dokladu alebo polohy bola úspešne vybavená a doklad bol vyhotovený v online režime.
ProcessedOffline Požiadavka na zaevidovanie dokladu alebo polohy bola vybavená a doklad bol vytlačený v off-line režime.
ProcessFailed Požiadavka na zaevidovanie dokladu alebo polohy zlyhala z dôvodov na strane koncového zariadenia.
Failed Stav, ktorý popisuje akékoľvek iné zlyhanie v procese vybavenia požiadavky.

V stavovom diagrame zobrazenom vyššie nie je uvedený stav FAILED. Ide o špeciálny stav, ktorý môže nastať pri chybovej udalosti predovšetkým na strane eKasa Cloud serveru.

Prerušenie procesu registrácie dokladu

Ak vznikne situácia, kedy po vyvolaní požiadavky na zaregistrovanie dokladu viac nie je žiadúce, aby sa doklad vyhotovil, aplikácia tretej strany môže spracovanie požiadavky dodatočne zrušiť.

Prerušenie procesu registrácie dokladu je však možné iba v prípade, ak registrácia dokladu je v stave CREATED alebo EXPIRED.

Ak je registrácia dokladu v pokročilejšej fáze (označenej stavmi NOTIFIED, REJECTED, ACCEPTED, a inými) pokus o zrušenie požiadavky skončí neúspešne, teda zamietavým stanoviskom zo strany eKasa Cloud servera.

Ako prerušiť proces registrácie dokladu?

Zrušenie sa vykonáva pomocou volania metódy cancelReceipt, ktorá je k dispozícii v klientskej knižnici.

Pre viac informácii prosím pozrite dokumentáciu ku konkrétnej klientskej knižnici, ktorú používate.

Opakovanie procesu registrácie dokladu

Kedy má aplikácia tretej strany opakovať proes registrácie dokladu?

Ak počas procesu registrácie dokladu nastane niektorá zo situácii, kedy môže opakovanie procesu registrácie dokladu viesť k úspešnému vyhotoveniu dokladu, je vhodné, aby nadradená aplikácia zareagovala vyvolaním opakovanej registrácie dokladu.

Koncové zariadenie nie je dostupné

Ak koncové zariadenie v stanovenom časovom úseku nedokáže prebrať požiadavku z eKasa Cloud serveru, proces registrácie dokladu skončí v stave Expired.

Nakoľko stanovený časový úsek uplynul, systém eKasa cloud nebude viac iniciovať kroky na vybavenie požiadavky.

Za predpokladu, že výpadok spojenia medzi koncovým zariadením a serverom eKasa Cloud je krátkodobý jav a aplikácia tretej strany trvá na vyhotovení dokladu, je vhodné proces regustrácie dokladu zopakovať iniciovaním novej požiadavky aplikáciou tretej strany.

Prerušené spojenie s aplikáciou tretej strany

Ak sa počas vykonávania požiadavky iniciovanej aplikáciou tretej strany preruší spojenie medzi aplikáciou tretej strany a systémom eKasa cloud, vybavenie požiadavky pokračuje naďalej v réžii systému eKasa cloud s cieľom získať výsledok transakcie z koncového zariadenia.

Od aplikácie tretej strany sa očakáva, že bude požiadavku opakovať, aby získala finálny výsledok transakcie.

Ak opakovaná požiadavka (po zlyhaní spojenia nadviazaného počas prvej požiadavky) od aplikácie tretej strany príde počas realizácie prvej požiadavky, teda počas komunikácie s koncovým zariadením, na výsledok tejto operácie sa bude čakať a po obdržaní výsledku zo strany koncového zariadenia a vráti výsledok volajúcej aplikácii tretej strany.

V prípade, že medzičasom (medzi prvou požiadavkou a opakovanou požiadavkou) bude získaný výsledok registrácie z koncového zariadenia, tento výsledok sa v systéme eKasa Cloud uchová. Ak opakovaná požiadavka od aplikácie tretej strany príde až po ukončení komunikácie s koncovým zariadením, bude aplikácii tretej strany ihneď vrátený výsledok registrácie.

Ako zopakovať proces registrácie dokladu?

Volaním rovnakej metódy, ako pri pôvodnej registrácii dokladu (metóda registerReceipt, ktorá je k dispozícii v klientskej knižnici).

Opakovaná požiadavka by mala obsahovať rovnaký unikátny identifikátor, generovaný aplikáciou tretej strany, ako pôvodná (prvá) požiadavka.

Clone this wiki locally