KiDocExchange: Difference between revisions

From services.krediidiinfo.ee
Jump to navigation Jump to search
No edit summary
Line 5: Line 5:
= Tutvustus =  
= Tutvustus =  


KiDocExchange on Krediidiinfo veebiteenus failide saatmiseks Krediidiinfosse.  
KiDocExchange on Creditinfo veebiteenus failide saatmiseks Creditinfosse.  


= Failide edastamine =
= Failide edastamine =




Faile saab Krediidiinfole edastada [[KiDocExchange]] SOAP liidese kaudu.  
Faile saab Creditinfole edastada [[KiDocExchange]] SOAP liidese kaudu.  




Krediidiinfosse saadetava faili nimi peab olema kujul:
Creditinfosse saadetava faili nimi peab olema kujul:


<pre>
<pre>
Line 20: Line 20:




* <initsiaalid> - ettevõtte initsiaalid. Näiteks Krediidiinfo pohul <i>ki</i>.
* <initsiaalid> - ettevõtte initsiaalid. Näiteks Creditinfo puhul <i>ki</i>.
* <id> - faili saatja süsteemis unikaalne id, millega saab saadetud faili identifitseerida. Võib olla ka näiteks faili genereerimise aeg.
* <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.
* <laiend> - saadetud faili laiend. XML või ZIP. Saadetud faile on soovitav pakkida.




Näide 1: Krediidiinfo AS saadetav fail
Näide 1: Creditinfo Eesti AS saadetav fail




Line 66: Line 66:
| docID
| docID
| xs:integer
| xs:integer
| Unikaalne faili id Krediidiinfo serveris.
| Unikaalne faili id Creditinfo serveris.
|}
|}


Line 126: Line 126:
=== downloadChunk ===
=== downloadChunk ===


Faili alamosa allalaadimine Krediidiinfo failiserverist.
Faili alamosa allalaadimine Creditinfo failiserverist.


{| style="border-style: solid; border-width: 1px"
{| style="border-style: solid; border-width: 1px"
Line 158: Line 158:
=== getDownloadQueue ===
=== getDownloadQueue ===


Krediidiinfo serveris kliendi poolt allalaadimist ootavate failide loetelu.
Creditinfo serveris kliendi poolt allalaadimist ootavate failide loetelu.


{| style="border-style: solid; border-width: 1px"
{| style="border-style: solid; border-width: 1px"
Line 311: Line 311:
= Näidis PHP-s =
= 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.
Programm laeb faili Creditinfo 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.


<pre>
<pre>
Line 317: Line 317:
/**
/**
  * Example of uploading and downloading files using KiDocExchange interface.
  * Example of uploading and downloading files using KiDocExchange interface.
  * @author Rait Kapp <rait@krediidiinfo.ee>
  * @author Rait Kapp <rait@creditinfo.ee>
  * @created 27.04.2007
  * @created 27.04.2007
  */
  */

Revision as of 14:39, 6 December 2016

Flag of the United Kingdom.svg In English

Tutvustus

KiDocExchange on Creditinfo veebiteenus failide saatmiseks Creditinfosse.

Failide edastamine

Faile saab Creditinfole edastada KiDocExchange SOAP liidese kaudu.


Creditinfosse saadetava faili nimi peab olema kujul:

<initsiaalid>_krediidihaldus_<id>.<laiend>


  • <initsiaalid> - ettevõtte initsiaalid. Näiteks Creditinfo puhul 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: Creditinfo Eesti 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.

KiDocExchange Upload Sequence Diagram.jpg


Meetodid

startUpload

Failide üleslaadimise initsialiseerimine.

Nimi Tüüp Kirjeldus
Sisendparameeter: fileName xs:string Faili nimi
Väljundparameeter: docID xs:integer Unikaalne faili id Creditinfo 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 Creditinfo 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

Creditinfo 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 Creditinfo 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@creditinfo.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";
}

?>