Pirkimo/Pardavimo operacijoje prikabintų dokumentų nuorodų ir dokumentų gavimas BINARY BASE64 koduote.
Rivilės programoje, norint prikabinti failą pirkimo/pardavimo operacijoje reikia INIT-e įrašyti thisform.dokumentai=.t.
POST https://api.manorivile.lt/client/v2
ApiKey
: Privalomas. Unikalus API raktas išduodamas užsakant paslaugąContent-Type
: Privalomas. Kokiu formatu paduodami parametrai ir duomenys (request):
application/xml
application/json
Accept
: Neprivalomas. Grąžinamo rezultato (response) formatas
application/xml
(default)application/json
(veikia nuo Manorivile-Gateway-1.1.0 versijos)method
: GET_I06_DOCS
params
:
kodas_po
: operacijos numeris Rivilės programojeshow_doc
: DOC tago grąžinimo parametras. Galimos dvi reikšmės 1
- taip, 0
- ne. Pagal nutylėjimą 1
. Naudinga, jeigu norima atsisiųsti tik dokumentų sąrašą, nesiunčiant visų dokumentų.Galime gauti tik vienos operacijos dokumentą
pvz application/xml
:
<body>
<method>GET_I06_DOCS</method>
<params>
<kodas_po>010R00000163</kodas_po>
</params>
</body>
pvz application/json
:
{
"method": "GET_I06_DOCS",
"params": {
"kodas_po": "010R00000163"
}
}
Grąžinama informacija XML formate tarp tag'ų <RET_DOK>..</RET_DOK>
.
Gaunamas KODAS_PO
- operacijos numeris, NUORODA
- neužkoduota nuoroda į failą ar katalogą, DOC
- užkoduotas string'as binary base64 ir EXT
- failo plėtinys
Jeigu įrašų nerasta pagal užduotas sąlygas, tuomet grąžinama status=200 bei tuščias
pvz:
<?xml version='1.0' encoding='UTF-8' ?>
<RET_DOK>
<I06>
<KODAS_OP>010000000001</KODAS_OP>
<KODAS_PO>010R00000163</KODAS_PO>
<TIPAS>2</TIPAS>
<APRASYMAS> </APRASYMAS>
<NUORODA>C:\....\KLAIDOS20191202.EIP</NUORODA>
<DOC></DOC>
<EXT></EXT>
</I06>
<I06>
<KODAS_OP>010000000002</KODAS_OP>
<KODAS_PO>010R00000163</KODAS_PO>
<TIPAS>1</TIPAS>
<APRASYMAS> </APRASYMAS>
<NUORODA></NUORODA>
<DOC>VmFsaXV0YSBVU0QgbmV0dXJpIGltcG9ydHVvdG8ga3Vyc28gZGF0YWkgMjAxOS0xMS0xOQ0KVmFsaXV0YSBVU0QgbmV0dXJpIGltcG9ydHVvdG8ga3Vyc28gZGF0YWkgMjAxOS0xMS0xOA0KVmFsaXV0YSBVU0QgbmV0dXJpIGltcG9ydHVvdG8ga3Vyc28gZGF0YWkgMjAxOS0xMS0xNw0KVmFsaXV0Y...yMDE5LTA4LTE0DQo=</DOC>
<EXT>.EIP</EXT>
</I06>
</RET_DOK>
Klaida paduodant duomenis / SQL sintaksės klaidos / kitos DB klaidos
<?xml version='1.0' encoding='UTF-8'?>
<RET_DOK>
<id/>
<durationMs>0</durationMs>
<errorMessage>Invalid data</errorMessage>
</RET_DOK>
Blogai nurodytas adresas / neteisingai nurodytas API raktas / nenurodytas API raktas / pasibaigęs API rakto galiojimas, pvz
<?xml version='1.0' encoding='UTF-8'?>
<RET_DOK>
<id/>
<durationMs>0</durationMs>
<errorMessage>Api key is not valid</errorMessage>
</RET_DOK>
Nepaleistas MANO Rivile Gateway arba kitaip sutrikusi jo veikla
<?xml version='1.0' encoding='UTF-8'?>
<RET_DOK>
<id/>
<durationMs>0</durationMs>
<errorMessage>Rivile GAMA database is unavailable. Please check if the gateway is running and is set up correctly.</errorMessage>
</RET_DOK>
Laiku nebuvo gautas Rivile API užklausos atsakymas, pavyzdžiui, apkrauta GAMA duomenų bazė
<?xml version='1.0' encoding='UTF-8'?>
<RET_DOK>
<id/>
<durationMs>0</durationMs>
<errorMessage>No response received from client gateway</errorMessage>
</RET_DOK>
Bendrinė sistemos klaida, pvz
<?xml version='1.0' encoding='UTF-8'?>
<Map>
<timestamp>2020-02-05T12:34:26.890+0000</timestamp>
<status>500</status>
<error>Internal Server Error</error>
<message>No message available</message>
<path>/v1</path>
</Map>
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'ApiKey: uUCz6UD.sKVrjaWRDJAH1c7l4qL2nOoN2K0jARkvuHDdYsss',
'Content-Type: application/json',
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{
"method": "GET_I06_DOCS",
"params": {
"kodas_po": "010R00000163"
}
}');
$response = curl_exec($ch);
curl_close($ch);