-
Notifications
You must be signed in to change notification settings - Fork 0
Receipt registration
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.
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 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.
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 nadradená aplikácia 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 regustrá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, 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.
eKasa Cloud Wiki © Nine Digit, s.r.o. Have a suggestion? Need help? Contact us or raise an issue.