-
Notifications
You must be signed in to change notification settings - Fork 0
Receipt registration
- Čo znamená Registrácia dokladu?
- Fázy registrácie dokladu
- Prerušenie registrácie dokladu
- Opakovanie procesu registrácie 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 koncového zariadenia
-
koncové 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.
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.
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.

| Označenie | Popis |
|---|---|
Created |
Požiadavka na zaevidovanie dokladu bola vytvorená na základe žiadosti aplikácie tretej strany. |
Notified |
Koncové zariadenie bolo upovedomené o novej požiadavke na zaevidovanie dokladu. 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 bolo zrušené z dôvodu vypršania časového limitu, pretože koncovému zariadeniu sa nepodarilo podať požiadavku na registráciu dokladu v stanovenom časovom limite. Akciu je možné zo strany aplikácie tretej strany zopakovať opakovaným vyvolaním požiadavky na registráciu dokladu. |
Accepted |
Požiadavka na zaevidovanie dokladu 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 aplikácie tretej strany. |
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 vypršala. Koncové zariadenie túto požiadavku nestihlo vybaviť v určenom časovom intervale. Akciu je možné zo strany aplikácie tretej strany zopakovať opakovaným vyvolaním požiadavky na registráciu dokladu. |
Rejected |
Požiadavka na zaevidovanie dokladu bola odmietnutá koncovým zariadením. Informácie o dôvodu zamietnutia sa nachádzajú v odpovedi (vlastnosť rejectionReason). |
Processed |
Požiadavka na zaevidovanie dokladu bola úspešne vybavená a doklad bol vyhotovený v online režime. |
ProcessedOffline |
Požiadavka na zaevidovanie dokladu bola vybavená a doklad bol vytlačený v off-line režime, nakoľko koncové zariadenie nemalo v čase vyhotovenia dokladu sieťové spojenie so serverom finančnej správy. |
ProcessFailed |
Požiadavka na zaevidovanie dokladu zlyhala, pretože eKasa server finančnej správy odmietol jej spracovanie. 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/oprave zasielaných údajov. |
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 stav, ktorý môže nastať pri chybovej udalosti predovšetkým na strane eKasa Cloud serveru.
Ak sa požiadavka nachádza v stave Created, Notified alebo Accepted, systém ekasa Cloud alebo koncové zariadenie na jej vybavovaní aktívne pracujú. V prípade, ak sa požiadavka nachádza v ostatných stavoch, nie je vykonávaná žiadna ďalšia činnosť pre zmenu stavu požiadavky.
V stavoch Expired, Rejected, TimedOut, Canceled alebo Failed je možné vyvolanie opakovania procesu registrácie aplikáciou tretej strany.
Naopak, stavy Processed, ProcessedOffline a ProcessFailed sa považujú za finálne, kedy je známy vysledok registrácie dokladu na koncovom zariadení. Prípadne opakované pokusy o registráciu eKasa Cloud vybaví tak, že zopakuje výsledok predošlej registrácie tohto 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.
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.
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 aplikácia tretej strany zareagovala vyvolaním opakovanej registrácie dokladu.
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 registrácie dokladu zopakovať iniciovaním novej požiadavky 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.
Volaním rovnakej metódy s rovnakými parametrami, ako pri pôvodnej registrácii dokladu (metóda registerReceipt, ktorá je k dispozícii v klientskej knižnici).
Opakovaná požiadavka musí obsahovať identický doklad, ako doklad v pôvodnej (prvej) požiadavke. Identickým sa myslí úplná zhoda všetkých vlastností dokladu.
eKasa Cloud Wiki © Nine Digit, s.r.o. Have a suggestion? Need help? Contact us or raise an issue.