| Dokumendiregister | Registrite ja Infosüsteemide Keskus |
| Viit | 2/51-25 |
| Registreeritud | 18.12.2025 |
| Sünkroonitud | 19.12.2025 |
| Liik | Leping |
| Funktsioon | 4 Finantseerimine ja raamatupidamise arvestus |
| Sari | 4-3 Lepingud juriidiliste isikutega, aktid |
| Toimik | 4-3-1/2025 |
| Juurdepääsupiirang | Avalik |
| Juurdepääsupiirang | |
| Adressaat | |
| Saabumis/saatmisviis | |
| Vastutaja | Teele Nässi (Registrite ja Infosüsteemide Keskus, Õigusteenuse tiim) |
| Originaal | Ava uues aknas |
Arendusleping nr 2/51-25
Arenduslepingu eritingimused
Tallinnas
Võttes arvesse perioodi 2021–2027 Euroopa Liidu ühtekuuluvus- ja siseturvalisuspoliitika fondide meetme “Digiriik“ projekti „Kasutajakeskse Ametlike teadaannete süsteemi loomine“, mille kohaselt on vastava projekti elluviija Justiitsministeerium ja partner Registrite ja Infosüsteemide Keskus:
Registrite ja Infosüsteemide Keskus, (registrikoodiga 70000310) asukohaga Lubja 4, 19081 Tallinn, mida esindab põhimääruse alusel direktor Rivo Reitmann, edaspidi Tellija,
ja
Osaühing Inversion Software, (registrikoodiga 10827700) asukohaga Kaluri tee 8-25, 74001 Haabneeme alevik, Viimsi vald, mida esindab põhikirja alusel juhatuse liige Indrek Järve, edaspidi Täitja,
keda nimetatakse edaspidi pool või koos pooled, sõlmisid käesoleva arenduslepingu (edaspidi nimetatud Leping) alljärgnevas:
1. Lepingu sõlmimise alus ja ese
1.1. Kooskõlas riigihanke „Ametlike Teadaannete arendustööd“ (viitenumber 275407) tulemusel sõlmitud raamlepinguga nr 2/28-24 teostab Täitja Lepingu lisas 3 kirjeldatud tööd ning täidab kõik muud Lepingust tulenevad kohustused (edaspidi ka Töö).
1.2. Pooled kinnitavad, et teevad kõik enesest oleneva, et täita lepingu eesmärgid käesolevas lepingus, seonduvates õigusaktides ning Perioodi 2021–2027 Euroopa Liidu ühtekuuluvus- ja siseturvalisuspoliitika fondide rakendamise seaduses, Vabariigi Valitsuse määruses „Perioodi 2021–2027 Euroopa Liidu ühtekuuluvus- ja siseturvalisuspoliitika fondide rakenduskavade vahendite andmise ja kasutamise üldised tingimused“ ja juhtrühma otsustes sätestatud tingimustel ja mahus.
2. Hind ja maksetingimused
2.1. Lepingu hind on 38 720 eurot (netosumma), arvestusega, et arendustööde tunnihind on 44 eurot (netosumma). Lepingu hinnale lisandub käibemaks.
2.2. Leping on 100% ulatuses rahastatud välisvahenditest. Muutes lepingut riigihangete seaduse § 123 alusel täpsustatakse rahastuse allikas lepingu muudatuses.
2.3. Tellija tasub lepingu alusel teostatud tööde eest lepingu üldtingimustes sätestatud korras.
3. Lepingu jõustumine ja Töö teostamise tähtaeg
3.1 Leping jõustub allkirjastamise hetkest ja kehtib kuni lepingujärgsete kohustuste nõuetekohase täitmiseni.
3.2 Töö teostamise tähtaeg on 15.05.2026.
4. Lepingu dokumendid
4.1 Lepingu dokumendid koosnevad Lepingu tekstist, Lepingu lisadest, mis on lisatud Lepingu allkirjastamisel ja lisadest, millistes võidakse kokku leppida pärast Lepingu allkirjastamist.
Lepingu allkirjastamisel on Lepingu lisad järgmised:
4.1.1 Arenduslepingu üldtingimused Lisa nr 1;
4.1.2 Personal ja kontaktandmed Lisa nr 2;
4.1.3 Tehniline kirjeldus Lisa nr 3;
4.1.4 Pakkumus Lisa nr 4;
4.2 Kui Lepingu dokumendid on oma sisult vastuolulised ja/või nendes antud informatsioon erinevalt tõlgendatav, siis dokumentide pädevusjärjekord (ülimuslik lepingu dokument on nimetatud eespool allolevas loetelus) on järgmine:
4.2.1 Eritingimused;
4.2.2 Arenduslepingu üldtingimused;
4.2.3 Tehniline kirjeldus;
4.2.4 Muud riigihanke alusdokumendid;
4.2.5 Pakkumus.
Käesoleva Lepingu allakirjutamisega tõendavad pooled, et on tutvunud ja on nõus Lepinguga ja selle lisadega ning mõistavad täielikult enesele võetavate kohustuste sisu ning nende tagajärgi.
Tellija: Täitja:
/ allkirjastatud digitaalselt /
/ allkirjastatud digitaalselt /
Rivo Reitmann Indrek Järve
Direktor
Registrite ja Infosüsteemide Keskus
Juhatuse liige
Osaühing Inversion Software
Arendusleping nr 2/51-25
Lisa nr 1
ARENDUSLEPINGU ÜLDTINGIMUSED
Kui eritingimustes on sätestatud teisiti kui üldtingimustes, siis kehtib eritingimustes toodu.
1. Definitsioonid
Järgnevad definitsioonid laienevad nii lepingule kui ka selle osaks olevatele dokumentidele.
1.1 Tarkvara
Tarkvara tähendab põhiliselt arvutiprogramme, telekommunikatsioone, andmebaasi-, rakendus- ja muud tarkvara objektikoodis, lähtekoodis või nende mistahes muid vorme või adaptsioone koos sellega seonduva dokumentatsiooniga. Spetsiaalselt Tellijale tema funktsioonide täitmiseks loodud tarkvara käsitletakse lepingu raames spetsiaaltarkvarana.
1.2 Seadmed
Seadmed tähendavad lepingus kirjeldatud tooteid, hõlmates nendega otseselt seotud tarkvara, mis on vajalik seadmete funktsioneerimiseks.
1.3 Telekommunikatsioonid
Telekommunikatsioonid tähendavad sisemise ja välise telekommunikatsiooni seadmeid, tarkvara ja teenuseid ning vajalikke vahendeid, teenuseid ja protseduure.
1.4 Asukoht
Asukoht tähendab kohta või kohti, välja arvatud Täitja asukoht, kuhu seadmeid, telekommunikatsioone või tarkvara tarnitakse või installeeritakse või teenuseid osutatakse (nt Tellija test- arendus-ja toodangukeskkond).
1.5 Puudus ja viga
Puuduse või veaga on tegemist juhul, kui seade, telekommunikatsioon või tarkvara ei täida lepingus sätestatud funktsioone, annab valesid tulemusi, kui tema nõuetekohane toimimine katkeb või on (muul viisil) häiritud, nii et seadme, telekommunikatsiooni või tarkvara otstarbekohane kasutamine on takistatud või oluliselt häiritud. Vigu liigitatakse järgnevalt:
1.5.1 Kriitiline/Blocker – viga, mille tõttu süsteemi tervikuna või mistahes süsteemi osa ei ole võimalik kasutada ja/või see piirab sama süsteemi mistahes teise osa kasutamist.
1.5.2 Kõrge – viga, mille tõttu pole võimalik mingit süsteemi osa kasutada, kuid see ei sega mõne teist sama süsteemi osa kasutamast.
1.5.3 Keskmine – viga, mille tõttu süsteemi või selle süsteemi mõnda osa on võimalik kasutada piirangutega ja/või kasutajad peavad tegema mitte ettenähtud tegevusi eesmärgi saavutamiseks (nt. funktsionaalsus lubab vigadega toiminguid lõpetada).
1.5.4 Madal – viga, mille tõttu süsteemis esineb kõrvalekaldeid ettenähtust, kuid üldprotsessi need ei häiri või häirivad vähesel määral.
1.5.5 Väheoluline - viga, mille tõttu otseseid kõrvalekaldeid ei teki kuid vajavad muutmist/parandamist.
1.6 Hooldus
Hooldus tähendab töid, mis tagavad seadmete, telekommunikatsioonide ja tarkvara (kaasa arvatud nende juurde kuuluvate andmete ja andmebaaside) toimivuse (korrasoleku, terviklikkuse, jõudluse jms). Hooldus sisaldab kaugtuge, vigade ennetamist ja parandamist, uute redaktsioonide ja versioonide ning nendega seotud dokumentatsiooni üleandmist. Samuti hõlmab hooldus lepingus sätestatud tingimustel seadmete, telekommunikatsioonide ja tarkvara kohandamist Tellija vajadustele, eeldusel, et see ei nõua olulist ümberprogrammeerimist ega uue toote loomist.
1.7 Toodangukeskkond
Reaalseks andmevahetuseks mõeldud keskkond, mis ei ole test- või arenduskeskkond.
2. Hind
2.1 Lepingu hind sisaldab kõiki tolli- ja muid makse, kaasa arvatud käibemaks. Lepingu eritingimustes märgitakse lepingu hind käibemaksuta (netosummas).
2.2 Lepingu hind väljendatakse eurodes.
2.3 Lepingu hind on Täitja ainuke tasu seoses lepinguga ja Täitja ise ega tema töötajad ei võta päevarahasid, kaudset tasu ega muud lepingus toodud kohustustega seotud tasu. Samuti ei ole Täitjal ega tema töötajal õigust täiendavale autori- või muule sarnasele tasule seoses lepingu täitmisel kasutatud patenteeritud või muul viisil kaitstud eseme või protsessiga.
3. Maksmine
3.1 Täitja esitab Tellijale arve masinloetaval kujul e-arvena. Arve esitamise õigus tekib Täitjal pärast Töö vastuvõtmist Tellija poolt.
3.2 Arve peab sisaldama vähemalt alljärgnevaid andmeid:
3.2.1 info arve esitaja kohta;
3.2.2 info maksja kohta;
3.2.3 viide Lepingule;
3.2.4 käibemaksukohustuslase number;
3.2.5 vastuvõetud Töö nimetus ja kirjeldus;
3.2.6 käibemaks;
3.2.7 kogusumma;
3.3 Tellija tasub Lepingu hinna Täitja poolt esitatud arvel märgitud kuupäevaks. Maksetähtaeg ei tohi olla lühem kui 30 kalendripäeva, va juhul kui hankija on nimetatut pakkumuse esitamise ettepanekus ette näinud.
3.4 Ettemakseid Tellija ei teosta.
3.5 Lõpparve maksmine eeldab Täitja kõigi Lepingu järgsete kohustuste täitmist ning Tellija poolt vastuvõtmist.
3.6 Tellijal on õigus Lepingu rikkumise korral arvestatud leppetrahvid ja kahju hüvitised maha arvata Lepingu alusel Täitjale tasumisele kuuluvatest summadest.
3.7 Tellija poolt makstud mistahes summa, mis ületab Täitjale Lepingus ettenähtu, maksab Täitja Tellijale tagasi 30 kalendripäeva jooksul pärast vastava teate saamist.
3.8 Lepingujärgse hinna tasumisega viivitamisel on Täitjal õigus nõuda viivist iga maksmisega viivitatud kalendripäeva eest 0,15 (null koma viisteist) % maksmata summast päevas.
4. Informatsioon ja aruanded
4.1. Täitja loetakse asukohaga ja lepingu tingimustega tutvunuks. Eelkõige ei rahuldata Täitja nõuet lisamakseteks või ajapikenduseks, kui ta oleks saanud vajaliku informatsiooni hankida visiidiga asukohta, konsulteerides Tellijaga või muul sobilikul viisil.
4.2. Tellija varustab Täitjat tema käsutuses oleva mistahes informatsiooni ja dokumentatsiooniga, mis võib olla lepingu täitmisel oluline, niipea kui võimalik, kuid mitte hiljem kui 2 tööpäeva jooksul vastava nõude saamisest.
4.3. Tellija abistab Täitjat niipalju kui võimalik lepingusse puutuva informatsiooni saamisel, mida Täitja mõistlikkuse piirides lepingu täitmiseks nõuab.
4.4. Täitja annab Tellijale niipea kui võimalik, kuid mitte hiljem kui 2 tööpäeva jooksul vastava nõude saamisest, lepingu täitmist (sealhulgas seadmeid, telekommunikatsioone, tarkvara, projekti kulgemist ja teenuseid) puudutavat informatsiooni.
4.5. Täitja kohustub vastavalt perioodi 2021–2027 Euroopa Liidu ühtekuuluvus- ja siseturvalisuspoliitika fondide rakendamise seaduse § 25 lg-le 3 esitama kontrollija nõudel projektiga seotud teavet ja dokumente, mis on vajalikud seaduse § 23 lõikes 1 nimetatud asjaolude kontrollimiseks.
5. Teated ja kirjavahetus
5.1. Pooltevaheline suhtlus toimub selleks otstarbeks määratud poolte kontaktandmetel ja aadressidel. Pooled on kohustatud kontaktandmete ja aadresside muutusest teineteist teavitama viivitamatult, aga mitte hiljem kui 2 tööpäeva jooksul.
5.2. Kui teisele poolele edastatav teade eeldab vastust, tuleb vastata viivitamatult, kuid mitte hiljem kui 2 tööpäeva jooksul.
5.3. Pooltevahelised Lepinguga seotud teated peavad olema kirjalikku taasesitamist võimaldavas vormis, välja arvatud juhtudel, kui teated on informatsioonilise iseloomuga, mille edastamisel teisele poolele ei ole õiguslikke tagajärgi. Teade loetakse kättesaaduks, kui:
5.3.1. teade on üle antud allkirja vastu;
5.3.2. teade on edastatud tähitud kirjana poole postiaadressil ja teate postitamisest on möödunud 5 (viis) kalendripäeva;
5.3.3. e-posti või telefoni teel on teade edastatud Lepingus märgitud kontaktisikule või esindajale.
6. Asukoht
6.1. Täitja peab andma lepingutäitmise käigus piisavalt informatsiooni korrektselt kirjalikku taasesitamist võimaldavas vormis koostatud kasutusjuhendi näol, et võimaldada Tellijal asukoht lepingujärgsete kohustuste täitmiseks kohaselt ette valmistada. Juhend peab olema antud sellise sisendiga, et objektiivselt keskmise võimekusega programmeerija oleks suuteline asukoha Töö vastuvõtmiseks vajalike testide teostamiseks ette valmistada. Juhend peab olema esitatud piisava ajavaruga selleks, et Tellijal oleks võimalik Töö üleandmisel alustada koheselt vastuvõtmiseks vajalike testide teostamist. Juhul, kui Töö üleandmise hetkeks ei ole juhendit edastatud või kui edastamisest hoolimata ei ole Tellija asukohta ette valmistada jõudnud, algab Töö vastuvõtmiseks ette nähtud tähtaeg kulgema pärast asukoha ette valmistamist. Kui Täitja ei ole ette näinud erilisi keskkonnatingimusi, võib Tellija eeldada, et neid ei nõuta.
6.2. Tellija teeb vastavad ettevalmistused ja loob tingimused omal kulul.
6.3. Kui Tellija ettevalmistused või loodud tingimused ei vasta lepingus sätestatule, esitab Täitja viivitamatult puuduste loetelu. Kui Tellija ei muuda olukorda selliselt, et Täitjal oleks võimalik ajagraafikust kinni pidada, on Täitjal õigus saada lepingujärgsete kohustuste täitmiseks vajalikku ajapikendust.
6.4. Täitjal on õigus taotleda juurdepääsu asukohale Tellija tavalisel tööajal.
6.5. Täitja kulud, mis on seotud lepingus sätestatud juurdepääsupiirangutega ja turvaprotseduuridega, sisalduvad Lepingu hinnas ning neid ei hüvitata.
6.6. Tellija võib igal ajal lepingu kehtivuse vältel muuta või kehtestada juurdepääsupiiranguid ja turvaprotseduure. Kui Täitja tõendab, et selline muudatuste tegemine või piirangute või protseduuride kehtestamine põhjustas lisakulusid, on tal õigus nende hüvitamisele.
7. Lepingu muutmine
7.1. Lepingut võib muuta poolte kirjalikul kokkuleppel. Muudatused jõustuvad pärast nende allkirjastamist mõlema poole poolt või poolte poolt määratud tähtajal. Kirjaliku vormi mittejärgimisel on muudatused tühised.
7.2. Riigihangete seaduse § 123 lg 1 p 1 kirjeldatud muudatused lepitakse kokku Tellija ja Täitja esindajate poolt kirjalikku taasesitamist võimaldavas vormis.
8. Poolte õiguskaitsevahendid
8.1. Lepingu see peatükk fikseerib Lepingu olulised rikkumised, menetluse rikkumisest teatamisel ning Poolte vastutuse. See peatükk ei välista ega piira Poole õigust kasutada muude Lepingu rikkumiste korral muid õigusaktidest tulenevaid õiguskaitsevahendeid, samuti kasutada täiendavaid õiguskaitsevahendeid lisaks selles peatükis kokkulepitule.
8.2. Lepingust või seadusest tuleneva õiguse või õiguskaitsevahendi mittekasutamine või selle kasutamisega viivitamine ei tähenda nimetatud õigusest või õiguskaitsevahendist või muudest õigustest või õiguskaitsevahenditest loobumist. Lepinguga seotud mis tahes loobumised on kehtivad ainult siis, kui need on selgesõnaliselt ja kirjalikult väljendatud.
8.3. Pooled vastutavad Lepinguga võetud kohustuste täitmata jätmise või mittekohase täitmise eest Eesti Vabariigi õigusaktides ning Lepingus ettenähtud korras.
8.4. Oluliseks lepingurikkumiseks loetakse muu hulgas järgmisi rikkumisi:
8.4.1. Pool ei täida mis tahes Lepingust tulenevat kohustust teise Poole poolt Lepingust tuleneva vastava kohustuse täitmiseks antud täiendava tähtaja jooksul;
8.4.2. Täitja ei täida garantiiperioodil Lepingust tulenevaid kohustusi;
8.4.3. Täitja ei ole esitanud Tellijale Asukoha keskkonnatingimusi, millest tulenevalt on häiritud Tellija seadmete, telekommunikatsioonide või tarkvara kohane funktsioneerimine ning mistõttu Tellija kaotab Täitja Lepingu järgsete kohustuste täitmise vastu huvi;
8.4.4. Täitja rikkus kohustust tahtlikult või raske hooletuse tõttu;
8.4.5. Täitja rikub Personaliga seonduvaid tingimusi;
8.4.6. Poolel või tema poolt kaasatud kolmandal isikul puuduvad Lepingu täitmiseks vajalikud õigused (sealhulgas load, litsentsid, Intellektuaalse omandi õigused);
8.4.7. Täitja suhtes on algatatud pankrotimenetlus, pankrot on välja kuulutatud, Täitja varad arestitakse või Täitja finantsseisund halveneb Tellija põhjendatud hinnangul oluliselt ja see halvenemine muudab vähetõenäoliseks Lepingu nõuetekohase täitmise;
8.4.8. Pool on rikkunud Intellektuaalse omandi õigusi ja nende kasutamise tingimusi;
8.4.9. Pool on rikkunud konfidentsiaalsuskohustust ja/või isikuandmete töötlemisega seonduvaid kohustusi;
8.4.10. Pool on rikkunud avalikustamise keelu kohustust;
8.4.11. Pool on rikkunud kolmandate isikutega seonduvaid kohustusi;
8.4.12. Tellija on viivituses Lepingus kokku lepitud maksetähtajaga rohkem kui kolmkümmend (30) kalendripäeva;
8.5. Poolel on õigus nõuda Lepingu olulise rikkumise korral leppetrahvi tasumist kuni 30% Lepingu hinnast iga vastava juhtumi korral. Juhul, kui leppetrahvi nõue on seotud Töö etapi puuduliku teostamisega ja puudus ei sea ohtu lepingujärgse Töö tervikuna nõuetekohast üleandmist ei tohi leppetrahvi nõue ületada 30% teostatud või töös oleva etapi maksumusest.
8.6. Poolte rahaline koguvastutus on piiratud Lepingu maksumusega, välja arvatud juhul, kui Pool rikkus kohustust tahtlikult või raske hooletuse tõttu.
8.7. Pool peab teavitama teist Poolt leppetrahvi nõudest mõistliku aja jooksul arvates ajast, mil ta sai teada leppetrahvi nõudmise õiguse tekkimisest. Leppetrahvi nõude esitamisel on Pool kohustatud märkima mõistliku tähtaja leppetrahvi tasumiseks, tähtaeg ei tohi olla lühem kui 30 kalendripäeva. Pool on kohustatud leppetrahvi tasuma nõudes märgitud tähtaja jooksul. Kui Poole hinnangul on leppetrahvi nõue alusetu, on Pool kohustatud esitama oma vastuväited enne leppetrahvi tasumise tähtaega. Leppetrahvi nõudmine ei mõjuta Poole õigust nõuda Poolelt nõuetekohase Töö või selle osa teostamist ning kahju hüvitamist või kasutada muid seadusest tulenevaid õiguskaitsevahendeid. Tellija käsitleb kahjuna ka projekti „Kasutajakeskse Ametlike teadaannete süsteemi loomine“ rakendamiseks antud toetuse tagasimakse hüvitamist olukorras, mil tagasimakse on tingitud Täitja tegevusest/ tegevusetusest.
8.8. Lisaks leppetrahvi nõudele ja / või leppetrahvi asemel on Tellijal õigus nõuda Täitjalt Lepingu mittenõuetekohasel täitmisel, et:
8.8.1. Täitja kõrvaldaks puudused, sealhulgas nõuda, et Täitja hangiks parema teenuse osutamiseks vajalikud lisa- või asendusseadmed, -telekommunikatsioonid, -tarkvara ja teenused;
8.8.2. oluliste puuduste, samuti puuduste kõrvaldamise ebaõnnestumise korral nõuda, et Täitja teeks uue Töö ja tarniks uued seadmed, telekommunikatsioonid ja tarkvara või keelduda vastuvõtmisest ning Leping lõpetada;
8.8.3. võtta Täitja pakutud Töö vastu ning alandada vastavalt hinda;
8.9. Lepingust tulenevate leppetrahvide maksmine, samuti tekitatud kahju hüvitamine, ei vabasta Lepingut rikkunud poolt Lepingujärgsete kohustuste täitmisest.
9. Standardid, liidesed ja ühilduvus
9.1. Täitja lepingujärgsete kohustuste täitmine ei tohi tekitada häireid Tellija mistahes teiste liidestatud süsteemide talitluses.
9.2. Täitja garanteerib, et kõik seadmed, telekommunikatsioonid, tarkvara ja teenused on vastastikku ühilduvad, funktsioneerivad ja töötavad standardite ja/või liideste vahendusel rahuldavalt koos mistahes teiste lepingus sätestatud seadmete, telekommunikatsioonide, tarkvara ja teenustega ning lepingus sätestatud keskkonnas.
9.3. Täitja ei muuda ilma Tellija eelneva kirjaliku nõusolekuta mistahes standardeid, liideseid, sideprotokolle jms.
10. Dokumentatsioon
10.1. Lepingu täitmisel kaasneva dokumentatsiooni loomisel toetutakse dokumentatsiooniplaanile.
10.2. Täitja varustab Tellijat piisava ja adekvaatse dokumentatsiooniga, kaasa arvatud informatsioon seadmete, telekommunikatsioonide ja tarkvara projekteerimise ja funktsioneerimise kohta, mis on vajalik, et Tellija saaks seadmeid, telekommunikatsioone, tarkvara ja teenuseid efektiivselt kasutada, hooldada, kohandada ja neile lisaseadmeid lisada.
10.3. Kõik juhendid ja muud dokumendid esitatakse eesti keeles, kui ei ole kokku lepitud teisiti.
10.4. Dokumentatsioon peab vastama tootele, sisaldama muudatusi ja olema terminoloogiliselt üheselt mõistetav.
10.5. Dokumentide valmistamiseks ja levitamiseks kasutatakse paberkandjat või elektroonilist infokandjat.
11. Üleandmine ja vastuvõtmine
11.1. Töö või Töö etapi valmimise järgselt annab Täitja selle Tellijale üle vastuvõtmiseks.
11.2. Täitja peab Tellijat Töö või Töö etapi üle andmise viivitusest või viivitusse sattumise ohust ja põhjustest koheselt kirjalikku taasesitamist võimaldavas vormis informeerima. Kui Täitja viivituse põhjustab Tellija, on Täitjal õigus nõuda mõistlikku ajapikendust ja põhjendatud lisakulude hüvitamist.
11.3. Töö või Töö etapi üleandmise kohta koostab Täitja üleandmise akti, milles näidatakse muuhulgas ära üleandmise kuupäev, teostatud Töö, osutatud teenuste, hoolduse ja tarnitud seadmete, telekommunikatsioonide ja tarkvara detailiseeritud nimekiri ning vajaduse korral neis esinevad puudused. Iga Töö etapi üleandmisel koostab ja esitab Täitja antud etapi kohta koostatud dokumentatsiooni, vastavalt dokumentatsiooniplaanile või Tellija poolt tehnilises kirjelduses esitatud nõudmistele.
11.4. Töö või Töö etapi üleandmine Tellijale ei ole käsitatav selle vastuvõtmisena Tellija poolt.
11.5. Täitjal on õigus nõuda ja Tellijal kohustus Töö vatsu võtta kui Töös on Täitja poolt kõrvaldatud kõik järgmise prioriteediga vead: kriitiline/blocker, kõrge ja keskmine. Taolisel juhul lasub Täitjal kohustus vaegtöödena madala ja väheolulise tähtsusega vead parandada Töö vastuvõtmise aktis toodud ajaperioodiks.
11.6. Pärast Töö etapi üleandmist on Tellijal õigus Töö üle vaadata 10 tööpäeva jooksul. Pärast Töö üleandmist on Tellijal õigus Töö üle vaadata 20 tööpäeva jooksul.
11.7. Juhul, kui Tellija leiab, et Töö ei vasta Lepingu tingimustele, on Tellija kohustatud teavitama Täitjat Töös avastatud puudustest, keeldumisest Tööd enne puuduste kõrvaldamist vastu võtta ja kirjeldama Töö puudused. Täitja on kohustatud puudused kõrvaldama 5 tööpäeva jooksul, kui pooled ei ole kokku leppinud mõnda muud tähtaega. Töö puuduste kõrvaldamise kulud kannab Täitja.
11.8. Enne töö üleandmist viib Täitja Töö nõuetelevastavuse kindlakstegemiseks läbi testid.
11.9. Täitja esitab Tellijale kõik tema poolt läbiviidud testide tulemusena valminud dokumentide koopiad.
11.10. Enne töö vastuvõtmist viib Tellija Töö nõuetelevastavuse kindlakstegemiseks läbi testid.
11.11. Kui Töö või mistahes Töö osa ei läbi teste, viiakse otsekohe pärast seda, kui Täitja on teinud vajalikud korrektuurid testide edukaks läbiviimiseks, läbi kordustestid samadel tingimustel.
11.12. Tellija nõudmisel viib kordustestid läbi Täitja.
11.13. Parandatud Töö üleandmine toimub nagu esmakordsel üleandmiselgi.
11.14. Puudustega üle antud Tööd ei loeta tähtaegselt üleantuks ning Tellijal on õigus nõuda sellise lepingurikkumise korral Täitjalt leppetrahvi Lepingus sätestatud korras ja määrades või rakendada muid õiguskaitsevahendeid.
11.15. Vastuvõtmiseks valmis Töö peab vastama Lepingus sätestatud tingimustele. Töö etapi vastuvõtmine Tellija poolt ei tingi ega kohusta Töö kui terviku vastuvõtmist Tellija poolt juhul, kui Töö ei vasta tingimustele. Töö vastuvõtmise kohta koostab Tellija vastuvõtuakti, milles näidatakse muuhulgas ära vastuvõtmise kuupäev, teostatud Töö, osutatud teenuste, hoolduse ja tarnitud seadmete, telekommunikatsioonide ja tarkvara detailiseeritud nimekiri.
11.16. Töö või Töö etapp loetakse vastuvõetuks vastuvõtuakti allkirjastamisest või toodangukeskkonnas kasutusele võtmisest. Juhul, kui Tellija on võtnud puuduseid sisaldava Töö või Töö etapi toodangukeskkonnas kasutusele, loetakse vastuvõetuks ainult nõuetekohaselt teostatud tööd ja Täitjal on õigus nimetatute osas esitada arve. Taolises olukorras esitab Tellija Täitjale Töös või Töö etapis esinevate puuduste nimekirja ning puuduste kõrvaldamise tähtaja, kas enne Töö või Töö etapi toodangukeskkonnas kasutusele võtmist või vahetult pärast selle toimumist.
11.17. Mistahes seadmete, telekommunikatsioonide, tarkvara ja teenuste osa valmimisel võib Tellija anda välja vastuvõtuakti vastava osa kohta. Selline vastuvõtmine ei mõjuta Täitja kohustust täita kõiki Lepingus ettenähtud kohustusi.
11.18. Täitja vastutab Töö juhusliku hävimise või kahjustumise eest kuni Töö vastuvõtmiseni Tellija poolt.
11.19. Täitja kohustub Tellija juhendamisel märgistama Töö enne selle üleandmist vastavalt õigusaktides kehtestatud nõuetele (Vabariigi Valitsuse 12.05.2022. a määrus nr 54 „Perioodi 2021–2027 ühtekuuluvus- ja siseturvalisuspoliitika fondide vahendite andmisest avalikkuse teavitamine“).
11.20. Tellija kinnitab, et ta on teadlik asjaolust, et projekti „Kasutajakeskse Ametlike teadaannete süsteemi loomine“ rakendamiseks antud toetuse saamiseks peab Töö vastuvõtmine olema fikseeritud vastuvõtmisaktis ning kinnitatud juhtrühma poolt.
12. Koolitus
12.1. Täitja tagab Tellija personalile adekvaatse väljaõppe, kindlustamaks seadmete, telekommunikatsioonide, tarkvara ja teenuste rahuldava ja efektiivse toimimise, vastavalt Lepingus kokkulepitule.
12.2. Koolituse toimumise aeg, koht ja maht kooskõlastatakse eelnevalt Tellija kontaktisikuga.
13. Garantii
13.1. Täitja annab Tööle 6 (kuue) kuulise töövõtugarantii. Garantiiperiood algab Tööde kogumina vastuvõtmisest.
13.2. Garantiiperioodil ilmnevad puudused kõrvaldab Täitja omal kulul, v.a punktis 13.6 toodud juhtumitel. Kui ilmnenud puudused ei ole garantii korras kõrvaldatavad, esitab Täitja Tellijale põhjendused kirjalikku taasesitamist võimaldavas vormis, kuid mitte hiljem kui järgmisel tööpäeval pärast sellest asjaolust teada saamist.
13.3. Kui ei ole kokku lepitud teisiti, toimub garantiiliste puuduste üleandmine ja vastuvõtmine Lepingu punktis 10 toodud regulatsiooni kohaselt.
13.4. Juhul kui garantiiperioodil ilmnenud puudused muudavad osa või kõik seadmed, telekommunikatsioonid ja/või tarkvara kasutamiskõlbmatuks, varustab Täitja Tellijat nõutud tasemel toimimise garanteerivate lisa- või asendusosade ja muu vajalikuga omal kulul.
13.5. Tellija informeerib Täitjat puuduse iseloomust ja ulatusest otsekohe selle ilmnemisel. Täitja on kohustatud eemaldama ilmnenud puudused vastavalt lepingus toodule või Tellija poolt määratud ajal.
13.6. Garantiiga ei ole hõlmatud:
13.6.1. puudused, mille tekkimise eest vastutab Tellija;
13.6.2. diagnostikaks kulunud aeg, juhul kui algselt garantii juhtumine registreeritud juhtumi raames tuvastatakse, et tegu ei ole garantiilise juhtumiga. Vastav töö kuulub eraldi tasustamisele Lepingu tunnihinna alusel.
13.7. Garantii kaotab kehtivuse kui Täitjaga kooskõlastamata on muudetud või muudetakse lähtekoodi, v.a juhul kui Tellija suudab eristada lähtekoodis tehtavaid muudatusi.
14. Load ja litsentsid
14.1. Täitja vastutab ainuisikuliselt lepingu täitmiseks vajalike lubade ja litsentside saamise eest. Tellija teeb Täitjaga mõistliku koostööd, hoidmaks ära selliste lubade või litsentside väljaandmise asjatut viivitamist või väljaandmisest keeldumist.
14.2. Tellija võib ilma ette teatamata lepingu lõpetada, kui Täitja ei saa lepingu täitmiseks vajalikku luba või litsentsi.
14.3. Täitja garanteerib, et tal on õigus anda Tellijale lepingu objektiks oleva tarkvara ja teiste autori- või muude sarnaste õigustega kaitstavate esemete kasutamisõigus.
14.4. Täitja garanteerib, et nimetatud kasutusõiguse üleandmisega ei rikuta kolmandate isikute õigusi. Juhul kui kolmas isik esitab oma õiguste rikkumise tõttu Tellija vastu hagi ning see rahuldatakse, tasub Täitja võimalikud kahjuhüvitusnõuded, samuti õigusabikulud ja muud seonduvad kulud.
15. Riski üleminek
15.1. Juhusliku hävimise või kahjustumise risk läheb Tellijale üle töö vastuvõtmisel, samuti hetkel, mil Tellija satub viivitusse toimingu tegemisega, millega ta töö üleandmisele peab kaasa aitama.
16. Intellektuaalne vara
16.1. Lepingu allkirjastamisega kinnitab Täitja Tellijale, et talle kuuluvad Lepingu täitmiseks vajalikud varalised autoriõigused, litsentsid ja muud intellektuaalse omandi õigused, mis on tarvilikud Lepingu järgse Töö täielikuks teostamiseks ja loovutamiseks ning, et nende suhtes ei ole kolmandatel isikutel nõudeid.
16.2. Täitja kinnitab, et ta on võtnud tarvitusele kõik meetmed autori isiklike õiguste realiseerimiseks viisil, mis ei takista ega raskenda teose kasutamist ja autori varaliste õiguste teostamist Tellija poolt.
16.3. Täitja annab spetsiaaltarkvarale Euroopa Liidu tarkvara vaba kasutuse litsentsi v.1.1 (EUPL). Juhul, kui Töö üleandmine toimub etapiviisiliselt, siis loetakse litsents antuks iga etapi (teose) vastuvõtmisel Tellija poolt.
16.4. Tellijal on muuhulgas õigus spetsiaaltarkvara (teose) autoriõiguste kehtivusaja jooksul:
16.4.1. teost kasutada mis tahes eesmärgil ja mis tahes viisil;
16.4.2. teost reprodutseerida;
16.4.3. originaalteost muuta ja luua teosel põhinevaid tuletatud teoseid;
16.4.4. teost või selle koopiaid üldsusele edastada, sealhulgas neid kättesaadavaks teha või eksponeerida, samuti avalikult esitada;
16.4.5. teost või selle koopiaid levitada;
16.4.6. teost või selle koopiaid laenutada ja rentida;
16.4.7. anda all-litsentse teose või selle koopiate suhtes kehtivate õiguste kohta.
16.5. Täitja annab Tellijale spetsiaaltarkvara lähtekoodi, täitmiskoodi ja dokumentatsiooni kujul, mis võimaldab Tellijal sellest aru saada.
16.6. Tellija võib levitada lähtekoodi ja täitmiskoodi ning dokumentatsiooni ja selle muudatusi mistahes kolmandatele isikutele ja asutustele.
16.7. Kõik Täitja poolt Lepingu täitmise käigus koostatud dokumendid ja andmed kuuluvad Tellijale. Täitja annab kõik nimetatud dokumendid ja andmed Tellijale üle.
16.8. Tellija võib spetsiaaltarkvara autoriõigusi teostada mistahes olemasolevas või hiljem loodud keskkonnas, toel või formaadis.
16.9. Täitja tagab, et tema töötajad on loobunud Eesti seadusega lubatud ulatuses oma õigusest teostada isiklikke õigusi, et Tellijale oleks võimalik vajalikke varalisi õigusi litsentsida.
16.10. Lepingujärgse tarkvarasüsteemi loomiseks kolmandatele isikutele kuuluvate komponentide (tarkvara) kasutamise osas juhinduvad Pooled nende kasutamise litsentsitingimustest. Täitja kinnitab, et eelistab tarkvara loomisel selliseid kolmandatele isikutele kuuluvaid komponente, mille kasutamisega ei kaasne täiendavaid litsentsitasusid ega piiranguid tarkvara kasutamisel või alllitsentside andmisel. Täitja on kohustatud Tellijat teavitama juhul, kui Täitja plaanib tarkvara loomisel kasutada selliseid kolmandatele isikutele kuuluvaid komponente, mille kasutamine toob
Tellijale kaasa täiendavaid litsentsitasusid või piiranguid tarkvara kasutamisel. Ilma Tellija kirjaliku nõusolekuta ei tohi Täitja tarkvara loomisel nimetatud komponente kasutada.
16.11. Nimetatud õigused kehtivad kogu autoriõiguste kehtivuse aja ja nende kehtivuse territooriumiks on kogu maailm.
17 Personal
17.1 Lepingus kirjeldatud teenuseid osutavad Lepingus nimetatud isikud vastavalt Lepingus sätestatud ülesannetele. Muudatusi tohib teha vaid Tellija kirjalikku taasesitamist võimaldavas vormis antud nõusolekul.
17.2 Täitja asendab Töid teostava isiku viivitamatult Lepingu objekti täitmise seisukohast võrdväärse kvalifikatsiooni ja kogemustega ning Tellijale vastuvõetava isikuga, kui:
17.2.1 Töid teostav isik ei ole võimeline teenuste osutamist jätkama haiguse, õnnetusjuhtumi või muu temast tuleneva põhjuse tõttu;
17.2.2 lepingus nimetatud Töid teostav isik osutub Tellija põhjendatud arvamuse kohaselt lepingujärgsete ülesannete täitmiseks ebakompetentseks või ebasobivaks või kui tema lepingujärgsete ülesannete täitmine pidevalt kahjustab lepingu korrektset ja õigeaegset täitmist.
17.2.3 Isikul on kuriteo toimepanemise eest määratud kehtiv karistus.
17.3 Täitja kannab kõik punktis 17.2 nimetatud asendusest tulenevad või sellega kaasnevad kulud.
17.4 Töid teostavatel isikutel ei tohi olla kuriteo toimepanemise eest määratud kehtivat karistust.
17.5 Töid teostavad isikud ei tohi olla Tellija töötajad ega Tellija töötajaga seotud juriidilised isikud. Seotud juriidiline isik tähendab käesoleva lepingu mõistes juriidilist isikut, mille juhtumis- või kontrollorgani liige Tellija töötaja on või juriidiline isik, milles vähemalt 1/10 osalusest kuulub Tellija töötajale.
18 Kolmandad isikud
18.1 Pooled võivad loovutada lepingust tulenevaid rahalisi nõudeid kolmandatele isikutele. Pooled on kohustatud teineteist nõude loovutamisest viivitamatult kirjalikult informeerima.
18.2 Pooled ei või oma lepingujärgseid kohustusi anda üle kolmandale isikule ega kaasata oma lepingujärgsete kohustuste täitmiseks kolmandat isikut ilma teise poole sellekohase selgesõnalise kirjaliku nõusolekuta.Tellijal on õigus edastada või suunata Täitja poolt esitatud arve tasumisele Tellijast erinevale hankijale nendevahelise koostöökokkuleppest tuleneval alusel juhul kui vastavasisuline teavitus on Tellija poolt pakkumuse esitamise ettepanekus kajastatud.
18.3 Pooled vastutavad kõigi isikute eest, keda nad kasutavad oma lepingujärgsete kohustuste täitmisel.
19 Auditeerimine
19.1 Mõlemal poolel on õigus kaasata auditeerimiseks sõltumatu audiitor.Audiitori kaasamiseks ei ole vajalik teise poole luba.
19.2 Audiitori isik ja muu auditeerimisega seotud asjaolud sätestatakse eraldi kokkuleppes. Auditeerimise käigus avastatud probleemid tuleb registreerida ja vajaduse korral sisestada probleemide lahendamise protsessi.
19.3 Täitja peab täpset arvet lepingu täitmisel töötatud kalendripäevade ja –kuude kompenseerimisele kuuluvate kulude kohta. Audiitorile võimaldatakse piiramatu ligipääs nimetatud andmetele.
19.4 Audiitorit kaasanud pool tagab, et audiitor käsitleb saadud informatsiooni konfidentsiaalsena. Vastutus jääb audiitorit kaasanud poolele.
19.5 Pärast andmete auditeerimist ja kontrollimist teeb audiitor järeldusotsuse, mis on lõplik.
19.6 Auditi kulud kannab auditi tellinud pool.
20 Õigustest loobumine
20.1 Kummagi poole mistahes viivitus, hoolimatus või keeldumine teist poolt lepingutingimuste täitmise nõudmisel või muude nõuete esitamisel ei kujuta endast selle poole mistahes lepingujärgsetest õigustest loobumist või nende tühistamist.
21 Konfidentsiaalsus ja isikuandmed
21.1 Täitja ei või oma lepingujärgseid kohustusi anda üle kolmandale isikule ega kaasata oma lepingujärgsete kohustuste täitmiseks kolmandat isikut ilma Tellija sellekohase selgesõnalise kirjaliku nõusolekuta.
21.2 Täitja on kohustatud:
21.2.1 tagama lepingu täitmise käigus Tellijalt ükskõik mis vormis saadud teabe (andmed, tehingudokumentatsioonis ja lepingutes sisalduvad Tellija esindajate isikuandmed, know-how) konfidentsiaalsuse ning ei edasta ega võimalda sellele teabele juurdepääsu kolmandale isikule ilma Tellija sellekohase selgesõnalise kirjaliku nõusolekuta;
21.2.2 tagama lepingueelsete läbirääkimiste, lepingujärgsete kohustuste ja lepingu täitmise käigus ükskõik mis vormis teatavaks saanud isikuandmete (v.a. tehingudokumentatsioonis ja lepingutes sisalduvate Tellija esindajate isikuandmete) konfidentsiaalsuse ning ei edasta ega võimalda nendele juurdepääsu ühelegi kolmandale isikule ilma Tellija sellekohase selgesõnalise kirjaliku nõusolekuta;
21.2.3 ei edasta punktis 21.2.2 nimetatud isikuandmeid väljapoole Euroopa Liidu liikmesriikide ja Euroopa Majandusühendusse kuuluvate riikide territooriumit ilma tellija sellekohase selgesõnalise kirjaliku nõusolekuta;
21.2.4 kasutama ja töötlema punktis 21.2.2. nimetatud isikuandmeid üksnes Lepingu täitmiseks ja Tellija dokumenteeritud juhiste alusel, välja arvatud juhul, kui täitja on kohustatud teavet töötlema täitja suhtes kohalduva õiguse alusel. Viimati nimetatud juhul teavitab Täitja Tellijat vastava kohustuse olemasolust enne teabe töötlemist, kui selline teavitamine ei ole olulise avaliku huvi tõttu Täitja suhtes kohalduva õigusega keelatud;
21.2.5 võimaldab juurdepääsu punktis 21.2.2. nimetatud isikuandmetele ainult nendele isikutele, kellel on selleks oma tööülesannete täitmiseks vajadus ning tagab, et need isikud on teadlikud ning järgivad isikuandmete töötlemisalaseid nõudeid ja õigusakte, nad on saanud asjakohase koolituse eelmainitud nõuete kohta, on võtnud endale konfidentsiaalsuskohustuse või neile kehtib asjakohane seadusest tulenev konfidentsiaalsuskohustus. Vastav konfidentsiaalsuskohustus jääb kehtima pärast käesoleva Lepingu lõppemist;
21.2.6 kohustub täitma kõiki kehtivaid isikuandmete töötlemisalaseid nõudeid, andmete turvalisust puudutavaid ning isikuandmete kaitse alaseid Euroopa Liidu ja Eesti Vabariigi õigusakte ja muid eeskirju.
21.2.7 kohustub rakendama järgmisi organisatsioonilisi, füüsilisi ja infotehnilisi turvameetmeid punktis 21.2.2. nimetatud isikuandmete kaitseks juhusliku või tahtliku volitamata muutmise; juhusliku hävimise ja tahtliku hävitamise eest ning õigustatud isikule andmete kättesaadavuse takistamise eest, volitamata töötlemise s.h. avalikustamise eest:
a) vältima kõrvaliste isikute ligipääsu isikuandmete töötlemiseks kasutatavatele seadmetele;
b) ära hoidma andmete omavolilist lugemist, kopeerimist ja muutmist andmetöötlussüsteemis, samuti andmekandjate omavolilist teisaldamist;
c) ära hoidma isikuandmete omavolilist salvestamist, muutmist ja kustutamist ning tagama, et tagantjärele oleks võimalik kindlaks teha, millal, kelle poolt ja milliseid isikuandmeid salvestati, muudeti või kustutati või millal, kelle poolt ja millistele isikuandmetele andmetöötlussüsteemis juurdepääs saadi;
d) tagama, et igal andmetöötlussüsteemi kasutajal oleks juurdepääs ainult temale töötlemiseks lubatud isikuandmetele ja temale lubatud andmetöötluseks;
e) tagama andmete olemasolu isikuandmete edastamise kohta: millal, kellele ja millised isikuandmed edastati, samuti selliste andmete muutusteta säilimise;
f) tagama, et isikuandmete edastamisel andmesidevahenditega ja andmekandjate transportimisel ei toimuks isikuandmete omavolilist lugemist, kopeerimist, muutmist või kustutamist;
g) pidama arvestust isikuandmete töötlemisel kasutatavate tema kontrolli all olevate seadmete ja tarkvara üle, dokumenteerides järgmised andmed:
i. seadme nimetus, tüüp ja asukoht ning seadme valmistaja nimi;
ii. tarkvara nimetus, versioon, valmistaja nimi ja kontaktandmed.
21.2.8 teavitama tellijat toimunud või põhjendatult kahtlustatavast käesoleva lepingu punktis 21.2.1 ja/või 21.2.2 sätestatud konfidentsiaalsuskohustuse rikkumisest; punktis 21.2.7. ja selle alapunktides a-g sätestatud turvameetmete rikkumisest, mis põhjustab, on põhjustanud või võib põhjustada edastatavate, salvestatud või muul viisil töödeldavate isikuandmete juhusliku või ebaseadusliku hävitamise, kaotsimineku, muutmise või loata avalikustamise või neile juurdepääsu, kirjalikult viivitamata aga mitte hiljem kui kakskümmend neli (24) tundi pärast sellest teada saamist. Teates tuleb vähemalt:
a) kirjeldada (Isikuandmetega seotud) rikkumise laadi, sealhulgas puudutatud andmesubjektide liike ja arvu ning puudutatud kirjete liike ja arvu;
b) teatada andmekaitse töötaja ja tema kontaktandmed või muu kontaktpunkt, kust saab lisateavet;
c) soovitada meetmeid (Isikuandmetega seotud) rikkumise võimalike negatiivsete mõjude leevendamiseks;
d) kirjeldada (Isikuandmetega seotud) rikkumise tõttu andmesubjektidele tekkivaid tagajärgi ja potentsiaalseid ohte;
e) kirjeldada täitja/või kolmandast isikust alltöötleja poolt välja pakutud või võetud meetmeid (Isikuandmetega seotud) rikkumisega tegelemiseks ja
f) esitada muud teavet, mis on mõistlikult nõutav, et Tellija saaks täita Kohaldatavaid andmekaitse õigusakte, sealhulgas riigiasutustega seotud teavitamise ja avaldamise kohustusi, näiteks teavet, mis on nõutav andmesubjekti tuvastamiseks.
21.2.9 Tellija eelnevalt kirjalikul heakskiidul lõpetama käesoleva lepingu punktis 21.2.8.nimetatud rikkumise ning kohaldama meetmeid (isikuandmetega seotud) rikkumise lahendamiseks, sealhulgas vajaduse korral rikkumise võimaliku kahjuliku mõju kõrvaldamiseks ja leevendamiseks;
21.2.10 kohustub lepingu lõppemisel kustutama kõik punktis 21.2.2. nimetatud isikuandmed ja nimetatute koopiad 30 päeva jooksul, v.a juhul, kui õigusaktidest tuleneb teisiti;
21.2.11 teeb Tellijale kättesaadavaks kogu teabe, mida Tellija peab vajalikuks lepingus sätestatud kohustuste täitmise tõendamiseks;
21.2.12 võimaldab Tellijal või Tellija poolt volitatud audiitoril teha auditeid ja kontrolle ning panustab nendesse;
21.2.13 kohustub võimaluse piires asjakohaste tehniliste ja korralduslike meetmete abil punktis 21.2.2. nimetatud isikuandmete osas Tellijal täita Tellija kohustust vastata taotlustele andmesubjekti õiguste teostamiseks ning teostada nende õiguste teostamisest tulenevaid toiminguid (andmete parandamine, sulgemine, kustutamine).
21.3 Käesoleva lepingu punktis 21.2.1. sätestatud konfidentsiaalsuse nõue ei laiene informatsiooni avaldamisele täitja audiitorile ja advokaadile.
21.4 Käesoleva lepingu punktides 21.2.1. ja 21.2.2. sätestatud konfidentsiaalsuskohustuse nõue on tähtajatu ning kehtib nii lepingu täitmise ajal kui ka pärast lepingu lõppemist.
21.5 Tulenevalt konfidentsiaalse informatsiooni laadist on tellijal õigus seada täiendavaid nõuded ja/või juhised isikuandmete töötlemiseks.
21.6 Kõik käesoleva lepingu punktides 21.2.1. – 21.4 kohustused kehtestab täitja kõikidele kolmandatele isikutele, keda ta kasutab oma lepingujärgsete kohustuste täitmisel. Kolmas isik on füüsiline või juriidiline isik või riigi- või kohaliku omavalitsuse asutus, kes ei ole ei tellija ega ka täitja.
22 Avalikud suhted
22.1 Pooled ei tegele seoses lepinguga avalike suhetega ega anna teateid pressile, elektroonilisele meediale, üldsusele või teistele auditooriumidele, välja arvatud teise poole eelneval kirjalikul nõusolekul. Avaldada võib vaid teateid, mis on teise poolega eelnevalt kooskõlastatud.
22.2 Kõik eelnimetatud kohustused kehtestab pool ka kõigile kolmandatele isikutele, keda ta kasutab oma lepingujärgsete kohustuste täitmisel.
23 Lepingu täitmise peatamine ja lepingu lõpetamine
23.1 Tellija võib peatada Täitjale lepingujärgselt makstavate summade maksmise kas osaliselt või täielikult, kui:
23.1.1 Täitja ei täida Lepingut;
23.1.2 vastuvõtmise, testimise või auditeerimise käigus avastatakse puudusi või muid Täitja poolseid kohustuste rikkumisi;
23.1.3 Tellija Lepingu järgsete kohustuste õigeaegset ja korrektset täitmist segab või ähvardab segada muu asjaolu, mille eest vastutab Täitja.
23.2 Täitja võib peatada Tellijale teenuse osutamise kas osaliselt või täielikult, kui:
23.2.1 Tellija ei täida Lepingut;
23.2.2 Täitja Lepingu järgsete kohustuste õigeaegset ja korrektset täitmist segab või ähvardab segada muu asjaolu, mille eest vastutab Tellija.
23.3 Tellija võib igal ajal Lepingu üles öelda, teatades sellest 1 (üks) kuu ette. Sellisel juhul on Täitjal õigus nõuda tasu täidetud kohustuste eest.
23.4 Tellijal on õigus Leping erakorraliselt etteteatamata lõpetada Täitjapoolse olulise Lepingu rikkumise korral. Lepingu lõpetamisel punktides 8.4 nimetatud juhtudel Täitja tehtud Tööd ei tasustata. Täitja poolt tarnitud seadmed, telekommunikatsioonid ja tarkvara tagastatakse, selle võimatuse korral või muul juhul, kui tagastamine on saadu olemuse tõttu välistatud, makstakse hüvitust võlaõigusseaduses sätestatud korras.
23.5 Täitja võib Lepingu üles öelda Tellijapoolse olulise Lepingu rikkumise korral pärast vastava hoiatuse saatmist, kui rikkumist ei ole kõrvaldatud 10 (kümne) tööpäeva jooksul peale hoiatuse esitamist. Sellise Lepingu lõpetamise korral maksab Tellija Täitjale tasu täidetud kohustuste eest.
23.6 Lepingu lõppemisel on Täitja kohustatud Tellijale tagastama kõik Lepingu täitmiseks üleantu.
24 Vääramatu jõud
24.1 Lepingust tulenevate kohustuste mittetäitmist või mittenõuetekohast täitmist ei loeta Lepingu rikkumiseks, kui selle põhjuseks oli vääramatu jõud. Vääramatu jõuna käsitlevad pooled võlaõigusseaduse §-s 103 lg 2 nimetatud asjaolusid.
24.2 Pool, kelle tegevus lepingujärgsete kohustuste täitmisel on takistatud vääramatu jõu asjaolude tõttu, on kohustatud sellest koheselt kirjalikult teatama teisele Poolele, esitades teavitusega ühes tõendid kõigi järgnevate asjaolude esinemise kohta:
24.2.1 takistava asjaolu esinemine, mis takistab kohustuse kohast täitmist;
24.2.2 takistava asjaolu asetsemine väljaspool võlgniku mõjusfääri;
24.2.3 asjaolu ettenägematus;
24.2.4 asjaolu vältimatus ja ületamatus.
24.3 Vääramatu jõu asjaolude ilmnemisel pikeneb Lepingu lõpptähtaeg nimetatud asjaolude esinemise perioodi võrra. Pool peab vääramatu jõu asjaolude äralangemisel Lepingut täitma asuma. Kui vääramatu jõu asjaolude tõttu on Poole Lepingust tulenevate kohustuste täitmine takistatud enam kui 60ne kalendripäeva võrra võib teine Pool öelda lepingu üles.
25 Kehtiv seadusandlus
Lepingule ning kõikidele lepingu osaks olevatele dokumentidele kohaldatakse Eesti Vabariigi õigusakte.
26 Vaidluste lahendamine
26.1 Käesoleva Lepingu allkirjastamisega kinnitavad pooled, et on tutvunud ja on nõus Lepinguga ja selle lisadega ning mõistavad täielikult enesele võetavate kohustuste sisu ning nende tagajärgi.
26.2 Lepinguga seotud või sellest tulenevate arusaamatuste või vaidluste puhul püüavad pooled leida lahenduse heal tahtel põhinevate läbirääkimiste teel.
26.3 Kokkuleppe mittesaavutamisel lahendatakse vaidlus Harju Maakohtus.
Arendusleping nr 2/51-25
Lisa nr 2
PERSONAL JA KONTAKTANDMED
1. Tellija esindaja ja kontaktisikud
1.1. Tellija esindajaks tööde vastuvõtmise aktide, teadete jms lepinguga seonduvate dokumentide allkirjastamisel on Registrite ja Infosüsteemide Keskuse avaliku õigusteabe tiimi tiimijuht Lii Bergstörm (tel 5349 9801; e-post [email protected]) või tema ametlik asendaja.
1.2. Tellija kontaktisikuks tööde teostamise juhendamisel ning Täitjale vajaliku lähteinformatsiooni ja tööülesannete täpsustamisel jmt. on Registrite ja Infosüsteemide Keskuse avaliku õigusteabe tiimi tiimijuht Lii Bergstörm (tel 5349 9801; e-post [email protected]) või tema ametlik asendaja.
2. Täitja esindaja ja kontaktisikud
Täitja esindajaks ja kontaktisikuks on Indrek Järve (tel: 58058966; e-post [email protected]).
3. Personali nimekiri
3.1. Tellija personal
Nr. Nimi Ametinimetus Kontaktandmed
1. Annika Remmelgas Süsteemianalüütik [email protected]
2. Herstin Mäepea Testija [email protected]
3.2. Täitja personal
Nr. Nimi Ametinimetus Kontaktandmed
1. Ivo Russak Süsteemiarhitekt [email protected]
2. Mihhail Kööts Projektijuht -
3. Martin Vahtel Analüütik [email protected]
4. Indrek Järve Programmeerija [email protected]
5. Urmas Järve Testija -
4. Kontaktandmed
4.1. Tellija kontaktandmed on: 4.2. Täitja kontaktandmed on:
Registrite ja Infosüsteemide Keskus Osaühing Inversion Software
Reg. nr. 70000310 Registrikood 10827700
Lubja tn 4 Kaluri tee 8-25
19081 TALLINN 74001 Haabneeme alevik, Viimsi Vald
Telefon: 663 6300 Telefon: +372 58058966
Arendusleping nr 2/51-25
Lisa nr 3
TEHNILINE KIRJELDUS KOOS LISADEGA
Tehniline kirjeldus asub arenduslepingu asice konteineris eraldi faili(de)na.
Arendusleping nr 2/51-25
Lisa nr 4
PAKKUMUS
Pakkumus asub arenduslepingu asice konteineris eraldi konteinerina.
Registrite ja Infosüsteemide Keskus
Ametlikud Teadaanded
PAKKUMUS 10.12.2025 hinnapäringule
16.12.2025 täpsustustega
Pakkuja:
Inversion Software OÜ, registrikood 10827700
17.12.2025
Lugupeetud Hankija,
Inversion Software OÜ esitab käesolevaga hinnapakkumuse vastavalt pakkumuskutsele.
Kinnitame, et pakkumuse jõusoleku tähtaeg on 60 päeva pakkumuse esitamisest.
Töö Töö maht tundides Töö maksumus käibemaksuta (EUR)
Riigilõivuga teadaande avaldamise protsess 52 2 288.00
Pääsuke - keskne volituste haldamise
infosüsteem
156 6 864.00
Täiendavad funktsionaalsused 204 8 976.00
Logimise täiendamine (tehniline kirjeldus
täpsustatud).
208 9 152.00
Keskne makselahendus (Everypay) 52 2 288.00
Krediitkaardimaksed (EMTA) 208 9 152.00
Kokku: 880 38 720.00
Tööde tunnihind käibemaksuta: 44 EUR
Arendusleping nr 2/51-25
Lisa 3
Tehniline kirjeldus
Ametlikud Teadaanded tehnoloogiline uuendamine
digipöörde raames (II etapp)
Tallinn 2025
2
Sisukord
Hanke eesmärk ja üldinfo ................................................................................................ 4
Hankelepingu alusel tellitavad tööd ................................................................................. 4
Riigilõivuga teadaande avaldamise protsess ............................................................... 4
Üldkirjeldus ............................................................................................................... 4
Praegune olukord (AS-IS) ......................................................................................... 4
Oodatav lahendus (TO-BE) ...................................................................................... 5
Nõuded ..................................................................................................................... 7
Pääsuke - keskne volituste haldamise infosüsteem ...................................................... 11
Üldkirjeldus ................................................................................................................ 11
Liitumine ja rollide haldamine Pääsukeses ................................................................ 11
Protsessijoonis ........................................................................................................... 12
Kasutuslood ............................................................................................................... 12
Nõuded ...................................................................................................................... 14
Pääsukese dokumentatsioon ..................................................................................... 23
Täiendavad funktsionaalsused ...................................................................................... 23
Üldkirjeldus ................................................................................................................ 23
Nõuded ................................................................................................................... 23
Logimise täiendamine ................................................................................................... 27
Üldkirjeldus ................................................................................................................ 27
Nõuded ................................................................................................................... 27
Keskne makselahendus (Everypay) .............................................................................. 29
Üldkirjeldus ................................................................................................................ 29
AS-IS ......................................................................................................................... 29
TO-BE ........................................................................................................................ 31
Nõuded ...................................................................................................................... 33
Andmetabelid ............................................................................................................. 36
Tekstid ....................................................................................................................... 39
Krediitkaardimaksed (EMTA) ........................................................................................ 40
3
Üldkirjeldus ................................................................................................................ 40
Nõuded ...................................................................................................................... 40
Andmetabelid .......................................................................................................... 52
Välised klassifikaatorid ........................................................................................... 54
Tagastatavad vead .................................................................................................... 57
Üldised vead ........................................................................................................... 57
Sisulised vead......................................................................................................... 59
Protsessijoonised ....................................................................................................... 64
Tekstid ....................................................................................................................... 65
Teenused ................................................................................................................... 66
cpgOrderInit ......................................................................................................... 73
cpgOrderNotify .................................................................................................... 84
cpgOrderCancel .................................................................................................. 87
4
Hanke eesmärk ja üldinfo Hanke teises etapis keskendutakse kasutajamugavuse parandamisele, eesmärgiga
muuta süsteemi kasutamine lihtsamaks, loogilisemaks ja ajasäästlikumaks.
Kasutajamugavuse tõstmine aitab vähendada pöördumiste arvu ning parandada teenuse
üldist rahulolu. Samuti täiendatakse süsteemi logimist ja monitooringut, et tuvastada
tehnilisi tõrkeid ning võimaldada kiiremat reageerimist juhtumitele ja nende
lahendamisele.
Hankelepingu alusel tellitavad tööd
Riigilõivuga teadaande avaldamise protsess
Üldkirjeldus
Ametlikes Teadaannetes saab teadaandeid avaldada autenditud isik, kellel on
esindatavaid. Esindatavad on isikud, kellele on ATs antud andmeandja alla avaldamis-
või esindusõigused või kes on Äriregistris andmeandja esindusõigusega isik.
Igale andmeandja liigile (äriühingud, KOVid jms) on määratud kindlad teadaande vormid,
mida neil on lubatud avaldada. Teadaandeid jaotatakse teavituse alusel kolmeks tüübiks
– teavitada üldsust, teavitada isikud ning teavitada üldsust ja isikut. Lisaks eristatakse
teadaandeid riigilõivu alusel – riigilõivuga või riigilõivuta teadaanded. Kõikide
teadaannete alused tulenevad seadusest.
Praegune olukord (AS-IS)
Ametlikes Teadaannetes on kasutusel kahte tüüpi teadaandeid – riigilõivuga ja riigilõivuta.
Riigilõivuga teadaannetel tuleb enne teadaande avaldamist valida makseviis –
pangalingi kaudu või panga ülekandega, ehk maksekorralduse alusel.
o Pangalingiga tasudes tuleb valida, millise panga kaudu riigilõivu tasuda
soovitakse. Riigilõiv tasutakse vastava pangalingi kaudu pangas. Pärast
tasumist suunatakse tagasi ATsse ja avaneb teadaande vorm väljade
täitmiseks. Pärast väljade täitmist tuleb vajutada nupule „Eelvaade“, kus
saab näha kuidas teadaanne täpselt välja nägema hakkab. Kui teadaandes
on vigu, saab „tagasi“ nupuga väljade täitmise vaatesse tagasi minna ja
vastavad parandused teha. Kui kõik on korrektne siis tuleb vajutada nupule
„Kinnitan ja avaldan“, pärast mida teadaanne läheb avalikuks (mõne minuti
jooksul).
o Pangaülekandega tasudes tuleb esmalt ära täita teadaande väljadega
vorm. Olenevalt teadaande liigist, saab mõnel juhul valida, kes tasub
riigilõivu – kas teadaande avaldaja või see kelle kohta avaldatakse. Pärast
5
väljade täitmist (ja riigilõivu tasuja valikut) tuleb vajutada nupule „Eelvaade“,
kus saab üle vaadata kuidas teadaanne täpselt välja nägema hakkab. Kui
teadaandes on vigu, saab „tagasi“ nupuga väljade täitmise vaatesse tagasi
minna ja vastavad parandused teha. Kui kõik on korrektne, siis vajutada
nupule „Kinnitan ja avaldan“. Pärast kinnitamist on teadaande staatuses
„ootel“, kuna riigilõiv pole tasutud.
„Ootel“ saki alt on leitav ka maksekorraldus, mille alusel riigilõiv tasuda.
Teadaande automaatseks avaldamiseks on riigilõivu tasudes kohustuslik
viitenumbri väljale vastav viitenumber sisestada. Ilma selleta teadaanne
automaatselt avalikuks ei lähe ning 30p pärast teadaanne tühistatakse.
Riigilõivuta teadaandel saab pärast teadaande vormi valimist kohe väljasid täita.
Kui väljad täidetud, tuleb vajutada nupule „Eelvaade“, kus näeb lõplikku versiooni.
Vigu märgates saab „tagasi“ nupuga väljade vaatesse tagasi liikuda ja vastavad
parandused teha. Kui eelvaates on kõik korras, tuleb teadaande avaldamiseks
vajutada nupule „Kinnitan ja avaldan“. Pärast seda läheb teadaanne avalikuks.
Joonis 1. Praegune olukord
Oodatav lahendus (TO-BE)
Kasutaja autendib end Ametlike Teadaannete lehele sisenedes esindaja rollis.
Teadaandeid avaldades on kahte tüüpi teadaandeid - riigilõivuga ja riigilõivuta.
Riigilõivuta puhul ei muutu midagi, jääb nii nagu praegu (AS-IS)
Riigilõivuga teadaande puhul kuvatakse lisaks tavapärastele teadaande
üldandmetele (avaldamise algus, pealiik, alaliik jne) ka teavitav tekst riigilõivu
maksmise kohta. Teavituses on kirjas, et riigilõivu tasumise valiku saab teha
peale teadaande kinnitamist. ("Muutunud on riigilõivu makseviisi valiku tegemise
järjekord - sobiva riigilõivu makseviisi valiku ja tasumise saab teha peale
teadaande täitmist ja kinnitamist.").
6
Kui teadaande väljad on täidetud, eelvaatega tutvutud ja avaldamine kinnitatud tuleb
riigilõivu tasumise valik:
1. Riigilõiv tasutakse pangalingi kaudu. Panga logole vajutades suunatakse
kasutaja panka ning pärast makse sooritamist tagasi ATsse. Teadaanne
avaldatakse süsteemi poolt automaatselt mõne minuti jooksul. Teadaanne on
staatuses „avaldatud“.
2. Riigilõivu tasumist soovitakse teha pangaülekandega maksekorralduse alusel.
Kasutajale kuvatakse makseviisi valiku all kaks järgnevat tingimust:
a. kui 30p jooksul riigilõivu ei tasuta, siis teadaanne tühistatakse
b. riigilõivu tasumisel on viitenumbri märkimine viitenumbri väljale kohustuslik
Joonis 2. Oodatav olukord
Kui teadaandes on lubatud riigilõivu tasumine suunata seotud isikule, saab seda nüüd
valida. Laadides alla maksekorralduse riigilõivu tasumiseks ning vajutada nupule
„Kinnitan ja avaldan“. Teadaanne jääb „ootel“ staatusesse, kuni süsteemi jõuab tasutud
riigilõiv. Pärast seda läheb teadaanne avalikuks ja staatus on „avaldatud“.
Kui teadaande avaldamisel soovib kasutaja avaldamise vaatest/lehelt lahkuda (k.a juhul
kui ei täideta ühtki välja):
küsitakse, kas soovitakse vorm salvestada või loobuda. Kui salvestatakse, siis
teadaanne jääb „töös“ staatusesse, kui ei, siis loobutakse ja mustandit ei
salvestata.
7
Nõuded
Nõude ID Nõude sisu Jira pilet
RLTA-001
Teadaande avaldamise protsessis kuvatakse kasutajale protsessi
sammud. Iga sammu nimetus võetakse vastava lehe pealkirjast.
Aktiivne ehk hetkel avatud samm kuvatakse kasutajale rasvases
kirjas (boldina), et eristada see teistest sammudest visuaalselt.
Protsessi sammude komponent peab reageerima lehe muutumisele
(nt kui kasutaja liigub sammule 2, siis peab aktiivne olek vastavalt
muutuma).
Näide komponendist:
RLTA-002
Riigilõivuga teadaande avaldamise puhul kuvatakse lisaks
tavapärastele üldandmetele (avaldamise algus, pealiik, alaliik jne)
ka teavitav tekst riigilõivu maksmise kohta. Teavituses on kirjas, et
riigilõivu tasumise valiku saab teha peale teadaande kinnitamist (vt
näidet teavitusest).
Tekst lisatakse haldusesse nimetusega
"avaldajale_teadaande_riigiloivu_teavitus" ja on muudetav
(Seaded → Tekstid → Süsteemsed tekstid).
"Muutunud on riigilõivu makseviisi valiku tegemise järjekord -
sobiva riigilõivu makseviisi valiku ja tasumise saab teha peale
teadaande täitmist ja kinnitamist."
Näide teavitusest:
8
RLTA-003 Riigilõivu tasumine toimub pärast teadaande vormi täitmist ja
eelvaate kinnitamist.
AT-10
AT-122
RLTA-004
Teadaande vormi täitmise kinnitamine toimub nupuga "Kinnitan ja
avaldan", mis viib riigilõivu makseviisi valimise vaatesse.
Näide riigilõivu makseviisi valimise vaatest:
9
RLTA-005
Kui kasutaja proovib lahkuda teadaande avaldamisel vormilt (nt
navigeerib mujale, sulgeb vahelehe, vajutab „Tagasi“ või mõne
muu navigeerimistoimingu), peab süsteem kuvama modaalakna,
kus küsitakse kasutajalt, kas ta soovib salvestada teadaannet
mustandina või mitte.
1. Kui kasutaja kinnitab salvestamise (valib „Salvesta“):
a. vormis sisestatud andmed salvestatakse andmebaasi;
b. teadaandele määratakse staatus „töös“;
c. kasutaja suunatakse soovitud sihtkohta.
2. Kui kasutaja keeldub salvestamisest (valib „Ära salvesta“):
a. vormilt sisestatud andmeid ei salvestata;
b. mustand (kui eksisteerib) kustutatakse andmebaasist
või jääb salvestamata;
c. kasutaja suunatakse soovitud sihtkohta.
3. Kui kasutaja vajutab ristile, suletakse modaalaken ja
kasutaja jääb samale lehele.
Näide modaalaknast:
RLTA-006
Kui kasutaja valib makseviisiks pangaülekande, kuvatakse
makseviisi all järgmine tekst:
"Valides makseviisiks pangaülekandega, nõustute järgmiste
tingimustega:
Riigilõivu tasumisel on viitenumbri sisestamine kohustuslik.
10
Kui riigilõiv ei ole tasutud 30 päeva jooksul, tühistatakse
teadaanne automaatselt süsteemi poolt."
Näide tingimustest:
Tekst lisatakse haldusesse nimetusega
"avaldajale_teadaande_riigiloiv_pangaylekande_tingimused" ja on
muudetav (Seaded → Tekstid → Süsteemsed tekstid).
RLTA-007
Süsteem peab saatma teadaande avaldajale e-posti teel
meeldetuletuse juhul, kui teadaandega seotud riigilõiv ei ole
tasutud ja tähtaja lõpuni on jäänud 7 päeva.
Tingimused:
1. Meeldetuletus saadetakse ühekordselt 7 päeva enne
tähtaega (enne 30p täitumist).
2. Meeldetuletust ei saadeta, kui riigilõiv on juba tasutud.
3. Meeldetuletuse sisu peab viitama tasumata riigilõivule ja
selgitama, et teadaanne tühistatakse, kui makset ei tehta.
(Muudetav halduses Seaded → Tekstid → E-kirjad
nimetus: riigiloiv_tasumata_teavitus_sisu)
4. Teadaanne ei ole avalik enne riigilõivu tasumist.
5. Meeldetuletus saadetakse, kas teadaande avaldajale või
isikule, kelle kohta teadaanne avaldatakse.
AT-216
11
Süsteemi luuakse uus CRON töö. Töö käivitatakse üks kord päevas
iga päev kell 8 hommikul.
Teadaanded saab kätte järgneva päringuga:
SQL näide Expand source //NAP_MEELDETULETUS_PAEVI = 23; SELECT at.id FROM
atis.teated at WHERE at.staatus_kl IN ('AD') AND
at.mig_kood IS NULL AND at.riigiloiv_arvega AND NOT
at.riigiloiv_makstud AND allkirjastamise_aeg < (now()
- '%s days'::interval) ORDER BY id ASC""" %
atisConf.NAP_MEELDETULETUS_PAEVI
Pääsuke - keskne volituste haldamise infosüsteem
Üldkirjeldus
Antud analüüs kirjeldab Pääsukese liidestumist Ametlike Teadaannete infosüsteemiga.
Ettevõtte ja asutuse esindajad saavad Pääsukesest keskse ülevaate tema poolt või talle
antud volituste kohta terves Eesti riigi infosüsteemis. Volitusi saab vaadata ja lisada ning
juba antud volitusi on võimalik muuta või eemaldada.
Liitumine ja rollide haldamine Pääsukeses
Pääsukese keskkondadega liitumiseks tuleb täita vastav liitumistaotlus ja saata see
allkirjastatult aadressil [email protected]. Liitumistaotluse peab allkirjastama asutuse
esindusõigust omav isik. Kui taotluse allkirjastab volitatud isik, siis lisage taotlusele ka
volitus. Palume süveneda dokumentide täitmisesse ja kui teil tekib selle käigus küsimusi,
siis palume need saata [email protected].
Edastada rollid Pääsukesele või lisada rollid Pääsukese halduses:
1. Esindaja:
a. lisada kasutajaid andmeandja alla
b. muuta kasutaja staatuseid (aktiivne, mitteaktiivne)
c. saab muuta enda kontakte
d. avaldada teadaandeid
2. Avaldaja:
12
a. saab muuta enda kontakte
b. avaldada teadaandeid
Protsessijoonis
Joonis 3. Pääsukese üldine kasutamise loogika näite põhjal, viide joonise asukohale:
https://github.com/e-gov/PH-sample-provider-python/blob/main/doc/sequence-diagram-
pr.png
Kasutuslood
Kasutuslugu 1: Esindusõiguse andmine Pääsukese abil
Väli Sisu
Pealkiri AT rolli andmine eesti.ee kaudu
Osalejad - Juriidiline isik (esindatav)
- Füüsiline isik (esindaja)
- eesti.ee
- Pääsuke
- AT süsteem
Eesmärk Juriidiline isik annab teisele füüsilisele isikule õigused
tegutseda AT-s ettevõtte/asutuse nimel.
13
Eeltingimused - Kasutaja on autenditud juriidilise isiku esindajana eesti.ee
lehel
- Kasutaja on volitatud andma esindusõigusi
- Füüsilise isiku isikukood on teada
Voog 1. Kasutaja logib sisse eesti.ee keskkonda.
2. Kasutaja avab volituste lehe ja tegutseb juriidilise
isikuna.
3. Kasutaja annab füüsilisele isikule isikukoodi abil
esindaja rolli.
4. Pääsukese teenus saadab esindatava ja esindaja
andmed päringuga AT-sse.
5. AT süsteem salvestab volituse andmed andmebaasi ja
tagastab eduka päringu vastuse.
6. Pääsukese teenus teavitab füüsilist isikut uuest
volitusest.
7. Kasutaja (füüsiline isik) logib AT süsteemi.
8. AT süsteem tuvastab kasutaja esindaja rolli ja kuvab
talle seotud juriidilise isiku ettevõtte vaate.
9. Kasutaja (füüsiline isik) saab teha toiminguid vastavalt
rollile.
10. Kasutusloo lõpp.
Kasutuslugu 2: Esindusõigusest loobumine Pääsukese abil
Väli Sisu
Pealkiri Füüsiline isik loobub talle antud ettevõtte volitusest ning
süsteem deaktiveerib tema rolli AT süsteemis.
Osalejad - Füüsiline isik (esindaja)
- eesti.ee
- Pääsuke
- AT süsteem
Eesmärk Füüsiline isik loobub talle antud esindusõigusest.
Eeltingimused - Kasutaja on autenditud füüsilise isikuna
14
Voog 1. Kasutaja logib sisse eesti.ee keskkonda.
2. Kasutaja avab volituste lehe ja tegutseb füüsilise
isikuna.
3. Kasutaja valib volituse, millest soovib loobuda ja
kinnitab loobumise.
4. Pääsukese teenus saadab volituse eemaldamise
päringu AT süsteemile.
5. AT süsteem tuvastab kasutaja ja ettevõtte seose ning
märgib andmebaasis vastava volituse mitteaktiivseks.
6. AT süsteem tagastab Pääsukesele eduka päringu
vastuse.
7. Kasutusloo lõpp.
Nõuded
Nõude ID Nõude kirjeldus Jira
pilet
Üldised nõuded
AT-
PAASUKE-
001
Juriidiline isik saab eesti.ee volituste veebilehel vaadata oma ettevõtte
või asutuse kasutajaid, kellele on AT süsteemis määratud roll avaldaja
või esindaja.
AT-
PAASUKE-
002
Juriidiline isik saab eesti.ee volituste veebilehel lisada või eemaldada
oma ettevõtte või asutuse kasutajaid, kellele on AT süsteemis määratud
roll avaldaja või esindaja.
AT-
PAASUKE-
003
Füüsiline isik saab eesti.ee volituste veebilehe kaudu vaadata talle
antud rolle erinevate juriidiliste isikute (ettevõtete) esindajana, mis
võib olla antud nii AT süsteemis kui Pääsukeses. Füüsiline isik saab
nendest ka loobuda.
Esindusõiguse tähtaja lisamine
AT-
PAASUKE-
004
Esindusõiguse taotlemise vormil saab märkida, kas taotlust esitatakse
tähtajatult või tähtajaliselt. Süsteem kuvab kasutajale kahte radio tüüpi
valikut:
AT-
118 -
Esindu
15
Taotlen esindusõigust tähtajatult. (Vaikimisi valitud)
Taotlen esindusõigust tähtajaliselt.
o Valiku tegemisel avanevad kuupäeva lahtrid, mis on
kohustuslikud väljad. Alates kuupäeva lahter on
vaikimisi täidetud tänase kuupäevaga.
o Süsteem kontrollib kuupäeva valideerimist (nt
lõppkuupäev oleks pärast alguskuupäeva, alguskuupäev
ei saa olla minevikus), vastasel juhul annab kasutajale
veateate, et kuupäeva valik ei ole korrektne.
o Vajadusel lisada abistav teksti, mis viitab sellele, et
kuupäeva lahtrid on kohustuslikud vt näitest.
Taotluse eelvaates ja halduri taotluse kinnitamise vaates süsteem kuvab
kasutaja valiku välja tekstina.
Vaikimisi valik tehtud:
Kasutaja valib teise valiku:
sõigust
e
tähtaja
määra
mine
Loodu
d
16
Taotluse eelvaates süsteem kuvab kasutaja valiku välja tekstina.
Halduri vaade
17
Andmetabelisse avaldamisoiguse_taotlused lisatakse uued andmeväljad:
on_tahtajatu - TRUE / FALSE (teksti kuvamiseks FEs, et
milline tekst), andmevälja kommentaar: Kas taotlus on esitatud
tähtajatult või mitte
esindusoiguse_kehtivus_alates - kuupäev (võib olla NULL),
andmevälja kommentaar: Esindusõiguse kehtivuse kuupäev
alates
esindusoiguse_kehtivus_kuni - kuupäev (võib olla NULL),
andmevälja kommentaar: Esindusõiguse kehtivuse kuupäev kuni
AT-
PAASUKE-
005
Esindusõiguse taotluse kinnitamisel halduri poolt salvestatakse kasutaja
taotluses tehtud valik (tabelisse atis.andmeandjad_kasutajad). Haldur
taotluses olevaid kuupäevasid ise muuta ei saa.
Kui alguskuupäev on enne taotluse kinnitamist, süsteem seab
automaatselt alguskuupäevaks kinnitamise kuupäev ja muudab kasutaja
selle andmeandja all aktiivseks kohe.
18
AT-
PAASUKE-
006
Kehtivuse alguse/lõpu saabudes muudetakse kasutaja õigused
aktiivseks/mitteaktiivseks automaatselt süsteemi poolt. Süsteemi
luuakse uus CRON töö, mis iga päev kontrollib kehtivuse algust/lõppu
ja muudab kasutajaid automaatselt (atis.andmeandjad_kasutajad.saatus
= 'M' / 'A').
Põhikäivitus: üks kord öösel – näiteks kell 00:05 (uue päeva sees, pärast
kuupäeva vahetust).
AT-
PAASUKE-
007
Esindusõiguse kehtivuse kuupäeva väljad kuvatakse ka avaldaja
lisamise ja muutmise vaates.
Kui kasutaja valib "Tähtajaline", siis avanevad kuupäeva lahtrid selle
alla.
Kui kasutajal on roll "esindaja", siis ta saab muuta teiste kasutajate
esindusõiguse kehtivuskuupäevi, kuid ei saa muuta enda
esindusõiguse kehtivuskuupäeva. Sellisel juhul peab kuupäeva
muutmise valik olema tema enda kirje puhul mitteaktiivne
(disabled).
Alguskuupäeva muuta ei saa, saab muuta vaid lõpukuupäeva või muuta
kasutaja esindusõigus tähtajatuks.
Avaldaja lisamisel ja muutmisel
19
Kehtivuse mittemääramise korral saab kasutaja veateate:
Andmetabelisse andmeandjad_kasutajad lisatakse uued andmeväljad:
on_tahtajatu - TRUE / FALSE (teksti kuvamiseks FEs, et
milline tekst), andmevälja kommentaar: Kas taotlus on esitatud
tähtajatult või mitte
esindusoiguse_kehtivus_alates - kuupäev (võib olla NULL),
andmevälja kommentaar: Esindusõiguse kehtivuse kuupäev
alates
esindusoiguse_kehtivus_kuni - kuupäev (võib olla NULL),
andmevälja kommentaar: Esindusõiguse kehtivuse kuupäev kuni
Tehnilised nõuded
Swaggeri link: https://app.swaggerhub.com/apis/TUGI/x-road-services-consumed-by-
paasuke/1.0.5
AT-
PAASUKE-
008
Kui X-Road-UserId ja/või X-Road-Represented-Party väärtused on
mujalt Euroopa Liidust. Nt:
20
PT12345678 - Portugal
ITPTIT0123ZN4LFU - Italy
CY0123456789 - Cyprus
DE1D23DD4AF5A6DAE78901E2CE3EF45D6D7890BBA123
4FA56ADD789012E34567E8 - Germany
Tagastada tühi list [] mitte error.
AT Süsteemi tehtavatel päringutel on kaasas alati header väärtused:
X-Road-UserId - identifier of the user currently logged
in to Pääsuke (for example EE50001029996)X-Road-
Represented-Party - identifier of the person currently
being represented (for example EE11065244)
:warning: Header võib olla mõnel juhul tühi, kui Pääsukese süsteem
teeb automaatse protsessi päringud (endiste töötajate leidmine, kes ei
ole enam aktiivsed TÖR-is), kuid see ei ole veel implementeeritud
Pääsukeses aga sellega peaks arvestama, et võivad ka puududa.
AT-
PAASUKE-
009
AT süsteemile tehakse Pääsukese poolt läbi X-tee kaudu päring: GET
v1/representees/{representee}/delegates/mandates
(getMandatesByRepresentee)
Päringu töötlemisel:
süsteem kontrollib, kas esindatav {representee} eksisteerib AT
süsteemis (tabelist andmeandjad.kood). Kirje puudumisel
tagastab päringule vastuse tühja listina [];
süsteem tagastab esindatava all olevad hetkel või tulevikus
aktiivsed kasutajad, kellel on esindaja või avaldaja roll.
Mitteaktiivseid päringu vastusesse ei saada.
SELECT * FROM kasutajad WHERE id IN (SELECT kasutajad_id
from andmeandjad_kasutajad WHERE andmeandjad_id = (SELECT
andmeandjad_id FROM andmeandjad WHERE andmeandjad.kood =
{representee}) and staatus_kl = 'A')
Päringule vastus kujul:
[ { "representee": { //päringus oleva esindatava
andmed "type": "LEGAL_PERSON", "legalName":
"Väikefirma OÜ", "identifier": "EE10391131" },
21
"delegate": { //kasutaja andmed, kes saab esindada (AT
mõistes, kellel on roll esindaja/avaldaja selle
andmeandja all) "type": "NATURAL_PERSON",
"firstName": "Jüri", "surname": "Juurikas",
"identifier": "EE50001029996" }, "mandates":
[ //kasutaja roll { "role":
"ESINDAJA/AVALDAJA", //seda saab siis teada kuidas
eristatakse kui rollid on konfigureeritud Pääsukesesse
"subDelegable": false, "subDelegator":
{ //võimalik, et meil pole seda vaja saata aga
sisuliselt, see kes lisas kasutaja ATsse või Pääsukesesse
"type": "LEGAL_PERSON", "legalName":
"Raamatupidamisfirma OÜ", "identifier":
"EE23456789" }, "subDelegatorIdentifier":
"EE23456789", //isiku- või registrikood "links":
{ "delete": "/v1/nss/AT/representees/int-
1234/delegates/int-4567/mandates/string-mandate-
avaldaja", // lisada siia kasutaja_id + andmeandja_id +
rolli nimetus, "origin":
"https://ametlikudteadaanded.ee/" } } ] }
, { .... //teine kasutaja, representee on sama },
{ .... //kolmas kasutaja, representee on sama }]
AT-
PAASUKE-
010
AT süsteemile tehakse Pääsukese poolt läbi X-tee kaudu päring: GET
v1/delegates/{delegate}/representees/mandates
(getMandatesByDelegate)
Päringu töötlemisel:
süsteem kontrollib, kas {delegate} (tabelist kasutajad.isikukood)
on olemas süsteemis, kui puudub süsteemis, siis tagastada kohe
tühi list.
süsteem tagastab, millistes ettevõtetes/asutustes sellel
konkreetsel kasutajal on avaldamis- või esindusõigus.
Päringu vastuse kuju:
[ { "representee": { //esindatava andmed "type":
"LEGAL_PERSON", "legalName": "Väikefirma OÜ",
"identifier": "EE10391131" }, "delegate":
{ //kasutaja andmed, kes on päringus "type":
"NATURAL_PERSON", "firstName": "Jüri",
"surname": "Juurikas", "identifier":
"EE50001029996" }, "mandates": [ //kasutaja roll
{ "role": "ESINDAJA/AVALDAJA",
22
"subDelegable": false, "subDelegator": { //kui on
volitatud kellegi teise poolt "type":
"LEGAL_PERSON", "legalName":
"Raamatupidamisfirma OÜ", "identifier":
"EE23456789" }, "subDelegatorIdentifier":
"EE23456789", "links": { "delete":
"/v1/nss/AT/representees/int-EE12345678/delegates/int-
EE38302250123/mandates/int-mandate-123",
"addSubDelegate": "/v1/nss/AT/representees/int-
EE12345678/delegates/int-EE38302250123/mandates/int-
mandate-123/subdelegates", //kui on esindaja roll, siis
lisada link "origin":
"https://ametlikudteadaanded.ee/" } } ] }
, { .... //teine esindatav ja roll }, { ....
//kolmas esindatav ja roll }]
AT-
PAASUKE-
011
AT süsteemile tehakse Pääsukese poolt läbi X-tee kaudu päring: PUT
/v1/representees/{representeeId}/delegates/{delegateId}/mandates/{
mandateId} (editMandate)
Pääsukese dokumentatsioonis märkus: Currently only deleting
(withdrawing or waiving) is allowed. :warning:
Päringu töötlemisel:
süsteem kontrollib, kas {representeeId} (tabelist
andmeandja_kasutajad.andmeandja_id) ja {delegateId} (tabelist
andmeandja_kasutajad.kasutaja_id) eksisteerib
süsteem määrab antud kasutaja staatuse 'M' peale
Vea korral tagastada vastavalt veale teade.
AT-
PAASUKE-
012
AT süsteemile tehakse Pääsukese poolt läbi X-tee kaudu päring: POST
/v1/representees/{representee}/delegates/{delegate}/mandates
(addMandate)
Kui kasutajal on esindaja roll, saab ta lisada teistele volitusi.
Päringu sisend:
{ "representee": { "type": "LEGAL_PERSON",
"legalName": "Väikefirma OÜ", "identifier":
"EE12345678" }, "delegate": { "type":
23
"NATURAL_PERSON", "firstName": "Jüri", "surname":
"Juurikas", "identifier": "EE38302250123" },
"mandate": { "role": "GLOBAL1_EMTA:ACCOUNTANT",
"canSubDelegate": false, "validityPeriod":
{ "from": "2028-01-01", "through": "2030-12-
31" } }, "authorizations":
[ { "userIdentifier": "EE49028099999",
"hasRole": "BR_REPRIGHT:SOLEREP" } ], "document":
{ "uuid": "5b72e01c-fa7f-479c-b014-cc19efe5b732",
"singleDelegate": true }}
Päringu töötlemisel:
süsteem kontrollib, kas {representeeId} (tabelist
andmeandjad.id)
o kui ei eksisteeri, tuleb lisada
süsteem kontrollib, kas {delegateId} (tabelist
andmeandja_kasutajad kasutaja_id) eksisteerib
o kui ei eksisteeri, tuleb lisada
Pääsukese dokumentatsioon
Pääsukese dokumentatsioon leitav järgnevalt lehelt: https://www.ria.ee/riigi-
infosusteem/kesksed-platvormid-avalike-e-teenuste-pakkumiseks/paasuke
Pääsukese prototüüp: https://paasuke.github.io/proto/#/ tuleb vajutada nupule "Sisene"
→ valida roll ja siis vaadata kellele, kuhu ja kuidas on volitused antud.
Täiendavad funktsionaalsused
Üldkirjeldus
Täiendavate funktsionaalsuste analüüs.
Nõuded
Nõude ID Nõude kirjeldus Jira pilet
AT-TF-001
Kui esindusõigust taotletakse esmakordselt andmeandja kohta
ja andmeandja andmeid ei ole veel AT süsteemis, siis süsteem
eeltäidab andmeandja andmed vormil (e-post, telefon, aadress)
ning täidab andmeandja liigi automaatselt Äriregistri andmete
põhjal. Selleks süsteem leiab seose ÄR päringust parameetrilt
AT-249 -
Andmeandja
liik on ÄRist
andmete
laadimisel
24
oiguslik_vorm ja leiab vastava liigi tabelist
atis.kl_andmeandjad_liigid.lyhend.
Kui lyhend puudub või ÄR ei tagasta midagi, siis liigi infot
automaatselt ei salvestata.
Seos andmeandja liigi ja andmeandja vahel on tabelis
atis.andmeandjad_kl_andmeandjad_liigid.
küljes
Loodud
AT-TF-002
Kui kasutaja valib sisselogides andmeandja, siis avatakse talle
vaikimisi vaade "Kõik andmeandja teadaanded" (url lõpuga
teated/andmeandja_teated). Kui soovib avada ainult tema
koostatud teadaandeid, siis avab selle menüüst ise (Teadaanded
→ Minu Teadaanded).
AT-215 -
Avaldaja
algvaade
teadaande
avaldamisel
Loodud
AT-TF-003
Süsteem eristab halduri ja süsteemi automaatseid tegevusi.
Selleks luuakse haldusesse uus tekst "Ametlike teadaannete
süsteem", mis on muudetav ning kuvatakse arhiveeritud
teadaannete lõpetajana kui lõpetajaks on automaatne protsess
(CRON).
Pilt soovitud tulemusest:
AT-TF-004 Süsteem võimaldab lisada mitu volikirja/dokumenti
esindusõiguse taotlusele.
AT-214 -
Esindusõigus
e taotlusel
saab lisada
mitu volikirja
Loodud
25
AT-TF-005
AT süsteem kontrollib iga päev Äriregistrist, kas ettevõte on
staatuses "kustutatud". Kustutatud ühingu korral peab AT
portaal avaldamis- ja esindamisõigusega isikud automaatselt
mitteaktiivseks muutuma.
AT-116 -
ÄR-ist
kustutatud
ettevõttel on
AT-s
aktiivsed
esindajad
Loodud
AT-TF-006
AT süsteem kontrollib Äriregistrist äriühingu staatust ja kuvab
seda ka AT portaalis. Staatus salvestatakse andmebaasi
tabelisse andmeandjad ning staatus salvestatakse teksti kujul.
Näide ÄR-ist:
AT-117 -
ÄR-ist
kustutatud
ettevõtte
staatuse
muutmine
AT-s Loodud
AT-TF-007
Avaldamis- või esindusõigusega isikul peab olema iga
andmeandja all unikaalsed kontaktaandmeid ning nende
muutmine ei mõjuta teiste andmeandjate all olevaid andmeid.
Lisaks peab olema võimalus andmeandja esindajal muuta
andmeandja avaldaja/esindaja andmeid õigusi andes.
Eeltäidetud andmeid ei ole, v.a isikukoodi põhjal RRst päritud
ees- ja perekonnanimi. Muudatus ei mõjuta juba avaldatud või
arhiivi kantud teadaandeid.
AT-120 -
Kasutajal on
iga
andmeandja
all vajadusel
erinevad
andmed
Loodud
AT-TF-008 Avaldamisõigusega isik saab iseenda avaldamisõiguse
mitteaktiivseks muuta.
AT-119 -
Avaldamisõi
gusega isik ei
saa muuta
oma õigusi
mitteaktiivse
ks Loodud
26
AT-TF-009
Avalehe otsingus lõpukuupäev ei tohi olla väiksem, kui alguse
kuupäev - kuvab veateadet ("Lõpukuupäev ei tohi olla väiksem
kui alguse kuupäev.")
AT-157 -
Lõpukuupäev
saab olla
varasem kui
alguskuupäev
Loodud
AT-TF-010
Teadaande vormi väljale teksti asetades (copy-paste
funktsionaalsus) eemaldatakse tekstilt mittesobivad vormingud
automaatselt.
AT-245 -
Teadaandes
väljade
täitmisel
eemaldatakse
vorming/vale
formaat
Loodud
AT-TF-011
Otsingut saab teostada nii registrikoodi kui ka isikukoodi abil
sobivatelt väljadelt ja tulevad ainult vastavad (õiged/täpsed)
tulemused välja. Sarnane lahendus, kui tellimuste
funktsionaalsuses juba kasutusel on. Lahendust rakendada nii
rakendusse kui ka üle x-tee teenustes. Rakenduse lahenduseks
kasutada eraldi checkboxi, mis teeb ainult täpset otsingut. X-tee
puhul lisada eraldi otsingu sooritamiseks parameeter, millele
saab lisada kas registri või isikukoodi.
AT-248 -
Täpneotsing
registrikoodi/
isikukoodi
järgi
otsimiseks
Loodud
AT-SF-29 Üldiselt e-maili aadressi valideerimisel lubada pärast punkti
rohkem kui 6 tähemärki.
27
Logimise täiendamine
Üldkirjeldus
Logimine tuleb viia vastavusse nõuded arendustele.
Nõuded
Nõude ID Nõue
NA-94 Kriitilised
sündmused - sessiooni
algamine ja lõppemine
ning rolli muutumine tuleb
eraldi logida turvalogide
tabelis.
Kriitilised sündmused - sessiooni algamine ja lõppemine ning rolli
muutumine tuleb eraldi logida Graylogis.
Väliste rakenduste puhul tuleb logida kasutaja IP. Sessiooni
võtmete väärtused, privaatvõtmed, kasutaja salasõnad ja muu info,
mis võimaldab kasutaja isiku kindlakstegemist või on
andmekaitset ohustav ei või logisse jääda.
Live jooksul oli mitu mure, mis selle nõudega seotud (vale IP
loeti välja, kasutaja logiti välja, aga logisse infot ei jõudnud
sellest).
NA-95 - Rakendus peab
logima kõiki väliste
süsteemidega vahetatavaid
(ka X-tee teenuste kaudu
liikuvaid) pöördumisi
andmevahetuslogisse.
Rakendus peab logima kõiki väliste süsteemidega vahetatavaid
(ka X-tee teenuste kaudu liikuvaid) pöördumisi
andmevahetuslogisse.
Parim vahend on Graylog, teine valik baas, kolmas valik on faili
logimine. Peab olema võimalus antud logimist välise süsteemi
kaupa sisse-välja lülitada. Logi peab olema struktureeritud
selliselt, et päring ja vastus on eraldi failides. Logifaili asukoht
peab olema administraatori poolt ilma rakendust uuesti
kompileerimata seadistatav.
NA-98 - Rakendus peab
logima kõiki rakenduses
tekkivaid tehnilisi vigu.
Rakendus peab logima kõiki rakenduses tekkivaid tehnilisi vigu.
Logi peab sisaldama minimaalselt aega(timestamp), veakoodi, vea
sisu (komponent, stack trace, traceback vms), kogu HTTP
päringut ja võimalusel kasutaja ID-d. Logimine peab olema
konfigureeritav rakenduse taaskäivituseta (sel juhul ei saaks
logide konfigureerimine käia enam läbi Kubernetese. ConfigMap
28
loetakse sisse podi käivitamisel, mis muutmise korral eeldaks
teenuse redeploy-d.)
NA-99 - Failisüsteemi
logimise korral peavad
logid olema
katalogiseeritud,
tunnustatud faililaiendiga,
roteeruvad.
Failisüsteemi logimise korral peavad logid olema katalogiseeritud,
tunnustatud faililaiendiga, roteeruvad.
Peab olema võimalus logimist välise süsteemi kaupa sisse-välja
lülitada. Failisüsteemi kausta ei teki rohkem kui 10000 faili. Peab
tagama, et iga rakendusserver saaks vajadusel kirjutada logid oma
logifaili. Logimine peab olema konfigureeritav rakenduse
taaskäivituseta.
Kubernetese rakenduse puhul failisüsteemi logimist kasutama
otseselt ei pea, sest teenuse instantsi põhjal katalogiseerida ei
saaks, kuna instantsid võivad iga hetk kinni minna või juurde
tekkida. Erandina võib kaaluda üksikute logide (nt. X-tee
päringute) salvestamist eraldi failidena kuhugi võrgukettale.
NA-100 - Rakenduse logid
peavad olema ühesuguse
formaadiga, masinloetavad
ja täielikud.
Rakenduse logid peavad olema ühesuguse formaadiga,
masinloetavad ja täielikud.
Logiväljad, mida lõppkasutaja saab manipuleerida (IP, useragent,
URL) peavad salvestuma logisse kodeeritud ja puhastatud kujul.
Igas logikirjes peab olema päringu unikaalne identifikaator. Kui
parameetri väärtus on tühi, tuleb see logis märkida
asendusväärtusega “-”. Logi kuupäeva ja ajaformaat peab vastama
ISO 8601 standardile ja olema Eesti ajavööndis.
NA-101 - Logi tabelid
peavad olema
arhiveeritavad
operatiivbaasist välja.
Logi tabelid peavad olema arhiveeritavad operatiivbaasist välja.
Tabeli suurenedes peab olema võimalik hoida vanu kirjeid,
näiteks kuude või aastate kaupa, iseseisvates tabelites või teises
baasis. Mehhanism peab töötama ka krüptoaheldatud logi korral.
29
NA-102 - Kui rakendus
kasutab või pakub väliseid
teenuseid peab nende kohta
arvestust pidama.
Kui rakendus kasutab või pakub väliseid teenuseid peab nende
kohta arvestust pidama.
Peab kasutama statisikamoodulit või OpenTelemetry-t.
NA-104 - Rakendusel peab
olema masinloetav
staatusleht.
Rakendusel peab olema masinloetav staatusleht.
AT-LOG-001
Rakendus peab olema võimeline saatma logisid ELKi (Elastic
Stack).
Logimine peaks toimuma klastri tasemel, siis pole oluline, milline
backend seal taga on, kas Graylog, ELK, või midagi muud (see
oleks siis OPSi ülesanne). Logimise backend ei tohiks olla
rakendusse sisse kirjutatud nagu hetkel Graylog on.
Logi peaks olema struktuurne, mis lahendadab ära mitmerealise
logi probleemi, kui see on klastri tasemel, siis read võivad liikuda
läbisegi, lisaks muu metainfo võib kaotsi minna.
Keskne makselahendus (Everypay)
Üldkirjeldus
Antud analüüs kirjeldab Everypay makselahenduse integreerimist, vt dokumentatsiooni:
https://support.every-pay.com/api-documentation/
AS-IS
Kõik pangalingid on eraldiseisvate lahendustena, mis nõuab iga makseviisi puhul eraldi
seadistamist. Kõik pangalingid on seadistatavad haldusest halduri rollis: Seaded →
Pangalingid.
30
Vajutades pangalogole suunatakse kasutaja kohe vastavasse panka maksma.
31
TO-BE
Kasutusele võetakse Everypay keskne makselahendus, kus halduse kaudu
seadistatakse Everypay keskkonda suunamise jaoks vajalikud andmed ning teadaande
avaldamise vaates makseviisi valiku "Pangalingid" tegemisel suunatakse kasutaja
Everypay keskkonda, kus kuvatakse vastavad pangad.
32
Valides makseviisiks pangalingiga ning vajutades nupule "Edasi", suunatakse kasutaja
Everypay maksekeskkonda ning kasutaja teeb panga valiku edaspidi seal.
33
Nõuded
Nõude ID Nõude kirjeldus Jira
pilet
ATEP-001 Teadaande avaldamise makseviisi valiku vaates kuvatakse makseviisi
nimetusega "Pangalingiga".
ATEP-002
Teadaande avaldamise vaates valides makseviisiks Pangalingiga ning
vajutades nupule "Edasi", suunatakse kasutaja Everypay
maksekeskkonda.
Detailne süsteemi kirjeldus
1. Kasutaja on teadaande avaldamise vaates ja valib makseviisi.
2. Kasutaja on valinud makseviisiks Pangalingiga ning vajutab
nupule Edasi.
3. Süsteem loob kirje atis.everypay_stamp_logi tabelisse (võib
kasutada ka olemasolevat tabelit atis.panga_stamp_logi kui ei
ole vajalik eraldi tabelit luua)
a. id
b. session_id
c. user_ip
d. returl
e. teated_id
f. description
g. summa
h. valuuta
34
i. makse_aeg
4. Süsteem teeb päringu Everypay keskkonda
v4/payments/oneoff :
a. "structured_reference": 5705872,
b. "payment_description": "Ametlikud Teadaanded.
Teadaande avaldamine. Makse
'{atis.everypay_stamp_logi.id}'.",
c. "account_name": "EUR3D1",
d. "nonce": "165784ab51fkm",
e. "timestamp": "2023-12-05T10:27:32Z",
f. "amount": 0.05,
g. "order_reference": teadaande ID,
h. "request_token": true,
i. "token_agreement": "unscheduled",
j. "email": "[email protected]", maksja e-mail
k. "phone_number": {
"country_code": 372,
"number": 7878419
},
l. "customer_ip": "53.62.137.190",
m. "customer_url": "https://example.com", kasutaja tagasi
naasmiseks AT-sse
n. "locale": "et/en",
o. "api_username": "a04e7ce1060e7024",
p. "preferred_country": "EE",
q. "mobile_payment": true/false,
r. "token_consent_agreed": true,
s. "integration_details": {
"integration": "Custom",
"software": "AT",
"version": 2.1
}
5. Süsteem saab päringule vastuse ja töötleb seda:
a. status 201 → suunata kasutaja tagastatavale URL-ile
payment_link
b. status 400 & 401:
i. Vt. teksti "Kasutajale kuvatav info, kui
pangalingiga maksma suundumisel ei saa
süsteem Everypay-st edukat vastust"
35
ii. Kasutuslugu liigub punkti 1
6. Kasutaja jälgib maksekeskkonnas juhiseid ja teostab
pangalingiga makse ning suundub tagasi AT-sse
7. Süsteem logib eduka makse andmed tabelisse
atis.everypay_maksed
a. makse info uuendamiseks päring
(v4/payments/{payment_reference})
8. Süsteem suunab kasutaja teadaannete vaatesse ja kuvab
kasutajale info makse staatuse kohta:
Vt. tekstid tabelist: "Tagastatav info makse staatuse kohta"
9. Süsteem loob eduka makse puhul makstud nõude NAP-i
10. Süsteem muudab teadaande avalikuks
ATEP-003
Kasutaja maksab teadaande riigilõivu Everypay keskkonnas (valides
ise sobiva panga), pärast edukat makset, naaseb Ametlikud Teadaanded
lehele ning teadaanne avaldatakse.
Halduse vaade
ATEP-004
Everypay makselahendus on haldusest muudetav halduri rollis
asukohaga: Seaded → Everypay makselahendus (Tekst muudetav
Seaded → Tekstid → haldus_everypay_pealkiri).
ATEP-005
Kuvatakse halduri rollis olevale kasutajale järgnevad väljad ning kõik
on muudetavad:
Kas süsteem kasutab LIVE kontot? Rippmenüü JAH/EI
(atis.sys_everypay.is_live)
API kasutajanimi (atis.sys_everypay.api_kasutajanimi)
API salajane võti (atis.sys_everypay.api_salajane_voti)
TEST API kasutajanimi
(atis.sys_everypay.test_api_kasutajanimi)
TEST API salajane võti
(atis.sys_everypay.test_api_salajane_voti)
API töötlemiskonto (atis.sys_everypay.api_tootlemiskonto)
Salvestatakse tabelisse atis.sys_everypay.
Andmed saab siit: Your API username and API secret can be found in
Merchant portal/General settings
36
ATEP-006 Maksemeetodi nimi maksmise vaates võetakse haldusest halduri rollis
Seaded → Tekstid → avaldajale_riigiloivu_everypay_valik
ATEP-007 Kõik arenduse käigus lisatavad tekstid on muudetavad haldusest
halduri rollis Seaded → Tekstid
ATEP-008 Pangamakseid on võimalik näha haldusest Maksed → Panga maksed
(olemasoleva loogika täiendamine uue maksekeskusega).
ATEP-009
Haldur saab käsitsi NAP nõuet maksega siduda (Maksed → NAP
Haldus) ning riigilõivuga teadaannetel kuvatakse "Pangalingi info"
blokk (olemasoleva loogika täiendamine uue maksekeskusega).
Andmetabelid
atis.everypay_maksed/atis.panga_maksed
Tunnus Tüüp Selgitus
stamp_logi_id integer Panga_stamp_logi primaarvõti.
session_id character varying(64) Süsteemi sessiooni võti.
user_ip/initial_amount character varying(20) Kasutaja IP aadress.
teated_id integer Teadaande primaarvõti.
summa/initial_amount numeric(12,2) Makstud summa
37
makse_aeg/transaction_time timestamp Makse teostamise aeg.
vk_snd_acc/debtor_iban character varying(20) Maksja kontonumber.
vk_snd_name/ character varying(100) Maksja nimi.
vk_t_date/payment_created_at character varying(20) Makse aeg (pangast).
vk_snd_id/payment_method character varying(20) Panga id.
selgitus/ob_payment_reference character varying(4000) Makse selgitus.
vk_ref/order_reference character varying(20) Makse viitenumber.
vk_rec_acc/creditor_iban character varying(20)
valuuta character varying(3) Makse valuuta.
atis.everypay_stamp_logi/atis.panga_stamp_logi
Tunnus Tüüp Selgitus
id integer Primaarvõti, määrab ATIS.
session_id character varying(64) Süsteemi sessiooni võti.
38
user_ip character varying(20) Kasutaja IP aadress.
returl character varying(1000) Tagasipöördumise URL.
teated_id integer Teadaande primaarvõti.
description character varying(4000) Kirjeldus
summa numeric(12,2) Makstav summa
valuuta character varying(3) Makse valuuta.
makse_aeg timestamp Makse aeg.
atis.sys_everypay
Tunnus Tüüp Selgitus
id integer Primaarvõti, määrab ATIS (kuigi siia ei saa üle id > 1 tulla,
salvestatakse alati üle) võib kaaluda ka mujale paigutamist
is_live boolean Kas kasutatakse päringu tegemisel LIVE või TEST andmeid
api_kasutaj
animi
character
varying(100
0)
39
api_salajan
e_voti
character
varying(100
0)
test_api_ka
sutajanimi
character
varying(100
0)
test_api_sa
lajane_voti
character
varying(100
0)
api_tootle
miskonto
character
varying(100
0)
Tekstid
Kõik tekstid on lisatud informatiivselt, et oleks aru saada, millist infot võiks kasutajale
kommunikeerida. Need võiks olla haldusest muudetavad.
Kasutajale kuvatav
info, kui Everypay
keskkonda
suunamine ei toimi.
Süsteemis esines viga, proovige
uuesti. Kui probleem jätkub,
valige muu makseviis või
pöörduge klienditoe poole.
There was a system error, please try
again. If the problem persists, please
use a different payment method or
contact customer support.
Pangalingiga nupu
nimetus
Pangalingiga Bank link
Tagastatav info
makse staatuse
kohta
Süsteemi tekst kohalt
avaldajale_avaldamine_onnestus
(olemasolev tekst)
Süsteemi tekst kohalt
avaldajale_avaldamine_onnestus
(olemasolev tekst)
40
Krediitkaardimaksed (EMTA)
Üldkirjeldus
Eesmärk on võimaldada kasutajal tasuda riigilõivu krediitkaardiga. Selle jaoks
kasutatakse EMTA maksemoodulit.
Kasutusloo põhivoog
1. Kasutaja on teadaande avaldamisel riigilõivu maksmise vaates ja valib
krediitkaardiga maksmise
2. Kasutaja tasub riigilõivu EMTA maksemoodulis kasutades krediitkaarti
3. Kasutaja ootab, kuni EMTA maksemooduli poolt tuleb teavitus, et riigilõiv on
tasutud
4. EMTA maksemoodul suunab tagasi AT lehele
5. Süsteem kuvab kasutajale õnnestunud teavitust ja teadaanne muutub avalikuks
Nõuded
Nõude ID Nõude kirjeldus Jira
pilet
Üldised nõuded
AT-CC-
001
Süsteem kuvab teadaande avaldamisel riigilõivu maksmise vaates
krediitkaardiga makseviisi. Makseviisi nimetus on haldusest muudetav
(Seaded → Tekstid → Süsteemsed tekstid).
41
AT-CC-
002
Valides krediitkaardiga maksmise ning vajutades nupule "Edasi" suunatakse
kasutaja maksemooduli keskkonda riigilõivu tasuma.
Detailne süsteemi kirjeldus
Süsteemi kirjeldus:
1. Kasutaja on teadaande koostamisel makseviisi valiku vaates
ning valib krediitkaardiga maksmise ja vajutab nupule "Edasi"
2. Süsteem kontrollib, kas eksisteerib loodud
(maksemooduli_tellimused.seisund='L') tellimus, mis on seotud
teadaande ID-ga, kui pole, jätkub kasutuslugu punktist 3, kui
tellimus on olemas, punkt 2.a.
a. Süsteem kontrollib tellimuse riigilõivu summat
(maksemooduli_tellimused.summa) ja aegumise aega
(maksemooduli_tellimused.aegub)
i. Riigilõivu summa on korrektne ja tellimuse
aegumiseni ei ole liiga vähe aega - kasutuslugu jätkub
punktist 6
ii. Riigilõivu summa ei ole korrektne või tellimuse
aegumiseni on liiga vähe aega:
1. Tühistame tellimuse kasutades
cpgOrderCancel teenust:
a. Süsteem edastab cpgOrderCancel
sõnumi:
i. cpgOrderCancelRequest/Id -
atis.maksemooduli_tellimused.
tellimuse_id
b. Süsteem töötleb päringu vastuse:
i. Päring oli edukas:
1. Edukaks loetakse
päring, kui vastuses on
tühi
cpgOrderCancelRespon
se element või vastati
http staatus 204
(Tellimus antud
identifikaatoriga ei
42
eksisteeri või on juba
tühistatud.)
2. atis.maksemooduli_telli
mused.tellimuse_seisun
d_kl väärtuseks
seatakse 'X'
3. Tegevus jätkub
kasutusloo punktis 3
ii. Päring ei olnud edukas:
1. Timeout:
a. Laseme
tellimusel
aeguda ja loome
uue tellimuse
b. Tegevus jätkub
kasutusloo
punktis 3
2. Vastuses on HTTP
staatus 409,
TyhistamineKeelatud
(CancellingNotAllowe
d) - olukord, kus
tellimus on "Pooleli"
seisundis:
a. Laseme
tellimusel
aeguda ja loome
uue tellimuse
b. Tegevus jätkub
kasutusloo
punktis 3
3. Muu viga:
a. Laseme
tellimusel
aeguda ja loome
uue tellimuse
b. Tegevus jätkub
kasutusloo
punktis 3
43
3. Süsteem loob kirje atis.maksemooduli_tellimused tabelisse:
a. tellimuse_id - NULL
b. teadaande_id - Teadaande ID
c. tellimuse_seisund_kl - 'U'
d. loodud - NULL
e. aegub - NULL
f. lopetatud - NULL
g. summa - Riigilõivu nõude summa
h. valuuta - Rigiilõivu nõude valuuta, 'EUR'
i. viitenumber - Teadaande riigilõivu nõude viitenumber
j. link - NULL
k. noue_edastatud - false
4. Süsteem edastab EMTAle cpgOrderInit päringu:
a. Id - ei edasta, tellimuse unikaalne tunnus, genereeritakse
EMTA maksemooduli poolt
b. State - ei edasta tellimuse viimane seisund, esimene
võimalik seisund, millega ka vastatakse meie poolsele
päringule, oleks Loodud ('Created')
c. Description - maksekorralduse selgitus (kuvatakse maksjale
tasumise protsessi käigus EMTA maksemoodulis).
i. Ametlikud Teadaanded. Teadaande avaldamine.
Makse '{atis.maksemooduli_tellimused.id}'. NB!
Selgitus tuleb anda kolmes erinevas keeles.
d. Created - ei edasta, tellimuse loomise kuupäev ja aeg
maksemoodulis
e. Finished - ei edasta, tellimuse täitmise/tühistamise kuupäeva
ja aeg maksemoodulis
f. Expires - ei edasta, väli, mille kaudu Kaupmees saab
määrata aega, milleks tellimus peab olema täidetud. Kui
element puudub, tellimuse kehtivus on määratud vastavalt
globaalsetele seadmetele (EMTA sõnul on toodangus neil
vaikimisi 15min)
g. Amount - atis.maksemooduli_tellimused.summa
h. Currency - atis.maksemooduli_tellimused.valuuta
i. PaymentMethods
i. PaymentMethod
1. Code - hetkel alati 'creditcard'
2. Brokers - Ei edasta
a. Broker - Ei edasta
44
i. Code - Ei edasta
ii. Url - Ei edasta
j. Merchant
i. Id - kaupmehe unikaalne tunnus EMTA
maksemoodulis Ei edasta
ii. Name - kaupmehe nimi EMTA maksemoodulis
'Tuleb küsida mis nimetus EMTA poolt on'
iii. Stamp - atis.maksemooduli_tellimused.id Infoks:
Tellimuse tunnus. Kaupmehe poolt etteantud
ostukorvi identifikaator, mille abil kaupmees saab
siduda maksemooduli kirje ja kirje oma
infosüsteemis.
1. Märkus: Kui Kasutaja on suunatud ümber
tagasi Kaupmehe juurde peale tellimuse
täitmist, Kaupmehe poolt väljastatud
tellimuse number peab olema talle kuvatud.
iv. Notes - Ei edasta
k. Customer
i. Code - Edastame andmeandja registrikoodi või
isikukoodi (maksja andmed)
ii. Email - Edastame andmeandja e-posti aadressi või
isiku e-posti aadressi (kui e-posti aadressi pole, ei
edasta)
iii. Country - 'EE' juhul, kui edastame Code, vastasel
juhul ei edasta
iv. Language - vastavalt portaali keelele 'et'/'en'
v. ReferenceNumber -
atis.maksemooduli_tellimused.viitenumber
l. Callback - Märkus: Callback on vabatahtlik grupp, kui
URL-id on Kaupmehe ja e-MTA Maksemooduli poolt on
ette lepitud. Kaupmees peab ette andma Maksemoodulile
vähemalt 1 redirect ja vähemalt 1 notify URL. Toetatud on
placeholder ${id}. Maksemoodul asendab selle enda poolt
määratud tellimuse identifikaatoriga (x-Tee teenuse vastuses
olev element "order.id")
i. Redirect - atis.maksemooduli_tellimused.callback
Selgitus: URL, kuhu suunatakse maksja brauser
eduka tehingu sooritamisel. URLile lisatakse
tellimuse tunnus.
45
ii. Notify
1. Method - hetkel alati 'xroad', selgitus:
teavitamise meetod: get, post, xroad
2. url - Ei edasta, vabatahtlik, kui meetod on
xroad
m. Links - Maksevormi aadress(id) Ei edasta
n. Payments ← Ei edasta. Puudub välise / x-Tee teenuse puhul.
Kasutusel Maksemooduli Backoffice jaoks.
5. Süteem töötleb EMTAlt tulnud cpgOrderInit päringu vastuse:
a. Vastuses puudub fault sektsioon - süsteem uuendab andmeid
atis.maksemooduli_tellimused tabelis, kus
atis.maksemooduli_tellimused.id=cpgOrderInitResponse/Or
der/Merchant/Stamp:
i. tellimuse_id - cpgOrderInitResponse/Order/Id
ii. tellimuse_seisund_kl -
cpgOrderInitResponse/Order/State
iii. loodud - cpgOrderInitResponse/Order/Created
iv. aegub - cpgOrderInitResponse/Order/Expires
v. lopetatud - cpgOrderInitResponse/Order/Finished
(kui väli on täitmata või puudub, siis NULL)
vi. maksevormi_url -
cpgOrderInitResponse/Order/Links/Link/Href
b. Vastuses eksisteerib fault sektsioon:
i. Vt. teksti "Kasutajale kuvatav info, kui
krediitkaardiga maksma suundumisel ei suuda
süsteem luua EMTA MMis tellimust"
ii. Kasutuslugu liigub punkti 1
c. Saame timeout:
i. soovitame proovida uuesti ja pöörduda kasutajatoe
poole või valida teine makseviis, kui probleem jätkub
ii. atis.maksemooduli_tellimused tabelit ei uuendata ←
vajalik, sest tellimus võidi siiski luua ning hiljem on
võimalik selle alusel tellimus kokku viia, kui meid
teavitatakse tellimuse seisundi muutusest (nt. tellimus
aegub)
6. Süsteem suunab kasutaja EMTA maksemoodulisse, kasutades linki,
mis on atis.maksemooduli_tellimused.maksevormi_url väljal
7. Kasutaja jälgib maksemoodulis juhiseid ja teostab krediitkaardiga
makse ning suundub tagasi AT-sse
46
8. Süsteem pärib taustal tellimuse andmed cpgOrderGet päringuga
a. Id - atis.maksemooduli_tellimused.tellimuse_id (tuleb
tuvastada õige tellimus, st. tuleb arvestada, et korraga võib
teadaandega olla seotud mitu tellimust)
9. Süsteem kontrollib päringu vastusest tellimuse staatust:
a. Kui punktis 8 on staatus 'P' või 'L', siis luua uus nõude kirje
(vt nap_add_noudeinfo())
i. teadanne jääb staatusega 'pooleli', taustatöö käib
hiljem automaatselt kontrollimas, kas staatus muutub
(või haldur teeb seda käsitsi) ning kui saabub
laekumine, seotakse nõue sellega ja alles seejärel
teadaanne avaldatakse ja uuendatakse
atis.maksemooduli_tellimused.noue_edastatud
väärtus true
b. Kui punktis 8 on staatus 'T' ehk 'completed', siis luua uus
nõude kirje ja siduda kohe laekumisega ning avaldada
teadaanne koheselt (teadaande staatus AD ja uuendatakse
atis.maksemooduli_tellimused.noue_edastatud väärtus true)
c. Kui punktis 8 on staatus 'X', siis nõuet ei looda, tellimuse
staatus muudetakse vastavalt ning teadaanne jääb 'töös'
staatusesse (kasutaja saab soovi korral uuesti maksma minna
ja luuakse uus tellimus)
4. Tuleks täiendada cron_nap_checker.py -
cron_nap_checker.py kontrollib NAP-st tasuliste
teadaannete riigilõivude laekumist.
10. Süsteem suunab kasutaja teadaannete vaatesse ja kuvab kasutajale
info tellimuse staatuse kohta:
a. Vt. tekstid tabelist: "Tagastatav info tellimuse staatuse
kohta"
AT-CC-
003
Süsteem muudab teadaande avalikuks (staatusega 'AD') kui krediitkaardi
tellimuse staatuseks saab 'T' ehk 'completed' ning nõue on seotud
laekumisega.
Senikaua kui laekumist ei ole tulnud, on teadaanne staatuses "ootel".
Riigilõivu tulpa kuvatakse teksti "Ootel, krediitkaardiga". Vajutades nupule
"Tühista" tühistatakse tellimus Maksemoodulis cpgOrderCancel teenusega
vt nõuet AT-CC-002 punkt 2a1
47
Näide:
Taustatööd
AT-CC-
004
Süsteem võtab EMTA-lt vastu tellimuste staatuse uuendusi. EMTA MM
teavitab kasutades cpgOrderNotify teenust, kui mõne tellimuse staatus on
muutunud. (Ei ole kindel, et EMTA seda teeb võibolla peab lahendama
tellimuste uuendamise ainult nõudega AT-CC-005)
Detailne süsteemi kirjeldus
1. EMTA saadab sõnumi cpgOrderNotifyRequest, kus on täidetud väli
cpgOrderNotifyRequest/id
2. Süsteem kontrollib, kas sellise ID-ga tellimus on meil olemas
(atis.maksemooduli_tellimused.tellimuse_id=cpgOrderNotifyReque
st/id)
a. Tellimus on olemas:
i. Süsteem saadab vastuseks cpgOrderNotifyResponse
sõnumi, mille keha (body) sisu on:
<tns:cpgOrderNotifyResponse/>
b. Tellimust pole:
i. Süsteem saadab vastuseks cpgOrderNotifyResponse
sõnumi, millel on täidetud Fault element:
1. faultcode - 'soap:Server'
2. faultstring - 'Order not found with id: (request
päringus edastatud
cpgOrderNotifyRequest/id)
3. Süsteem lisab kirje atis.krediitkaardi_teavitused tabelisse (või
uuendab olemasoleva töötlemata kirje teavituse_aeg väärtust - võib
tekkida olukorras, kus meid teavitatakse, kuid nemad ei saa teavituse
kinnitamise sõnumit kätte):
a. tellimuse_id - cpgOrderNotifyRequest/id
b. teavituse_aeg - now()
c. toodeldud - false
d. vastus - NULL
e. saatmise_kordi - 0
48
f. viga - NULL
Kuna EMTA teavitab meid tellimuse seisundi muudatusest cpgOrderNotify
teenust kasutades, aga ei anna kaasa uut seisundit, ega tellimuse info, tuleb
eraldi pärida tellimuse infot. Selle jaoks kasutame teenust cpgOrderGet.
Lisaks kontrollitakse, et tellimuse andmed oleksid korrektsed (viitenumbri
ja tellimuse vastavus) ning et tellimus oleks üldse meie oma. Kui tegemist
on kahtlase tellimuse infoga, salvestame vea ja sellega tuleb juba edasi
kästisi tegutseda.
1. Otsitakse välja tellimused, mille seisundi muudatusest on meid
teavitatud (atis.krediitkaardi_teavitused.toodeldud is false)
2. Otsitakse välja tellimused, mille seisund on L või P
3. Päritakse tellimuste info cpgOrderGetRequest päringuga:
a. Id - atis.krediitkaardi_teavitused.tellimuse_id
4. Töödeldakse vastus:
a. saatmise_kordi väärtus seatakse 1 võrra suuremaks
b. Kui vastuseks saadi viga:
i. logitakse see atis.krediitkaardi_teavitused.viga väljale
ja liigutakse edasi järgmise kirje juurde
ii. Liigutakse edasi järgmise kirje juurde
c. Kui vastuseks ei saadud viga, kontrollitakse, et eksisteeriks
kirje ja viitenumber oleks korrektne vastavalt
cpgOrderGetResponse sisule
i. Ei eksisteeri kirjet, kus
atis.maksemooduli_tellimused.id =
Order/Merchant/Stamp või leitud tellimuse
atis.maksemooduli_tellimused.viitenumber ei ole
sama, mis Order/Customer/ReferenceNumber: Seda
olukorda ei saa tekkida, sest pärime ainult
olemasolevate tellimuste infot
1. atis.krediitkaardi_teavitused.vastus väljale
salvestatakse cpgOrderResponse - tegemist on
mingi suurema veaga ning automaatselt
töödelda ei tasu (nt. on alust arvata, et pole
meie loodud tellimus)
2. atis.krediitkaardi_teavitused.toodeldud
seatakse true
ii. Kirje eksisteerib ning viitenumber on korrektne:
49
1. uuendatakse atis.maksemooduli_tellimused
kirjet:
a. tellimuse_seisund_kl - Order/State
b. lopetatud - Order/Finished
c. summa - Order/Amount (summa ja
valuuta peaksid olema alati samad,
kuid igaks juhuks on mõistlik seda
infot uuendada, et meil oleks tasutud
summa osas täielik kindlus -
kontrollime seda enne, kui lubame
avalduse menetlusse)
d. valuuta - Order/Currency
e. atis.krediitkaardi_teavitused.toodeldud
seatakse true
2. Lisatakse riigilõivu tabelisse kirje
5. Otsitakse välja tellimused, mille tellimuse_seisund_kl='T' ja
noue_edastatud is false
6. Edastatakse riigilõivu info punktis 5 leitud tellimuste kohta
kasutades NAP-i edastamise teenust:
a. Tuli viga :
i. uuendatakse
atis.maksemooduli_tellimused.noue_edastatud
väärtus true
b. Päring oli edukas - uuendatakse
atis.maksemooduli_tellimused.noue_edastatud väärtus true
AT-CC-
005
Süsteemi perioodiline taustatöö kontrollib pooleli jäänud
krediitkaardimakseid cpgOrderGet meetodiga (sisendisse tellimuse_id).
Uuendab tellimuste staatuseid vastavalt tabelis atis.klassifikaatorid olevatele
seisunditele.
Nt juhtum, kus kasutaja on läinud maksemooduli keskkonda, kuid back
nupuga tagasi tulnud või lihtsalt sulgenud kõik aknad, siis tellimus jääb
meie tabelisse alles kui staatusega 'L', sellises olukorras on vaja aegunud
tellimused tühistada süsteemi poolt automaatselt.
AT-CC-
006 Süsteemi perioodiline taustatöö kontrollib kui tellimus on saanud staatuseks
'T' ehk completed, siis saadetakse makstud nõue NAPi. Eduka saatmise
50
puhul uuendatakse atis.maksemooduli_tellimused.noue_edastatud väärtus
true.
Halduri vaade
AT-CC-
007
Halduri rolli vaates lisada NAP haldusesse "Maksemooduli andmed" blokk
(AT → Halduri roll → Maksed → NAP Haldus → Riigilõivud →
Maksemooduli andmed). Blokki kuvatakse ainult juhul kui makseviisiks on
krediitkaart (atis.teated tabelisse luua uus tulp riigiloiv_krediitkaardiga
true/false).
Kui makseviis on krediitkaart, siis kuvada järgnevaid tingimusi:
Kas on riigilõiv krediitkaardiga? True/False
"Tühista" e. cpgOrderCancel teenus - nuppu kuvatakse ainult siis,
kui tellimuse staatus on "L" (loodud).
"Uuenda" e. cpgOrderGet teenus - nuppu kuvatakse alati tellimuse
taga
51
Logimine
AT-CC-
008
Eesmärk on, et võimalikult paljud tegevused oleks logitud.
Logida järgnevaid tegevusi:
1. Tellimuse info värskendamine tabelisse atis.sys_maksemoodul_logi:
a. Iga kord, kui süsteem teeb cpgOrderGet päringu, tuleb logida
see maha (kas siis värskendamine on halduri poolt välja
kutsutud või taustaprotsessi):
i. makse_mooduli_tellimused_id -
atis.maksemooduli_tellimused.id, mille infot
püütakse värskendada
ii. aeg - now()
iii. tegevus - 'sync'
52
iv. teade:
1. eduka värskendamise korral 'Tellimuse
staatus uuendatud: (vana_vaartus) →
(uus_vaartus)'
2. teenuse vea korral soapfault, tagastatud viga
või timeout
3. üleüldine viga - stacktrace, et oleks võimalik
viga hiljem tuvastada
2. Riigilõivu info edastamine (täiendada olemasolevat loogikat, mis
logib tabelisse atis.sys_xtee_log_nap)
Andmetabelid
Luuakse uus tabel atis.maksemooduli_tellimused, kus hoiame tellimuste infot.
Veeru nimetus Andmetüüp Selgitus Märkused
id bigint PK
teate_id bigint FK atis.teated.id
tellimuse_id text maksemooduli poolt loodud
tellimuse identifikaator
näidis infoks: e1656999-
01b8-46c5-b453-
9ca7039785ea
tellimuse_seisu
nd_kl
text FK klassifikaatorid.kood (NOT
NULL)
tellimuse seisund
loodud datetime maksemoodulis tellimuse
loomise aeg
aegub datetime maksemoodulis tellimuse
aegumise aeg
lopetatud datetime maksemoodulis tellimuse
lõpetamise aeg
summa numeric(15,2) tellimuse summa riigilõivu nõude summa
valuuta text tellimuse valuuta peaks olema alati EUR
viitenumber text tellimuse viitenumber
53
maksevormi_url text Maksemooduli link, kuhu
kliendi suuname, et ta saaks
tellimuse eest tasuda
noue_edastatud boolean kas tellimuse kohta on nõue info
edastatud MT-sse (default
väärtus = false)
Luuakse uus tabel atis.krediitkaardi_teavitused, kus hoiame teavituste infot. Lisaks kasutab tabelit
taustaprotsess, mis uuendab teavitatud tellimuste andmeid. (Võibolla pole vajalik seda tabelit
luua)
Veeru nimetus Andmetüüp Selgitus Märkused
id bigint PK
tellimuse_id text Tellimuse
identifikaator
maksemoodulis
teavituse_aeg datetime Aeg, millal
MM teavitas
meid tellimuse
seisundi
muutusest
toodeldud boolean Bit
indikeerimaks,
kas teavituse
põhjal on
tellimuse
andmed
uuendatud
vastus text Tellimuse info
päringu vastus,
kui on alust
arvata, et
tegemist pole
meie loodud
tellimusega
Esialgne idee,
salvestada kogu
tellimuse info, kui on
alust arvata, et
tegemist ei ole meie
loodud tellimusega.
Enamus juhtudel
NULL
54
saatmise_kordi int Mitu korda on
püütud
teavituse infot
pärida
Siin võiks olla ka max
arv kordi, mitu korda
üritame ühe
konkreetse tellimuse
kohta infot pärida
viga text Teavituse info
pärimisel
tekkinud viga
Täiendatakse tabelit klassifikaatorid järgnevate seisunditega:
tabel_veerg ko
od
nimetus_e
st
nimetus_en
g
keht
ib
MAKEMOODULI_TELLIMUSED.TELLIMUSE_SEISUND_
KL
L loodud created true
MAKEMOODULI_TELLIMUSED.TELLIMUSE_SEISUND_
KL
P pooleli pending true
MAKEMOODULI_TELLIMUSED.TELLIMUSE_SEISUND_
KL
T täidetud completed true
MAKEMOODULI_TELLIMUSED.TELLIMUSE_SEISUND_
KL
X tühistatud cancelled true
MAKEMOODULI_TELLIMUSED.TELLIMUSE_SEISUND_
KL
U loomisel under
creation
true
Välised klassifikaatorid
Tellimuse staatused
Välja on toodud tellimuse võimalikud staatused. Lisatud ka meie baasi koos täiendustega.
created Loodud Tellimuse identifikaator on loodud e-MTA Maksemooduli poolt.
Tellimuse staatus "Loodud" tekib kui Tellija vajutab ostukorvis
"Siirdu maksma" (või sama tähendusega nupule) ning Kaupmees
kasutab teenust "Tellimuse algatamine".
55
Tellimus jääb "Loodud" staatusse seni kui Tellija / Maksja poolt on
valitud makseviis.
Alternatiivvoog: kui tellimus oli täidetud, kuid kõik sellega seotud
maksed on annulleeritud (tellimuse summa täisulatuses), tellimus
läheb tagasi staatusele "Loodud".
Kui tellimuse on "Loodud" staatuses, sellega ei ole seotud ühtegi
pooleli / sooritatud makset.
pending Pooleli Tellimus on "Pooleli" staatuses sellest hetkest, kui Maksja valib
makseviisi. Teda suunatakse ümber vastava Vahendaja URLi.
Alternatiivvoog: kui tellimus oli täidetud, kuid mõned sellega seotud
maksed on annulleeritud (kuid mitte tellimuse summa 100%
ulatuses), tellimus läheb tagasi staatusele "Pooleli".
Kui tellimuse on "Pooleli" staatuses, sellega on seotud üks või
rohkem pooleli / sooritatud makseid, kuid tellimuse summa ei
ole makstud 100% ulatuses.
completed Täidetud Tellimuse eest on makstud 100% ulatuses.
cancelled Tühistatud Tellimus on olnud Kaupmehe poolt tühistatud
Tellimusega seotud makse on olnud Vahendaja poolt tagasi
lükatud
Makse on aegunud. Maksjal on võimalus olla suunatud tagasi
ostukorvi ning proovida maksta uuesti; antud juhul, kui nupp
"Siirdu maksma" on vajutatud, uus Makse tunnus (Id) on
loodud e-MTA Maksemooduli poolt
Tellimus on tühistatud e-MTA Maksemooduli poolt.
56
Kõik tellimusega seotud maksed on olnud annulleeritud
(cancelled)
Makse staatused
Välja on toodud makse võimalikud staatused. Meie baasi eraldi vaja pole, sest maksete infot ei
edastata meile.
pending Pooleli Makse on "Pooleli" staatuses sellest hetkest, kui Maksja valib
makseviisi. Teda suunatakse ümber vastava Vahendaja URLi.
Märkus: Makse ei või olla "Loodud" staatuses.
complete
d
Sooritatud Makse on olnud edukalt sooritatud
cancelled Tühistatud a) Makstamata aegunud või b) sooritatud ja hiljem annuleeritud
makse
Makse/tellimuse tühistamise põhjused
Välja on toodud makse/tellimuse võimalikud tühistamise põhjused. Tegemist pigem informatiivse
infoga, sest meie usaldame täielikult EMTA poolset teavitust, et laekumine on tasutud - infot
maksete kohta eraldi meile ei edastata.
cancelReason Kirjeldus Selgitus
refuse Katkestatud Makse katkestatud Maksja poolt (ehk ta vajutab nuppu
"Tagasi ostukorvi").
expired Aegunud
timedout_broker Aegunud
(Vahendaja
poolt)
Sessioon on aegunud. Vahendaja poolne sessiooni
piirang on ületatud.
nullified Tühistatud Makse on tühistatud E-MTA Maksemooduli poolt.
error Viga Makse ei ole sooritatud ega lõpetatud. Soovi korral
Maksjal on võimalus proovida uuesti.
57
declined_{Vahend
aja error code}
Tagasi lükatud Makse on olnud Vahendaja poolt tagasi lükatud. Siia
alla tulevad erinevad Vahendaja poolt antud põhjused,
miks makse ei olnud edulakt sooritatud.
Tagastatavad vead
Üldised vead
cpgOrderInit üldised vead
HTTP
status
Vea
nimi EE
Vea
nimi
EN
Kirjeldus Veateade EE Veateade EN
400
Maksevi
isiPuudu
vadVõiP
iiratud
noMet
hods
Antud
Kaupmehe
ga ei ole
seotud
makseviise
või e-MTA
Maksemoo
duli poolt
lubatud
makseviisi
d on
piiratud
Kaupmehe
poolt.
Kahjuks, Teiega ei
ole seotud ühtegi
kehtiva lepingut või
piirang
makseviiside
kuvamiseks on
lisatud Teie poolt.
Palun vaadake üle
omapoolseid
makseviiside
kitsendusi või/jah
võtke ühendust
CPG-ga, et
kontrollida oma
lepingu kehtivust ja
/ või sõlmida /
uuendada lepingut.
Unfortunately there are no
payment methods associated
with You or You have
restricted those available to
You. Please revise payment
method restrictions imposed by
You and / or contact CPG in
order to determine whether
Your agreement is valid and /
or to sign / renew it
401 Autenti
mata
Unaut
horize
d
Kasutaja ei
ole
autenditud.
Viga
tekkib kui
token on
määramata
või
kaupmehe
id või
Teenust saab
kasutada ainult
edukalt
autentifitseeritud
kasutaja
Authentication is required and
has failed or has not yet been
provided
58
parool ei
ole
korrektne
403 Keelatu
d
Forbi
dden
Kasutajal
puuduvad
õigused
selle
päringu
teostamise
ks. Antud
tellimus ei
ole antud
Kaupmehe
ga seotud.
Teil ei ole õigusi
antud toimingu
teha.
You do not have the rights to
perform this operation.
Viga Error
Vaikimisi
veateate,
kui viga ei
ole õigesti
konfigureer
itud.
Sisestamisel on
tekkinud viga!
Palun minge tagasi
ja proovige uuesti.
An error occured.
cpgOrderCancel üldised vead
HTTP
staatus
Vea
nimi
EE
Vea nimi
EN Kirjeldus Veateade EE Veateade EN
401 Autenti
mata
Unauthoriz
ed
Kasutaja ei ole
autenditud. Viga
tekkib kui token on
määramata või
kaupmehe id või
parool ei ole
korrektne
Teenust saab
kasutada ainult
edukalt
autentifitseeritu
d kasutaja
Authentication is
required and has
failed or has not yet
been provided
403 Keelatu
d Forbidden
Kasutajal puuduvad
õigused selle
päringu
Teil ei ole
õigusi antud
toimingu teha.
You do not have
the rights to
perform this
operation.
59
teostamiseks. Antud
tellimus ei ole antud
Kaupmehega
seotud.
409
Tyhista
mineKe
elatud
Cancelling
NotAllowe
d
Antud tellimuse
seisund ei ole
lubatud
tühistamisele.
Antud tellimus
on juba töös
ning selle
tühistamine ei
ole lubatud.
The payment for
this order has
already been
started, so the order
is not subject to
cancelling any
more.
404
Telimu
seIdPuu
dub
NotFound
Antud tellimuse
identifikaatorit ei
eksisteeri.
Tellimust, mida
Teie soovite
tühistada, ei
eksisteeri.
The order that you
are trying to cancel
does not exist.
204 Tellimu
s
Tellimus antud
identifikaatoriga ei
eksisteeri või on
juba tühistatud.
Tellimus antud
identifikaatoriga
ei eksisteeri või
on juba
tühistatud.
The order that you
are trying to cancel
either does not exist
or has already been
cancelled.
400 Viga Error
Vaikimisi veateate,
kui viga ei ole
õigesti
konfigureeritud.
Viga. An error occured.
Sisulised vead
cpgOrderInit sisulised vead
Välja on toodud EMTA poolsed sisulised kontrollid ja nende poolsed vead teenusele cpgOrderInit
- tellimuse loomine.
Maha on tõmmatud kontrollid, mis meile ei tohiks rakenduda ning punaseks on tehtud kontrollid,
mille osas tuleb täpsustada.
Kontroll Kirjeldus Reegel
60
Kohustuslik Kontrollib, et tellimuse algatamise päringus
eksisteerib nõutud maksmisele summa. Summa eksisteerib.
Kohustuslik Kontrollib, et tellimuse algatamise päringus
on määratud valuuta. Valuuta eksisteerib.
Kohustuslik
Kontrollib, et tellimuse algatamise päringus
on antud eestikeelne tellimuse selgitus
Kaupmehelt.
Eestikeelne selgitus Kaupmehelt
eksisteerib.
Vabatahtlik
(Kohustuslik
(TKT jaoks)
Kontrollib, et tellimuse algatamise päringus
on antud inglisekeelne tellimuse selgitus
Kaupmehelt.
Inglisekeelne selgitus
Kaupmehelt eksisteerib.
Vabatahtlik
(Kohustuslik
(TKT jaoks)
Kontrollib, et tellimuse algatamise päringus
on antud venekeelne tellimuse selgitus
Kaupmehelt.
Venekeelne selgitus Kaupmehelt
eksisteerib.
Tingimusliku
lt kohustuslik
Kontrollib, et tellimuse algatamise päringus
on antud viitenumber (kui Kaupmehega
kokkuleppe järgi viitenumber peab olema
antud).
Kui Kaupmees on TKT IS või
Tollikassa, viitenumber on antud.
(Vaata Väärtuste
definitsioonid#4.Kaupmehed -
kõik TKT või Tollikassaga
seotud kaupmehed, sh test).
Tingimusliku
lt kohustuslik
Kontrollib, et tellimuse algatamise päringus
on antud URL ümbersuunamiseks, kui see ei
ole ettemääratud Kaupmehe seadetes.
Kui Kaupmehe seadetes ei ole
URL ümbersuunamiseks
määratud, see peab olema antud
tellimuse algatamisega.
Tingimusliku
lt kohustuslik
Kontrollib, et tellimuse algatamise X-tee
päringus on antud meetod teavitamiseks, kui
see ei ole ettemääratud Kaupmehe seadetes.
Kui Kaupmehe seadetes ei ole
meetod teavitamiseks x-Tee
kaudu määratud, siis x-Tee
päringu puhul see peab olema
antud tellimuse algatamisega.
Tingimusliku
lt kohustuslik
Kontrollib, et tellimuse algatamise päringus
on antud URL teavitamiseks GET
meetodiga, kui see ei ole ettemääratud
Kaupmehe seadetes.
Kui Kaupmehe seadetes ei ole
URL teavitamiseks GET
meetodiga määratud, see peab
olema antud tellimuse
algatamisega.
61
Tingimusliku
lt kohustuslik
Kontrollib, et tellimuse algatamise päringus
on antud URL teavitamiseks POST
meetodiga, kui see ei ole ettemääratud
Kaupmehe seadetes.
Kui Kaupmehe seadetes ei ole
URL teavitamiseks POST
meetodiga määratud, see peab
olema antud tellimuse
algatamisega.
Tingimusliku
lt kohustuslik
Kontrollib, et kui tellimuse algatamise
päringus on antud Tellija registrikood,
sellega koos peab olema antud registrikoodi
väljastajariik.
Kui tellimuse algatamise
päringus on antud Tellija
registrikood, sellega peab olema
antud koodi väljastajariik.
Tingimusliku
lt kohustuslik
Kontrollib, et kui tellimuse algatamise
päringus on antud Tellija registrikoodi
väljastajariik, sellega koos peab olema antud
Tellija registrikood.
Kui Tellija registrikoodi
väljastajariik on antud,
registrikood peab ka olema
antud.
Formaat Kontrollib tellimuse summa formaadi ja
pikkust. decimal (15 märki, 2 komakohti)
Formaat Kontrollib, kas tellimuse summa on suurem,
kui 0. Summa on suurem, kui 0.
Formaat Kontrollib, et tellimuse valuuta on lubatud
töötlemiseks. Lubatud väärtus: "EUR"
Formaat Kontrollib, et tellimuse valuuta on määratud
lubatud formaadis.
Valuuta koodi pikkus on kolm
A-z tähemärki.
Formaat Kontrollib Kaupmehe tellimuse eestikeelse
selgituse formaadi kõrrektsust. string (max 75)
Formaat Kontrollib Kaupmehe tellimuse inglisekeelse
selgituse formaadi kõrrektsust. string (max 75)
Formaat Kontrollib Kaupmehe tellimuse venekeelse
selgituse formaadi kõrrektsust. string (max 75)
Formaat
Kontrollib Kaupmehe poolt lubatud
makseviise väärtuste korrektsust (kui need
on üldse ette antud).
Võimalikud variandid: Väärtuste
definitsioonid#1.Makseviisid
62
Formaat
Kontrollib Kaupmehe poolt lubatud
maksevahendaja väärtuste korrektsust (kui
need on üldse ette antud) ja maksevahendaja
lubatud seoseid antud makseviisidega.
Võimalikud variandid: Väärtuste
definitsioonid#2.Vahendajad.
Võimalikud variandid: Väärtuste
definitsioonid#3.Makseviisideva
hendajad
Formaat Kontrollib Kaupmehe poolt antud tellimuse
numbri formaadi korrektsust.
Kui Kaupmees on TKT IS või
Tollikassa, lubatud pikkus on 10
tähemärki:
string (max 10)
(Vaata Väärtuste
definitsioonid#4.Kaupmehed -
kõik TKT või Tollikassaga
seotud kaupmehed, sh test)
muud kaupmehed: string (max
128)
Formaat
Kontrollib Kaupmehe poolt antud Tellija
registrikoodi formaadi ja pikkust (kui see
element on antud).
string (max: 20)
Formaat
Kontrollib Kaupmehe poolt antud Tellija
registrikoodi väljastajariigi koodi formaadi
ja pikkust (kui see element on antud).
ISO 3166-1 alpha-2 standardi
järgi.
Väljastajariigi koodi pikkus on 2
tähemärki.
Formaat
Kontrollib Kaupmehe poolt antud Tellija e-
maili formaadi ja pikkust (kui see element
on antud).
Formaat: email.
(max: 128)
Formaat Kontrollib Kaupmehe poolt antud Tellija
soovitava suhtluskeele koodi formaadi. ISO 639-1
63
Koodi pikkus on 2 tähemärki.
Formaat
Kontrollib, kas Kaupmehe poolt antud
Tellija soovitav suhtluskeele kood on
lubatud töötlemiseks.
Formaat Kontrollib Kaupmehe poolt antud
viitenumbri formaadi.
Viitenumber peab vastama Eesti
Pangaliidu poolt määratud
reeglitele.
string (max: 35)
Formaat Kontrollib Kaupmehe poolt antud
ümbersuunamise URL formaadi. URL
Formaat Kontrollib Kaupmehe poolt antud GET
meetodiga teavitamise URL formaadi. URL
Formaat Kontrollib Kaupmehe poolt antud POST
meetodiga teavitamise URL formaadi. URL
64
Protsessijoonised
EMTA dokumentatsioonist protsessijoonis:
65
Tekstid
Kõik tekstid on lisatud informatiivselt, et oleks aru saada, millist infot võiks kasutajale
kommunikeerida. Need võiks olla haldusest muudetavad.
Asukoht Tekst EST Tekst ENG
Kasutajale kuvatav info, kui
krediitkaardiga maksma
suundumisel ei suuda
Süsteemis esines viga,
proovige uuesti. Kui
probleem jätkub, valige muu
There was a system error, please
try again. If the problem persists,
please use a different payment
66
süsteem luua EMTA MMis
tellimust
makseviis või pöörduge
klienditoe poole.
method or contact customer
support.
Krediitkaardi maksmise
nupu nimetus Krediitkaardiga Credit card
Tagastatav info tellimuse
staatuse kohta
Süsteemi tekst kohalt
avaldajale_avaldamine_onne
stus (olemasolev tekst)
Süsteemi tekst kohalt
avaldajale_avaldamine_onnestus
(olemasolev tekst)
Teenused
xtee päise reeglid
X-Tee päringu päis on koostatud X-Tee teenuste üldiste sõnumreeglite järgi ning sisaldab
informatsiooni autoriseeritud asutuse ja kaupmehe kohta.
<xrd:client id:objectType="SUBSYSTEM"> <id:xRoadInstance>ee/ee-test/ee- dev</id:xRoadInstance> <id:memberClass>COM/GOV/..</id:memberCla
ss> <id:memberCode>YOUR_COMMERCIAL_REGISTER_
CODE</id:memberCode> <id:subsystemCode>YOUR_MERCHANT_ID</id:s
ubsystemCode> </xrd:client>
Väli Nimi Tüüp Element
Kohust
uslik
(EMTA
makse
moodul
i
seisuko
hast)*
Kirjeldus
EN Kirjeldus EE
67
client Klient XRoadClientIden
tifierType Jah
Identifies
service client
– an entity
that initiates
the service
call.
This
complex
type serves
as the base
for all other
identifier
types
(derived by
restriction).
It contains a
union of all
fields that
can be
present in
different
identifiers.
The attribute
objectType
contains the
type of the
identifier
and can be
used, for
example, to
distinguish
between X-
Road
member and
subsystem
identifiers
without
resorting to
Identifitseerib
teenuse
klienti, ehk
süsteemi, kes
algatab
teenusekõne.
68
conditions
that check
for presence
of individual
fields.
client Klient XRoadClientIden
tifierType
xRoadInsta
nce Jah
client Klient XRoadClientIden
tifierType
memberCl
ass Jah
client Klient XRoadClientIden
tifierType
memberCo
de Jah
client Klient XRoadClientIden
tifierType
subsystem
Code Jah
service Teenus XRoadServiceIde
ntifierType Jah*
Identifies the
service that
is invoked
by the
request
Identifitseerib
teenust, mis
on päritud.
service Teenus XRoadServiceIde
ntifierType
xRoadInsta
nce Jah*
service Teenus XRoadServiceIde
ntifierType
memberCl
ass Jah*
service Teenus XRoadServiceIde
ntifierType
memberCo
de Jah*
service Teenus XRoadServiceIde
ntifierType
subsystem
Code Jah*
service Teenus XRoadServiceIde
ntifierType
serviceVer
sion Jah*
centralSe
rvice
Keskteenu
s
XRoadCentralSer
viceIdentifierTyp
e
Ei*
Identifies the
central
service that
is invoked
Identifitseerib
keskteenust,
mis on
päritud.
69
by the
request.
centralSe
rvice
Keskteenu
s
XRoadCentralSer
viceIdentifierTyp
e
xRoadInsta
nce Ei*
centralSe
rvice
Keskteenu
s
XRoadCentralSer
viceIdentifierTyp
e
serviceCod
e Ei*
id Id string Jah
Unique
identifier for
this
message.
The
recommende
d form of
message ID
is UUID.
Kordumatu
sõnumi
tunnus.
Soovitatav
sõnumi
tunnuse vorm
on UUID.
userId Kasutaja
Id userId Ei
User whose
action
initiated the
request. The
user ID
should be
prefixed
with two-
letter ISO
country code
(e.g.,
EE12345678
901).
Kasutaja,
kelle tegevus
algatab
teenust.
Kasutaja
tunnus peab
algama
kahetähelise
ISO
riigikoodiga.
E-MTA
Maksemoodu
l ei hakka
salvestama
kasutajate
isikukoode.
70
requestH
ash
requestHa
sh string Ei
For
responses,
this field
contains
Base64
encoded
hash of the
SOAP
request
message.
This field is
automaticall
y filled in by
the service
provider’s
security
server.
Vastuste
jaoks. Väli,
mis sisaldab
SOAP
päringu
Base64
kodeeritud
hash.
Väli on
automaatselt
täidetud
teenuse
pakkuja
turvaserveri
poolt.
requestH
ash/
@algorit
hmId
requestHa
sh/
@algorith
mId
string Jah
Identifies
hash
algorithm
that was
used to
calculate the
value of the
requestHash
field. The
algorithms
are specified
as URIs
listed in
XML-DSIG
specification
[DSI13].
Identifitseerib
hash
algorotmi,
mis oli
kasutatud
requestHash
väli väärtuse
arvutamiseks.
Algoritmid
on
täpsustatud
URI-dena
näidetud
XML-DSIG
spetsifikatsio
onis.
issue probleem string Jah
Identifies
received
application,
issue or
document
Idetifitseerib
saadud
rakendust,
probleemi või
71
that was the
cause of the
service
request. This
field may be
used by the
client
information
system to
connect
service
requests (and
responses) to
working
procedures.
dokumenti,
mis oli
teenuse
päringu
põhjuseks.
See väli on
kasutatud
kliendi
infosüsteemi
poolt, et
ühendada
teenuse
päringud ja
vastused
tööprotseduur
idega.
Maksemood
uli omapära:
Juhul, kui ühe
alamsüsteemi
all eksisteerib
rohkem, kui 1
kaupmees,
siin saab
määrata
vastava
Kaupmehe
koodi (vaata
lähemalt siit:
Väärtuste
definitsioonid
#4.Kaupmehe
d)
Kui väli
puudub / või
vastav
kaupmehe
kood ei ole
72
leitud,
kaupmeest
määratakse
vastavalt
alamsüsteemi
koodile
(subsystemCo
de).
protocol
Version
Protokolli
Versioon string Jah
X-Road
message
protocol
version. For
X-Road v6
default
message
protocol is
4.0.
X-Tee
sõnumi
protokolli
versioon. X-
Tee v6 puhul
vaikimisi
väärtus on
4.0.*
* X-tee 6 üldistee reeglite järgi kas Teenus või Keskteenus peab olema päises.
EMTA nõuded liidestuvale kaupmehele
Allpool on välja toodud üldised nõuded, kuidas integreerida Maksemoodulit Kaupmehe
platvormi.
Kirjeldus
Integratsioon peab toimima e-MTA Maksemooduli ajakohastatud versiooniga.
Maksekorralduse sooritamise eeldused on õiged ja täielikud ostukorvi andmed vastavalt antud
teenuse kirjeldusele (summa, valuuta, selgitus).
Ostukorvis kuvatud tellimuse staatus peab olema uuendatud vastavalt tellimuse staatuse
uuendustele Maksemoodulis.
73
Kui peale e-MTA Maksemooduli sulgemist Tellijat suunatakse ümber tagasi Kaupmehe juurde,
Kaupmees peaks kuvama Tellijale tellimuse seisundit, näiteks:
Tellimus on täidetud
Tellimus ei ole täidetud
Kaupmees peaks tagama, et e-MTA Maksemooduli avalik portaali oleks võimalik Tellijale
kuvada samas keeles, kui tellimuse (ostukorvi) keel.
Kaupmees tagab Tellijale elektroonilise kviitungi väljaandmist.
Kaupmeehe poolt on võimalik tühistada ainult tellimusi staatuses "Loodud" (ehk ainult enne
seda, kui Tellija on valinud makseviisi).
Kaupmees ei tohi võimaldada tellimuse (ostukorvi) muutmist peale seda, kui see oli saadetud e-
MTA Maksemoodulile, selle jaoks oli loodud vastav tellimuse identifikaator ning Tellija valis
makseviisi. Kui Tellija soovib uuendada tellimuse detaile, mille jaoks oli juba loodud tellimuse
identifikaator Maksemoodulis ("Loodud" seisundis), tgellimus peab olema eelnevalt Kaupmehe
poolt tühistatud. Kui Tellija soovib uuendada ostukorvi, mille sees on tellimused muus
seisundis, kui "Loodud",uute tellimuste jaoks peab olema loodud uus tellimuse identifikaator.
Kaupmees peab jagama ette oma IP, millele makseteenuse pakkujad annaksid juurdepääsu.
cpgOrderInit
Source: https://x-tee.ee/catalogue-data/EE/EE/GOV/70000349/mkrliides/19.wsdl
MKR liides WSDL Expand source <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:sch="http://cpg-v6.x-road.eu"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://cpg-
v6.x-road.eu" xmlns:xrd="http://x-road.eu/xsd/xroad.xsd"
targetNamespace="http://cpg-v6.x-road.eu"> <wsdl:types> <schema xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://cpg-
v6.x-road.eu" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xrd="http://x-road.eu/xsd/xroad.xsd" elementFormDefault="unqualified"
targetNamespace="http://cpg-v6.x-road.eu"> <import
namespace="http://x-road.eu/xsd/xroad.xsd" schemaLocation="http://x-
road.eu/xsd/xroad.xsd"/> <element
xmlns="http://www.w3.org/2001/XMLSchema" name="cpgOrderInitRequest"> <complexType xmlns="http://www.w3.org/2001/XMLSchema">
74
<sequence xmlns="http://www.w3.org/2001/XMLSchema"> <element xmlns="http://www.w3.org/2001/XMLSchema"
name="Order" type="tns:CpgOrder"/> </sequence> </complexType> </element> <element
xmlns="http://www.w3.org/2001/XMLSchema" name="cpgOrderInitResponse"> <complexType xmlns="http://www.w3.org/2001/XMLSchema"> <sequence xmlns="http://www.w3.org/2001/XMLSchema"> <element xmlns="http://www.w3.org/2001/XMLSchema"
name="Order" type="tns:CpgOrder"/> </sequence> </complexType> </element> <element
xmlns="http://www.w3.org/2001/XMLSchema" name="cpgOrderGetRequest"> <complexType xmlns="http://www.w3.org/2001/XMLSchema"> <sequence xmlns="http://www.w3.org/2001/XMLSchema"
maxOccurs="1" minOccurs="1"> <element
xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1" minOccurs="1"
name="Id" type="string"/> </sequence> </complexType> </element> <element
xmlns="http://www.w3.org/2001/XMLSchema" name="cpgOrderGetResponse"> <complexType xmlns="http://www.w3.org/2001/XMLSchema"> <sequence xmlns="http://www.w3.org/2001/XMLSchema"> <element xmlns="http://www.w3.org/2001/XMLSchema"
name="Order" type="tns:CpgOrder"/> </sequence> </complexType> </element> <element
xmlns="http://www.w3.org/2001/XMLSchema" name="cpgOrderListRequest"> <complexType xmlns="http://www.w3.org/2001/XMLSchema"> <sequence xmlns="http://www.w3.org/2001/XMLSchema"> <element xmlns="http://www.w3.org/2001/XMLSchema"
maxOccurs="1" minOccurs="0" name="count" type="integer"/> <element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="0" name="page" type="integer"/> <element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="0" name="sort" type="string"/> <element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="0" name="id" type="string"/> <element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="0" name="state" type="string"/> <element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="0" name="to" type="string"/> <element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="0" name="from" type="string"/> </sequence> </complexType> </element> <element xmlns="http://www.w3.org/2001/XMLSchema"
name="cpgOrderListResponse"> <complexType
xmlns="http://www.w3.org/2001/XMLSchema"> <sequence
xmlns="http://www.w3.org/2001/XMLSchema"> <element xmlns="http://www.w3.org/2001/XMLSchema" name="Meta"> <complexType
xmlns="http://www.w3.org/2001/XMLSchema"> <sequence xmlns="http://www.w3.org/2001/XMLSchema">
75
<element
xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1" minOccurs="1"
name="Total" type="integer"/> </sequence> </complexType> </element> <element
xmlns="http://www.w3.org/2001/XMLSchema" name="Orders"> <complexType xmlns="http://www.w3.org/2001/XMLSchema"> <sequence
xmlns="http://www.w3.org/2001/XMLSchema"> <element xmlns="http://www.w3.org/2001/XMLSchema"
maxOccurs="unbounded" name="Order" type="tns:CpgOrder"/> </sequence> </complexType> </element> </sequence> </complexType> </element> <element
xmlns="http://www.w3.org/2001/XMLSchema" name="cpgOrderCancelRequest"> <complexType xmlns="http://www.w3.org/2001/XMLSchema"> <sequence xmlns="http://www.w3.org/2001/XMLSchema"
maxOccurs="1" minOccurs="1"> <element
xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1" minOccurs="1"
name="Id" type="string"/> </sequence> </complexType> </element> <element
xmlns="http://www.w3.org/2001/XMLSchema" name="cpgOrderCancelResponse"> <complexType xmlns="http://www.w3.org/2001/XMLSchema">
</complexType> </element> <complexType
xmlns="http://www.w3.org/2001/XMLSchema" name="CpgOrder"> <all xmlns="http://www.w3.org/2001/XMLSchema"> <element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="0" name="Id" type="string"/> <element
xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1" minOccurs="0"
name="State" type="string"/> <element
xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1" minOccurs="0"
name="Description" type="tns:CpgOrderDescription"/> <element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="1" name="Created" type="dateTime"/> <element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="0" name="Finished" type="dateTime"/> <element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="0" name="Expires" type="dateTime"/> <element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="1" name="Amount"> <simpleType
xmlns="http://www.w3.org/2001/XMLSchema"> <restriction xmlns="http://www.w3.org/2001/XMLSchema" base="decimal"> <totalDigits
xmlns="http://www.w3.org/2001/XMLSchema" value="15"/> <fractionDigits xmlns="http://www.w3.org/2001/XMLSchema"
value="2"/> </restriction> </simpleType> </element> <element xmlns="http://www.w3.org/2001/XMLSchema"
76
maxOccurs="1" minOccurs="0" name="Currency" type="string"/> <element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="0" name="PaymentMethods"> <complexType xmlns="http://www.w3.org/2001/XMLSchema"> <sequence xmlns="http://www.w3.org/2001/XMLSchema"> <element
xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="unbounded" minOccurs="0"
name="PaymentMethod" type="tns:CpgPaymentMethod"/> </sequence> </complexType> </element> <element
xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1" minOccurs="0"
name="Merchant" type="tns:CpgOrderMerchant"/> <element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="0" name="Customer" type="tns:CpgOrderCustomer"/> <element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="0" name="Callback" type="tns:CpgCallback"/> <element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="0" name="Links"> <complexType
xmlns="http://www.w3.org/2001/XMLSchema"> <sequence xmlns="http://www.w3.org/2001/XMLSchema"> <element xmlns="http://www.w3.org/2001/XMLSchema"
maxOccurs="unbounded" minOccurs="0" name="Link" type="tns:CpgLink"/> </sequence> </complexType> </element> <element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="0" name="Payments"> <complexType xmlns="http://www.w3.org/2001/XMLSchema"> <sequence xmlns="http://www.w3.org/2001/XMLSchema"> <element
xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="unbounded" minOccurs="0"
name="Payment" type="tns:CpgPayment"/> </sequence> </complexType> </element> </all> </complexType> <complexType
xmlns="http://www.w3.org/2001/XMLSchema" name="CpgOrderDescription"> <sequence xmlns="http://www.w3.org/2001/XMLSchema"> <element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="0" name="ET" type="string"/> <element
xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1" minOccurs="0"
name="EN" type="string"/> <element
xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1" minOccurs="0"
name="RU" type="string"/> </sequence> </complexType> <complexType
xmlns="http://www.w3.org/2001/XMLSchema" name="CpgPayment"> <all xmlns="http://www.w3.org/2001/XMLSchema"> <element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="0" name="State" type="string"/> <element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="1" name="Created" type="dateTime"/>
77
<element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="0" name="Finished" type="dateTime"/> <element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="1" name="Amount"> <simpleType
xmlns="http://www.w3.org/2001/XMLSchema"> <restriction xmlns="http://www.w3.org/2001/XMLSchema" base="decimal"> <totalDigits
xmlns="http://www.w3.org/2001/XMLSchema" value="15"/> <fractionDigits xmlns="http://www.w3.org/2001/XMLSchema"
value="2"/> </restriction> </simpleType> </element> <element xmlns="http://www.w3.org/2001/XMLSchema"
maxOccurs="1" minOccurs="1" name="Method" type="string"/> <element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="1" name="Broker" type="string"/> <element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="1" name="Stamp" type="string"/> <element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="0" name="Transfer"/> </all> </complexType> <complexType
xmlns="http://www.w3.org/2001/XMLSchema" name="CpgOrderMerchant"> <sequence xmlns="http://www.w3.org/2001/XMLSchema"> <element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="0" name="Id" type="string"/> <element
xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1" minOccurs="0"
name="Name" type="string"/> <element
xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1" minOccurs="0"
name="Stamp" type="string"/> <element
xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1" minOccurs="0"
name="Notes"/> </sequence> </complexType> <complexType xmlns="http://www.w3.org/2001/XMLSchema"
name="CpgOrderCustomer"> <sequence
xmlns="http://www.w3.org/2001/XMLSchema"> <element
xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1" minOccurs="0"
name="Code" type="string"/> <element
xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1" minOccurs="0"
name="Email" type="string"/> <element
xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1" minOccurs="0"
name="Country" type="string"/> <element
xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1" minOccurs="0"
name="Language" type="string"/> <element
xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1" minOccurs="0"
name="ReferenceNumber" type="string"/> </sequence> </complexType> <complexType
xmlns="http://www.w3.org/2001/XMLSchema" name="CpgLink"> <sequence xmlns="http://www.w3.org/2001/XMLSchema"> <element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="1" name="Href" type="string"/> <element
xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1" minOccurs="1"
78
name="Rel" type="string"/> <element
xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1" minOccurs="0"
name="Method" type="string"/> </sequence> </complexType> <complexType
xmlns="http://www.w3.org/2001/XMLSchema" name="CpgPaymentMethod"> <sequence xmlns="http://www.w3.org/2001/XMLSchema"> <element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="0" name="Code" type="string"/> <element
xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1" minOccurs="0"
name="Brokers"> <complexType
xmlns="http://www.w3.org/2001/XMLSchema"> <sequence xmlns="http://www.w3.org/2001/XMLSchema"> <element xmlns="http://www.w3.org/2001/XMLSchema"
maxOccurs="unbounded" minOccurs="0" name="Broker"> <complexType
xmlns="http://www.w3.org/2001/XMLSchema"> <sequence xmlns="http://www.w3.org/2001/XMLSchema"> <element
xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1" minOccurs="0"
name="Code" type="string"/> <element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="0" name="Url" type="string"/> </sequence> </complexType> </element> </sequence> </complexType> </element> </sequence> </complexType> <complexType
xmlns="http://www.w3.org/2001/XMLSchema" name="CpgCallback"> <sequence xmlns="http://www.w3.org/2001/XMLSchema"> <element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="1"
minOccurs="0" name="Redirect" type="string"/> <element xmlns="http://www.w3.org/2001/XMLSchema" maxOccurs="unbounded"
minOccurs="0" name="Notify"> <complexType
xmlns="http://www.w3.org/2001/XMLSchema"> <sequence xmlns="http://www.w3.org/2001/XMLSchema"> <element xmlns="http://www.w3.org/2001/XMLSchema"
maxOccurs="1" minOccurs="1" name="Method" type="string"/> <element xmlns="http://www.w3.org/2001/XMLSchema"
maxOccurs="1" minOccurs="1" name="Url" type="string"/> </sequence> </complexType> </element> </sequence> </complexType> </schema> </wsdl:types> <wsdl:message
name="cpgOrderListResponse"> <wsdl:part
element="tns:cpgOrderListResponse" name="cpgOrderListResponse"> </wsdl:part>
</wsdl:message> <wsdl:message name="requestheader"> <wsdl:part
element="xrd:client" name="client"> </wsdl:part> <wsdl:part
element="xrd:service" name="service"> </wsdl:part> <wsdl:part
element="xrd:id" name="id"> </wsdl:part> <wsdl:part
element="xrd:userId" name="userId"> </wsdl:part> <wsdl:part
79
element="xrd:protocolVersion" name="protocolVersion"> </wsdl:part> <wsdl:part element="xrd:issue" name="issue"> </wsdl:part>
</wsdl:message> <wsdl:message name="cpgOrderGetRequest"> <wsdl:part element="tns:cpgOrderGetRequest" name="cpgOrderGetRequest">
</wsdl:part> </wsdl:message> <wsdl:message name="cpgOrderGetResponse"> <wsdl:part element="tns:cpgOrderGetResponse"
name="cpgOrderGetResponse"> </wsdl:part> </wsdl:message> <wsdl:message
name="cpgOrderCancelRequest"> <wsdl:part
element="tns:cpgOrderCancelRequest" name="cpgOrderCancelRequest">
</wsdl:part> </wsdl:message> <wsdl:message
name="cpgOrderInitResponse"> <wsdl:part
element="tns:cpgOrderInitResponse" name="cpgOrderInitResponse"> </wsdl:part>
</wsdl:message> <wsdl:message name="cpgOrderListRequest"> <wsdl:part element="tns:cpgOrderListRequest"
name="cpgOrderListRequest"> </wsdl:part> </wsdl:message> <wsdl:message
name="cpgOrderCancelResponse"> <wsdl:part
element="tns:cpgOrderCancelResponse" name="cpgOrderCancelResponse">
</wsdl:part> </wsdl:message> <wsdl:message name="cpgOrderInitRequest"> <wsdl:part element="tns:cpgOrderInitRequest"
name="cpgOrderInitRequest"> </wsdl:part> </wsdl:message> <wsdl:portType
name="cpgClientPortType"> <wsdl:operation name="cpgOrderList"> <wsdl:documentation> <xrd:title>Orders
list</xrd:title> </wsdl:documentation> <wsdl:input
message="tns:cpgOrderListRequest" name="cpgOrderListRequest"> </wsdl:input> <wsdl:output message="tns:cpgOrderListResponse"
name="cpgOrderListResponse"> </wsdl:output> </wsdl:operation> <wsdl:operation name="cpgOrderGet"> <wsdl:documentation> <xrd:title>Get single Order by id</xrd:title> </wsdl:documentation> <wsdl:input
message="tns:cpgOrderGetRequest" name="cpgOrderGetRequest"> </wsdl:input> <wsdl:output message="tns:cpgOrderGetResponse"
name="cpgOrderGetResponse"> </wsdl:output> </wsdl:operation> <wsdl:operation name="cpgOrderCancel"> <wsdl:documentation> <xrd:title>cancel created
Order</xrd:title> </wsdl:documentation> <wsdl:input
message="tns:cpgOrderCancelRequest" name="cpgOrderCancelRequest">
</wsdl:input> <wsdl:output
message="tns:cpgOrderCancelResponse" name="cpgOrderCancelResponse">
</wsdl:output> </wsdl:operation> <wsdl:operation
name="cpgOrderInit"> <wsdl:documentation> <xrd:title>create new Order</xrd:title> </wsdl:documentation> <wsdl:input
message="tns:cpgOrderInitRequest" name="cpgOrderInitRequest"> </wsdl:input> <wsdl:output message="tns:cpgOrderInitResponse"
name="cpgOrderInitResponse"> </wsdl:output> </wsdl:operation>
</wsdl:portType> <wsdl:binding name="cpgClientPortTypeSoap11"
type="tns:cpgClientPortType"> <soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation
name="cpgOrderList"> <soap:operation soapAction=""/>
80
<xrd:version>v1</xrd:version> <wsdl:input
name="cpgOrderListRequest"> <soap:header
message="tns:requestheader" part="client" use="literal"> </soap:header> <soap:header message="tns:requestheader" part="service"
use="literal"> </soap:header> <soap:header
message="tns:requestheader" part="userId" use="literal"> </soap:header> <soap:header message="tns:requestheader" part="id" use="literal">
</soap:header> <soap:header message="tns:requestheader"
part="protocolVersion" use="literal"> </soap:header> <soap:header message="tns:requestheader" part="issue" use="literal">
</soap:header> <soap:body use="literal"/> </wsdl:input> <wsdl:output name="cpgOrderListResponse"> <soap:header message="tns:requestheader" part="client"
use="literal"> </soap:header> <soap:header
message="tns:requestheader" part="service" use="literal"> </soap:header> <soap:header message="tns:requestheader" part="userId"
use="literal"> </soap:header> <soap:header
message="tns:requestheader" part="id" use="literal"> </soap:header> <soap:header message="tns:requestheader" part="protocolVersion"
use="literal"> </soap:header> <soap:header
message="tns:requestheader" part="issue" use="literal"> </soap:header> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="cpgOrderGet"> <soap:operation soapAction=""/> <xrd:version>v1</xrd:version> <wsdl:input
name="cpgOrderGetRequest"> <soap:header
message="tns:requestheader" part="client" use="literal"> </soap:header> <soap:header message="tns:requestheader" part="service"
use="literal"> </soap:header> <soap:header
message="tns:requestheader" part="userId" use="literal"> </soap:header> <soap:header message="tns:requestheader" part="id" use="literal">
</soap:header> <soap:header message="tns:requestheader"
part="protocolVersion" use="literal"> </soap:header> <soap:header message="tns:requestheader" part="issue" use="literal">
</soap:header> <soap:body use="literal"/> </wsdl:input> <wsdl:output name="cpgOrderGetResponse"> <soap:header message="tns:requestheader" part="client"
use="literal"> </soap:header> <soap:header
message="tns:requestheader" part="service" use="literal"> </soap:header> <soap:header message="tns:requestheader" part="userId"
use="literal"> </soap:header> <soap:header
message="tns:requestheader" part="id" use="literal"> </soap:header> <soap:header message="tns:requestheader" part="protocolVersion"
use="literal"> </soap:header> <soap:header
message="tns:requestheader" part="issue" use="literal"> </soap:header> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="cpgOrderCancel"> <soap:operation soapAction=""/> <xrd:version>v1</xrd:version> <wsdl:input
81
name="cpgOrderCancelRequest"> <soap:header
message="tns:requestheader" part="client" use="literal"> </soap:header> <soap:header message="tns:requestheader" part="service"
use="literal"> </soap:header> <soap:header
message="tns:requestheader" part="userId" use="literal"> </soap:header> <soap:header message="tns:requestheader" part="id" use="literal">
</soap:header> <soap:header message="tns:requestheader"
part="protocolVersion" use="literal"> </soap:header> <soap:header message="tns:requestheader" part="issue" use="literal">
</soap:header> <soap:body use="literal"/> </wsdl:input> <wsdl:output
name="cpgOrderCancelResponse"> <soap:header
message="tns:requestheader" part="client" use="literal"> </soap:header> <soap:header message="tns:requestheader" part="service"
use="literal"> </soap:header> <soap:header
message="tns:requestheader" part="userId" use="literal"> </soap:header> <soap:header message="tns:requestheader" part="id" use="literal">
</soap:header> <soap:header message="tns:requestheader"
part="protocolVersion" use="literal"> </soap:header> <soap:header message="tns:requestheader" part="issue" use="literal">
</soap:header> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> <wsdl:operation
name="cpgOrderInit"> <soap:operation soapAction=""/> <xrd:version>v1</xrd:version> <wsdl:input
name="cpgOrderInitRequest"> <soap:header
message="tns:requestheader" part="client" use="literal"> </soap:header> <soap:header message="tns:requestheader" part="service"
use="literal"> </soap:header> <soap:header
message="tns:requestheader" part="userId" use="literal"> </soap:header> <soap:header message="tns:requestheader" part="id" use="literal">
</soap:header> <soap:header message="tns:requestheader"
part="protocolVersion" use="literal"> </soap:header> <soap:header message="tns:requestheader" part="issue" use="literal">
</soap:header> <soap:body use="literal"/> </wsdl:input> <wsdl:output name="cpgOrderInitResponse"> <soap:header message="tns:requestheader" part="client"
use="literal"> </soap:header> <soap:header
message="tns:requestheader" part="service" use="literal"> </soap:header> <soap:header message="tns:requestheader" part="userId"
use="literal"> </soap:header> <soap:header
message="tns:requestheader" part="id" use="literal"> </soap:header> <soap:header message="tns:requestheader" part="protocolVersion"
use="literal"> </soap:header> <soap:header
message="tns:requestheader" part="issue" use="literal"> </soap:header> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service
name="cpgClientPortTypeService"> <wsdl:port
binding="tns:cpgClientPortTypeSoap11" name="cpgClientPortTypeSoap11"> <soap:address location="http://example.org/xroad-endpoint"/>
82
<xrd:address producer="cpg-v6"/> </wsdl:port>
</wsdl:service></wsdl:definitions>
cpgOrderInitRequest Expand source <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xro="http://x-road.eu/xsd/xroad.xsd" xmlns:iden="http://x-
road.eu/xsd/identifiers" xmlns:cpg="http://cpg-v6.x-road.eu">
<soapenv:Header> <xro:issue>TKTPUB</xro:issue>
<xro:protocolVersion>4.0</xro:protocolVersion> <xro:id>?</xro:id>
<xro:userId>EE43009090226</xro:userId> <xro:service
iden:objectType="SERVICE">
<iden:xRoadInstance>EE</iden:xRoadInstance>
<iden:memberClass>COM</iden:memberClass>
<iden:memberCode>70000349</iden:memberCode> <!--Optional:-->
<iden:subsystemCode>payment-gateway</iden:subsystemCode>
<iden:serviceCode>cpgOrderInit</iden:serviceCode> <!--Optional:-->
<iden:serviceVersion>v1</iden:serviceVersion> </xro:service>
<xro:client iden:objectType="SUBSYSTEM"> <iden:xRoadInstance>ee-
dev</iden:xRoadInstance> <iden:memberClass>COM</iden:memberClass>
<iden:memberCode>12345678</iden:memberCode> <!--Optional:-->
<iden:subsystemCode>TKT</iden:subsystemCode> </xro:client>
</soapenv:Header> <soapenv:Body> <cpg:cpgOrderInitRequest>
<Order> <Description> <!--Optional:-->
<ET>DESC ET</ET> <!--Optional:-->
<EN>DESC EN</EN> <!--Optional:-->
<RU>DESC RU</RU> </Description>
<Amount>1</Amount> <!--Optional:-->
<Currency>EUR</Currency> <!--Optional:-->
<PaymentMethods> <!--Zero or more repetitions:-->
<PaymentMethod> <Code>creditcard</Code>
</PaymentMethod> <PaymentMethod>
<!--Optional:--> <Code>banklink</Code>
<!--Optional:--> <Brokers>
<!--Zero or more repetitions:--> <Broker>
<!--Optional:--> <Code>seb</Code>
</Broker> </Brokers>
</PaymentMethod> </PaymentMethods> <!--
Optional:--> <Merchant> <!--Optional:-->
<Id>ID</Id> <!--Optional:-->
<Name>NAME</Name> <!--Optional:-->
<Stamp>MERCHANT_UNIQUE_MESSAGE_ID</Stamp> <!--Optional:-->
<Notes>BASKET NO</Notes> </Merchant> <!--
Optional:--> <Customer> <!--Optional:-->
<Code>123</Code> <!--Optional:-->
<Email>[email protected]</Email> <!--Optional:-->
<Country>ee</Country> <!--Optional:-->
<Language>et</Language> <!--Optional:-->
<ReferenceNumber>123</ReferenceNumber> </Customer>
<!--Optional:--> <Callback> <!--Optional:--
83
> <Redirect>https://xxx/payment?id=${id}</Redirect>
<!--Zero or more repetitions:--> <Notify>
<Method>xroad</Method> </Notify>
</Callback> </Order> </cpg:cpgOrderInitRequest>
</soapenv:Body></soapenv:Envelope>
cpgOrderInitResponse Expand source <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:cpg="http://cpg-v6.x-road.eu" xmlns:iden="http://x-
road.eu/xsd/identifiers" xmlns:xro="http://x-road.eu/xsd/xroad.xsd"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-
ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-
ENV:Header> <xro:issue>TKTPUB</xro:issue>
<xro:protocolVersion>4.0</xro:protocolVersion> <xro:id>?</xro:id>
<xro:userId>EE43009090226</xro:userId> <xro:service
iden:objectType="SERVICE">
<iden:xRoadInstance>EE</iden:xRoadInstance>
<iden:memberClass>COM</iden:memberClass>
<iden:memberCode>70000349</iden:memberCode> <!--Optional:-->
<iden:subsystemCode>payment-gateway</iden:subsystemCode>
<iden:serviceCode>cpgOrderInit</iden:serviceCode> <!--Optional:-->
<iden:serviceVersion>v1</iden:serviceVersion> </xro:service>
<xro:client iden:objectType="?"> <iden:xRoadInstance>ee-
dev</iden:xRoadInstance> <iden:memberClass>COM</iden:memberClass>
<iden:memberCode>12345678</iden:memberCode> <!--Optional:-->
<iden:subsystemCode>TKT</iden:subsystemCode> </xro:client> </SOAP-
ENV:Header> <SOAP-ENV:Body> <cpg:cpgOrderInitResponse>
<Order> <Id>e1656999-01b8-46c5-b453-9ca7039785ea</Id>
<State>created</State> <Description>
<ET>DESC ET</ET> <EN>DESC EN</EN>
<RU>DESC RU</RU> </Description> <Created>2019-
10-10T10:57:27.251+03:00</Created> <Expires>2019-10-
10T11:12:27.263+03:00</Expires> <Amount>1</Amount>
<Currency>EUR</Currency> <PaymentMethods>
<PaymentMethod> <Code>creditcard</Code>
<Brokers> <Broker>
<Code>nets</Code>
<Url>https://xxx/paymentgateway-api/rest/pay/nets?id=e1656999-01b8-46c5-b453-
9ca7039785ea&broker=nets</Url> </Broker>
</Brokers> </PaymentMethod>
<PaymentMethod> <Code>banklink</Code>
<Brokers> <Broker>
<Code>seb</Code>
<Url>https://xxx/paymentgateway-api/rest/pay/banklink?bank=seb&id=e1656999-
01b8-46c5-b453-9ca7039785ea</Url> </Broker>
84
</Brokers> </PaymentMethod>
</PaymentMethods> <Merchant> <Id>fe63bfeb-
cb00-424a-b31a-e435b1b6f0fe</Id> <Name>TKTPUB</Name>
<Stamp>MERCHANT_UNIQUE_MESSAGE_ID</Stamp> <Notes>BASKET
NO</Notes> </Merchant> <Customer>
<Code>123</Code> <Email>[email protected]</Email>
<Country>ee</Country> <Language>et</Language>
<ReferenceNumber>123</ReferenceNumber> </Customer>
<Callback> <Redirect>https://xxx/payment?id=e1656999-01b8-
46c5-b453-9ca7039785ea</Redirect> <Notify>
<Method>xroad</Method> </Notify>
</Callback> <Links> <Link>
<Href>https://xxx/paymentgateway/e1656999-01b8-46c5-b453-9ca7039785ea</Href>
<Rel>web-portal</Rel> </Link> </Links>
</Order> </cpg:cpgOrderInitResponse> </SOAP-ENV:Body></SOAP-
ENV:Envelope>
cpgOrderNotify
All on välja toodud teenuse WSDL, request (mille EMTA saadab meile teavitamaks, et tellimus
on tasutud) ning response (mille meie saadame EMTAle teavitamaks, et saime info edukalt
kätta).
cpfOrderNotify WSDL Expand source <?xml version="1.0" encoding="UTF-8" standalone="no"?><wsdl:definitions targetNamespace="http://tkt.x-road.eu" xmlns:tns="http://tkt.x-road.eu" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xrd="http://x-road.eu/xsd/xroad.xsd"> <wsdl:types> <schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://tkt.x-road.eu"> <import
namespace="http://x-road.eu/xsd/xroad.xsd" schemaLocation="http://x-
road.eu/xsd/xroad.xsd"/> <element
name="cpgOrderNotifyRequest"> <complexType> <sequence> <element name="id"> <simpleType> <restriction base="string"> <maxLength value="128"/> </restriction> </simpleType> </element> </sequence> </complexType> </element> <element name="cpgOrderNotifyResponse"> <complexType> <sequence/> </complexType> </element> </schema>
</wsdl:types> <wsdl:message name="requestHeader"> <wsdl:part
85
element="xrd:client" name="client"/> <wsdl:part
element="xrd:service" name="service"/> <wsdl:part element="xrd:id"
name="id"/> <wsdl:part element="xrd:userId" name="userId"/> <wsdl:part element="xrd:protocolVersion" name="protocolVersion"/>
</wsdl:message> <wsdl:message name="cpgOrderNotifyRequest"> <wsdl:part element="tns:cpgOrderNotifyRequest"
name="cpgOrderNotifyRequest"/> </wsdl:message> <wsdl:message
name="cpgOrderNotifyResponse"> <wsdl:part
element="tns:cpgOrderNotifyResponse" name="cpgOrderNotifyResponse"/>
</wsdl:message> <wsdl:portType name="tktClientPortType"> <wsdl:operation name="cpgOrderNotify"> <wsdl:documentation> <xrd:title>Order change
notification</xrd:title> </wsdl:documentation> <wsdl:input message="tns:cpgOrderNotifyRequest"
name="cpgOrderNotifyRequest"/> <wsdl:output
message="tns:cpgOrderNotifyResponse" name="cpgOrderNotifyResponse"/> </wsdl:operation> </wsdl:portType> <wsdl:binding
name="TktClientPortTypeSoap11" type="tns:tktClientPortType"> <soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation
name="cpgOrderNotify"> <soap:operation soapAction=""/> <xrd:version>v1</xrd:version> <wsdl:input
name="cpgOrderNotifyRequest"> <soap:header
message="tns:requestHeader" part="protocolVersion" use="literal"/> <soap:header message="tns:requestHeader" part="userId"
use="literal"/> <soap:header message="tns:requestHeader"
part="id" use="literal"/> <soap:header
message="tns:requestHeader" part="service" use="literal"/> <soap:header message="tns:requestHeader" part="client" use="literal"/> <soap:body use="literal"/> </wsdl:input> <wsdl:output name="cpgOrderNotifyResponse"> <soap:header message="tns:requestHeader" part="protocolVersion"
use="literal"/> <soap:header message="tns:requestHeader"
part="userId" use="literal"/> <soap:header
message="tns:requestHeader" part="id" use="literal"/> <soap:header message="tns:requestHeader" part="service" use="literal"/> <soap:header message="tns:requestHeader" part="client"
use="literal"/> <soap:body use="literal"/> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="TktClientPortTypeService"> <wsdl:port
binding="tns:TktClientPortTypeSoap11" name="TktClientPortTypeSoap11"> <soap:address location="https://SECURITY_SERVER/cgi-
bin/consumer_proxy"/> <xrd:address producer="tkt"/> </wsdl:port> </wsdl:service></wsdl:definitions>
cpgOrderNotifyRequest Expand source <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xro="http://x-road.eu/xsd/xroad.xsd" xmlns:iden="http://x-
road.eu/xsd/identifiers" xmlns:tkt="http://tkt.x-road.eu">
86
<soapenv:Header> <xro:protocolVersion>4.0</xro:protocolVersion>
<xro:userId>EE12345678901</xro:userId> <xro:id>1</xro:id>
<xro:service iden:objectType="SERVICE"> <iden:xRoadInstance>ee-
dev</iden:xRoadInstance> <iden:memberClass>COM</iden:memberClass>
<iden:memberCode>11043739</iden:memberCode>
<iden:subsystemCode>tkt</iden:subsystemCode>
<iden:serviceCode>cpgOrderNotify</iden:serviceCode>
<iden:serviceVersion>v1</iden:serviceVersion> </xro:service>
<xro:client iden:objectType="SUBSYSTEM"> <iden:xRoadInstance>ee-
dev</iden:xRoadInstance> <iden:memberClass>COM</iden:memberClass>
<iden:memberCode>11043739</iden:memberCode>
<iden:subsystemCode>tkt</iden:subsystemCode> </xro:client>
</soapenv:Header> <soapenv:Body> <tkt:cpgOrderNotifyRequest>
<id>order-id-n3n78ts</id> </tkt:cpgOrderNotifyRequest>
</soapenv:Body></soapenv:Envelope>
cpgOrderNotifyResponse Expand source <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xro="http://x-road.eu/xsd/xroad.xsd" xmlns:iden="http://x-
road.eu/xsd/identifiers" xmlns:tns="http://tkt.x-road.eu"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soap:Header>
<xro:protocolVersion>4.0</xro:protocolVersion>
<xro:userId>EE12345678901</xro:userId> <xro:id>1</xro:id>
<xro:service iden:objectType="SERVICE"> <iden:xRoadInstance>ee-
dev</iden:xRoadInstance> <iden:memberClass>COM</iden:memberClass>
<iden:memberCode>11043739</iden:memberCode>
<iden:subsystemCode>tkt</iden:subsystemCode>
<iden:serviceCode>cpgOrderNotify</iden:serviceCode>
<iden:serviceVersion>v1</iden:serviceVersion> </xro:service>
<xro:client iden:objectType="SUBSYSTEM"> <iden:xRoadInstance>ee-
dev</iden:xRoadInstance> <iden:memberClass>COM</iden:memberClass>
<iden:memberCode>11043739</iden:memberCode>
<iden:subsystemCode>tkt</iden:subsystemCode> </xro:client>
</soap:Header> <soap:Body> <tns:cpgOrderNotifyResponse/>
</soap:Body></soap:Envelope>
cpgOrderNotifyResponse kui tellimuse ID meil puudub Expand source <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xro="http://x-road.eu/xsd/xroad.xsd" xmlns:iden="http://x-
road.eu/xsd/identifiers" xmlns:tns="http://tkt.x-road.eu"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soap:Header>
<xro:protocolVersion>4.0</xro:protocolVersion>
<xro:userId>EE12345678901</xro:userId> <xro:id>1</xro:id>
<xro:service iden:objectType="SERVICE"> <iden:xRoadInstance>ee-
dev</iden:xRoadInstance> <iden:memberClass>COM</iden:memberClass>
<iden:memberCode>11043739</iden:memberCode>
<iden:subsystemCode>tkt</iden:subsystemCode>
87
<iden:serviceCode>cpgOrderNotify</iden:serviceCode>
<iden:serviceVersion>v1</iden:serviceVersion> </xro:service>
<xro:client iden:objectType="SUBSYSTEM"> <iden:xRoadInstance>ee-
dev</iden:xRoadInstance> <iden:memberClass>COM</iden:memberClass>
<iden:memberCode>11043739</iden:memberCode>
<iden:subsystemCode>tkt</iden:subsystemCode> </xro:client>
</soap:Header> <soap:Body> <soap:Fault>
<faultcode>soap:Server</faultcode> <faultstring>Order not found with
id: order-id-n3n78ts_</faultstring> </soap:Fault>
</soap:Body></soap:Envelope>
cpgOrderCancel
Teenuse wsdl on leitav: KL00040-cpgOrderInit ja https://x-tee.ee/catalogue-
data/EE/EE/GOV/70000349/mkrliides/19.wsdl (sama WSDL, mis cpgOrderInit)
cpgOrderCancelRequest Expand source <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xro="http://x-road.eu/xsd/xroad.xsd" xmlns:iden="http://x-
road.eu/xsd/identifiers" xmlns:cpg="http://cpg-v6.x-road.eu">
<soapenv:Header> <xro:issue>TKTPUB</xro:issue>
<xro:protocolVersion>4.0</xro:protocolVersion>
<xro:userId>EE43009090226</xro:userId> <xro:service
iden:objectType="SERVICE">
<iden:xRoadInstance>EE</iden:xRoadInstance>
<iden:memberClass>COM</iden:memberClass>
<iden:memberCode>70000349</iden:memberCode> <!--Optional:-->
<iden:subsystemCode>payment-gateway</iden:subsystemCode>
<iden:serviceCode>cpgOrderGet</iden:serviceCode> <!--Optional:-->
<iden:serviceVersion>v1</iden:serviceVersion> </xro:service>
<xro:client iden:objectType="SUBSYSTEM"> <iden:xRoadInstance>ee-
dev</iden:xRoadInstance> <iden:memberClass>COM</iden:memberClass>
<iden:memberCode>12345678</iden:memberCode> <!--Optional:-->
<iden:subsystemCode>TKT</iden:subsystemCode> </xro:client>
</soapenv:Header> <soapenv:Body> <cpg:cpgOrderCancelRequest>
<Id>6a74e85c-8738-4495-af8d-3d0c0fd930b0</Id> </cpg:cpgOrderCancelRequest>
</soapenv:Body></soapenv:Envelope>
cpgOrderCancelResponse Expand source <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:cpg="http://cpg-v6.x-road.eu" xmlns:iden="http://x-
road.eu/xsd/identifiers" xmlns:xro="http://x-road.eu/xsd/xroad.xsd"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" SOAP-
ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-
88
ENV:Header> <xro:issue>TKTPUB</xro:issue>
<xro:protocolVersion>4.0</xro:protocolVersion>
<xro:userId>EE43009090226</xro:userId> <xro:service
iden:objectType="SERVICE">
<iden:xRoadInstance>EE</iden:xRoadInstance>
<iden:memberClass>COM</iden:memberClass>
<iden:memberCode>70000349</iden:memberCode> <!--Optional:-->
<iden:subsystemCode>payment-gateway</iden:subsystemCode>
<iden:serviceCode>cpgOrderCancel</iden:serviceCode> <!--Optional:-
-> <iden:serviceVersion>v1</iden:serviceVersion>
</xro:service> <xro:client iden:objectType="SUBSYSTEM">
<iden:xRoadInstance>ee-dev</iden:xRoadInstance>
<iden:memberClass>COM</iden:memberClass>
<iden:memberCode>12345678</iden:memberCode> <!--Optional:-->
<iden:subsystemCode>TKT</iden:subsystemCode> </xro:client> </SOAP-
ENV:Header> <SOAP-ENV:Body> <cpg:cpgOrderCancelResponse/>
</SOAP-ENV:Body></SOAP-ENV:Envelope>
| Nimi | K.p. | Δ | Viit | Tüüp | Org | Osapooled |
|---|---|---|---|---|---|---|
| Hankeleping | 23.07.2024 | 1 | 2/32-24 | Leping | rik | |
| Raamleping | 18.06.2024 | 1 | 2/28-24 🔒 | Leping | rik | |
| Riigihanke „Ametlike Teadaannete arendustööd" (275407) pakkumuste vastavaks tunnistamise otsus, pakkumuse edukaks tunnistamise otsus ning eduka pakkuja kõrvaldamata jätmise ja kvalifitseerimise otsus | 30.05.2024 | 1 | 40 | Üldkäskkiri | rik | |
| Alusdokumentide muutmine riigihankes „Ametlike Teadaannete arendustööd" (275407) | 30.04.2024 | 4 | 28 | Üldkäskkiri | rik |