KiInvoiceMediator

From services.krediidiinfo.ee
Jump to navigation Jump to search

Tutvustus

KiInvoiceMediator on Creditinfo arvete vahendusserveri veebiteenus. KiInvoiceMediator kaudu on klientidel võimalik saata ja vastu võtta elektroonilisel kujul arveid. Arvete vahendusserver kasutab arvete saajatele edasi saatmiseks Arveregistrit.

WSDL

KiInvoiceMediator WSDL fail asub aadressil http://services.krediidiinfo.ee/KiInvoiceMediator.wsdl.

Kasutuslood

Vahendusserveril on kaks kasutuslugu - arvete saatmine ja arvete vastuvõtmine.

IMS kasutuslood.jpg

Arvete saatmine

Arve saatmiseks koondab klient kõik saadetavad arved ühte konteinerfaili ning edastab faili vahendusserverile. Vahendusserver edastab konteineris olevad arved arve saaja vahendajatele. Arvete ruutimiseks kasutatakse Arveregistrit.

Juhul kui arve saajat ei ole Arveregistris, siis saadetakse arve adressaadile postiga.

Järgnevusdiagramm

Järgnevusdiagrammil on detailselt ära toodud, kuidas klient peab arve saatmisel vahendusserveriga suhtlema.

InvoiceSendingSequenceDiagram.jpg

Kui klient soovib arveid saata, siis peab ta kõigepealt saatmisele kuuluvad arved koondama ühte XML-faili (müügiarvete konteinerfail) ning laadima loodud faili Creditinfo failiserverisse. Suurte failide üles-alla laadimiseks on Creditinfol eraldi SOAP liides KiDocExchange. KiDocExchange kaudu üles laetud faili jaoks genereerib süsteem unikaalse identifikaatori docID, mida saab kasutada KiInvoiceMediatorile korralduste andmiseks.

Kui arvete fail on serveris, siis saab vahendusserverile anda postituse korralduse. Vahendusserver ei saada arveid kohe ära (suurte failide töötlus võib olla aja- ja ressursimahukas), vaid teeb seda hiljem. Kliendil on võimalus getPostStatus päringuga küsida saadetud XML-faili staatust serveris - kas fail on veel saatmisjärjekorras, saadetud või kas faili töötlemisel on tekkinud vigu. Kui fail on töödeldud, siis on võimalik getPostReport meetodi abil saada saatmisraport, kus on täpselt ära märgitud kas ja millisel viisil on konkreetsed arved saadetud.

Vaikimisi saadetakse arve otse saaja vahendajale. Kui arve saaja ei ole Arveregistri liige, siis saadetakse arve postiga.

Arvete vastuvõtmine

Vahendusserver võtab vastu teiste vahendajate klientide poolt Creditinfo vahendusserveri klientidele adresseeritud arved ning jagab need klientide ostuarvete postkastidesse. Klient peab ise kontrollima oma ostuarvete postkasti. Kui postkastis on uusi arveid, siis peab klient arved alla laadima ning kustutama serveris olevad arved.

Järgnevusdiagramm

Järgnevusdiagrammil on detailselt ära toodud, kuidas klient peab arve saatmisel vahendusserveriga suhtlema.

InvoiceReceivingSequenceDiagram.jpg

Klient peab regulaarselt kontrollima (meetod getInboxCount), kas vahendusserveris on tema jaoks uusi arveid. Uute arvete alla laadimiseks tuleb vahendusserverile anda korraldus (startDownload), mis koondab kõik uued arved ühte XML-faili (ostuarvete konteinerfail). Kliendile tagastatakse loodud konteinerfaili unikaalne identifikaator. XML-faili saab alla laadida KiDocExchange liidese kaudu. Kui konteinerfail on alla laetud, siis tuleb vahendusserverile anda korraldus (deleteInbox) kustutada kõik konteineris olnud arved serveris.

Meetodid

post

Vahendusserverisse üles laetud müügiarvete konteinerfailis olevate arvete saatmise korralduse andmine. Konteineris olevate arvete saatmine ei toimu kohe, vaid konteiner pannakse järjekorda. Klient saab konteineri staatust pärida meetodiga getPostStatus.

Nimi Tüüp Kirjeldus
Sisendparameetrid: client_code xs:int Kliendi kood Creditinfos
docID xs:int Vahendusserverisse laadiditud müügiarvete konteinerfaili identifikaator
Väljundparameeter: -

getPostStatus

Müügiarvete konteinerfaili staatuse pärimine.

Nimi Tüüp Kirjeldus
Sisendparameetrid: client_code xs:int Kliendi kood Creditinfos
docID xs:int Vahendusserverisse laadiditud müügiarvete konteinerfaili identifikaator
Väljundparameeter: status xs:int 1 - järjekorras
0 - arved on saadetud
-1 - konteinerfaili XML ei valideerunud. arveid ei ole saadetud.
-2 - vahendusserveri sisene viga. arveid ei ole saadetud.

getPostReport

Müügiarvete saatmise raporti pärimine. Raportis on kirjeldatud, millisele vahendajale konkreetsed arved edasi saadeti. Päringut tohib teha ainult siis, kui arved on saadetud (so getPostStatus päringu tulemuseks on 0).

Nimi Tüüp Kirjeldus
Sisendparameetrid: client_code xs:int Kliendi kood Creditinfos
docID xs:int Vahendusserverisse laadiditud müügiarvete konteinerfaili identifikaator
Väljundparameeter: array xs:

getInboxCount

Vahendusserveris olevate kliendile adresseeritud ostuarvete arvu pärimine.

Nimi Tüüp Kirjeldus
Sisendparameetrid: client_code xs:int Kliendi kood Creditinfos
Väljundparameeter: count xs:int Vahendusserveris olevate kliendile adresseeritud ostarvete arv

startDownload

Vahendusserveris olevate kliendile adresseeritud ostuarvete alla laadimise alustamine.

Vahendusserver koondab alla laetavad arved ühte ostuarvete konteinerfaili ning tagastab päringu tegijale loodud konteinerfaili id. Konteinerfaili ennast saab alla laadida liidesega KiDocExchange.

Pärast konteinerfaili alla laadimist tuleb arved vahendusserverist kustutada deleteInbox meetodiga. Kui arveid ei kustutata, siis lisatakse vahendusserveris olevad arved järgmise startDownload meetodi väljakutsumisel uuesti ostuarvete konteinerfaili.

Nimi Tüüp Kirjeldus
Sisendparameetrid: client_code xs:int Kliendi kood Creditinfos
count xs:int Maksimaalne arvete arv, mis ühes konteineris võib olla. Kui parameetri väärtus on 0, siis pannakse konteinerisse kõik vahendusserveris olevad kliendi ostuarved.
Väljundparameeter: docID xs:int Loodud ostuarvete konteinerfaili identifikaator.


deleteInbox

Konteineriga alla laetud ostuarvete kustutamine vahendusserveris.

Nimi Tüüp Kirjeldus
Sisendparameetrid: client_code xs:int Kliendi kood Creditinfos
docID xs:int Ostuarvete konteinerfaili identifikaator
Väljundparameeter: -