KiDocExchange: Difference between revisions
Line 307: | Line 307: | ||
= Silumine = | = Silumine = | ||
Faili edastamiseks testserverisse tuleb lisada parameeter ''debug'' serveri aadressile. | Faili edastamiseks testserverisse tuleb lisada parameeter ''debug'' serveri aadressile, ehk 'https://services.krediidiinfo.ee/soap.php?name=KiDocExchange&debug' | ||
= Näidis PHP-s = | = Näidis PHP-s = |
Revision as of 13:30, 7 October 2016
In English |
Tutvustus
KiDocExchange on Krediidiinfo veebiteenus failide saatmiseks Krediidiinfosse.
Failide edastamine
Faile saab Krediidiinfole edastada KiDocExchange SOAP liidese kaudu.
Krediidiinfosse saadetava faili nimi peab olema kujul:
<initsiaalid>_krediidihaldus_<id>.<laiend>
- <initsiaalid> - ettevõtte initsiaalid. Näiteks Krediidiinfo pohul ki.
- <id> - faili saatja süsteemis unikaalne id, millega saab saadetud faili identifitseerida. Võib olla ka näiteks faili genereerimise aeg.
- <laiend> - saadetud faili laiend. XML või ZIP. Saadetud faile on soovitav pakkida.
Näide 1: Krediidiinfo AS saadetav fail
ki_krediidihaldus_20100613.zip
WSDL
KiDocExchange veebiteenuse WSDL fail on aadressil http://services.krediidiinfo.ee/KiDocExchange.wsdl.
Järgnevusdiagramm
Järgnevusdiagrammil on näidatud KiDocExchange meetodite väljakutsumise järjekorrad.
Meetodid
startUpload
Failide üleslaadimise initsialiseerimine.
Nimi | Tüüp | Kirjeldus | |
---|---|---|---|
Sisendparameeter: | fileName | xs:string | Faili nimi |
Väljundparameeter: | docID | xs:integer | Unikaalne faili id Krediidiinfo serveris. |
uploadChunk
Laetakse serverisse ning lisatakse juba serveris olevale failile lõppu osa failist. Kliendid võivad kogu faili saata ka ühe osana. Failide jupitamist on soovitav kasutada desktop lahendustes suurte failide saatmisel.
Nimi | Tüüp | Kirjeldus | |
---|---|---|---|
Sisendparameetrid: | docID | xs:integer | Faili identifikaator. |
chunk | xs:base64Binary | Järgmine faili osa. | |
Väljundparameeter: | None |
finishUpload
Faili üleslaadimise lõpetamine.
Nimi | Tüüp | Kirjeldus | |
---|---|---|---|
Sisendparameetrid: | docID | xs:integer | Faili identifikaator |
md5 | xs:string | Üles laetud faili MD5 kontrollsumma. | |
Väljundparameeter: | errorCode | xs:integer | Kui 0, siis faili üleslaadimine õnnestus. Kui negatiivne, siis tekkis mingi viga (vt veakoodide). |
downloadChunk
Faili alamosa allalaadimine Krediidiinfo failiserverist.
Nimi | Tüüp | Kirjeldus | |
---|---|---|---|
Sisendparameetrid: | docID | xs:integer | Faili identifikaator |
start | xs:integer | Positsioon failis, millest alates andmeid alla laetakse (positsiooni lugemine algab nullist) | |
count | xs:integer | Alla laetava tüki suurus baitides. | |
Väljundparameeter: | chunk | xs:base64Binary | Faili alamosa |
getDownloadQueue
Krediidiinfo serveris kliendi poolt allalaadimist ootavate failide loetelu.
Nimi | Tüüp | Kirjeldus | |
---|---|---|---|
Väljundparameeter: | queue | DownloadQueueArray | Massiiv DownloadQueueType tüüpi elementidest |
DownloadQueueType on assiotsiatiivne massiiv, millel on järgmised elemendid:
Nimi | Tüüp | Kirjeldus |
---|---|---|
docID | xs:integer | faili id |
fileName | xs:string | faili nimi |
getStatusCode
Tagastatakse üles laetud faili staatus serveris.
Nimi | Tüüp | Kirjeldus | ||
---|---|---|---|---|
Sisendparameeter: | docID | xs:integer | Faili identifikaator | |
Output Parameters: | status_code | xs:integer | Faili staatuse kood: | |
0 | Fail on töödeldud | |||
2 | Toimub faili üles laadimine | |||
3 | Toimub faili töötlemine | |||
4 | Fail on edukalt üles laetud ning ootab töötlemist | |||
-1 | Tundmatu viga. Täpsema info saamiseks võtke ühendust tehnilise teoga. Rohkem infot vea teate kohta võib saada meetodiga getStatusMsg. | |||
-10003 | MD5 kontroll ebaõnnestus. Kliendi saadetud MD5 kontrollsumma ei langenud kokku serveri poolt arvutatud MD5 kontrollsummaga. | |||
-xxxxx | Faili töötlemine ebaõnnestus. Täpsema info saamiseks võta ühendust tehnilise toega. Rohkem infot vea teate kohta võib saada meetodiga getStatusMsg. |
getStatusMsg
Tagastatakse staatust täpsustav info.
Nimi | Tüüp | Kirjeldus | |
---|---|---|---|
Sisendparameeter: | docID | xs:integer | Faili identifikaator |
Väljundparameeter: | statusMsg | xs:string | Faili staatust täpsustav info |
Veakoodid
Kood | Kirjeldus |
0 | Success |
Päringu töötlus õnnestus. | |
-10001 | Access denied |
Üritatakse pöörduda faili poole, mis kuulub kellelegi teisele. | |
-10002 | File does not exists |
Kasutati faili identifikaatorit, mida ei eksisteeri. | |
-10003 | MD5 failure |
Kliendi saadetud MD5 ei lange kokku serveri poolt arvutatud MD5-ga |
Silumine
Faili edastamiseks testserverisse tuleb lisada parameeter debug serveri aadressile, ehk 'https://services.krediidiinfo.ee/soap.php?name=KiDocExchange&debug'
Näidis PHP-s
Programm laeb faili Krediidiinfo serverisse ning seejärel laeb sama faili alla. Lõpus kontrollitakse, kas üles ja alla laetud faili sisu on sama. Programmi põhimõte sobib KiDocExchange liidese testimiseks. Kui soovite maksehäire sisestamiseks mõeldud faili testida siis ärge kasutage silumismoodi.
<?php /** * Example of uploading and downloading files using KiDocExchange interface. * @author Rait Kapp <rait@krediidiinfo.ee> * @created 27.04.2007 */ $wsdl_url = 'http://services.krediidiinfo.ee/KiDocExchange.wsdl'; $params = array('location' => 'https://services.krediidiinfo.ee/soap.php?name=KiDocExchange&debug' , 'login' => 'username' // <-- username. Make sure username is string type (PHP bug?). , 'password' => 'password' // <-- password ); $client = new SoapClient($wsdl_url, $params); // Uploading file. $content = 'I am a little test file!'; $docID = $client->startUpload('test.txt'); $client->uploadChunk($docID, $content); $md5 = md5($content); $result = $client->finishUpload($docID, $md5); if ($result != 0) { die("upload failed.! Error code: {$result}\n"); } // Downloading file $start = 0; $count = 512; // can be a big number if you do not have to display download progress. $data = ''; while ($chunk = $client->downloadChunk($docID, $start, $count)) { $start += $count; $data .= $chunk; } if ($content != $data) { echo "Something is not right!\n"; } else { echo "We got back: {$data}\n"; } ?>