Debitorinių/Kreditorinių operacijų sąrašas
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. Gražinamo rezultato (response) formatas
application/xml
(default)application/json
(veikia nuo Manorivile-Gateway-1.1.0 versijos)method
: GET_I31_LIST
params
:
list
: H
- gražinama tik pagrindinė informacija (I31) (default). Jeigu A
- gražinama visa susijusi informacija (I31+I32).fil
: filtravimo sąlyga. T-SQL tipo where sąlygos užklausa iš lentelės I31 nenurodant pačio where tag'o. Neprivalomapagenumber
: įrašų puslapio numeris. GET_LIST metodai rezultatus grąžina puslapiais po 100 įrašų, pagenumber
parametras nurodo kelintą puslapį grąžinti. Jei nenurodomas, tuomet grąžinamas pirmas puslapis su 100 naujausių įrašų. NeprivalomaSąraše su daugiau nei 1 įrašu informacija visada grąžinama surūšiuota pagal atitinkamos lentelės raktą (Primary Key)
GET_LIST metodų apribojima 100 įrašų, todėl norint gauti visą sąrašą, turite naudoti filtrus, kurie grąžins rezultatą dalimis per kelis kartus, filtruojant pagal paskutinio gauto įrašo rakto reikšmę.
pvz application/xml
:
<body>
<method>GET_I31_LIST</method>
<params>
<list>H</list>
<fil>I31_KODAS_KR='000000000001'</fil>
</params>
</body>
pvz application/json
:
{
"method": "GET_I31_LIST",
"params": {
"list": "H",
"fil": "I31_KODAS_KR='000000000001'"
}
}
Grąžinama informacija XML formate tarp tag'ų <RET_DOK>..</RET_DOK>
.
Esant daugiau nei vienam įrašui informacija rūšiuojama (order) pagal lentelės raktinį lauką I31_KODAS_KR
Jeigu įrašų nerasta pagal užduotas sąlygas, tuomet gražinama status=200 bei tuščias
pvz, kai list='A'
:
<?xml version='1.0' encoding='UTF-8' ?>
{
"i31": {
"Row_number": 1,
"I31_KODAS_KR": "000000000001",
"I31_RUSIS": 1,
"I31_DOK_NR": "XX",
"I31_OP_DATA": "2021-01-08T00:00:00",
"I31_PASTABOS": "",
"I31_PERKELTA": 1,
"I31_USERIS": "MASTER",
"I31_R_DATE": "2021-01-27T15:38:36",
"I31_ADDUSR": "MASTER",
"I31_KODAS_SM": "",
"I31_KODAS": "",
"i32": {
"I32_KODAS_KR": "000000000001",
"I32_EIL_NR": 1,
"I32_KODAS_KS": 121411842,
"I32_KODAS_SS": 4430,
"I32_DOK_NR": "DK01",
"I32_OP_DOK": "",
"I32_OP_TIPAS": 1,
"I32_DOK_DATA": "2022-07-20T00:00:00",
"I32_NUO_DATA": "2022-07-20T00:00:00",
"I32_NUO_PROC": 0,
"I32_MOK_DATA": "2022-07-20T00:00:00",
"I32_KODAS_IS": "",
"I32_KODAS_OS": "",
"I32_KODAS_OS_C": "",
"I32_KODAS_MS": "",
"I32_DEB_SUMA": 0,
"I32_CRE_SUMA": 0,
"I32_PVM": 0,
"I32_KODAS_VL": "EUR",
"I32_SUMA_VAL": 0,
"I32_KODAS_SS_K": 271,
"I32_SAVIKAINA": 0,
"I32_PERKELTA": 1,
"I32_USERIS": "MASTER",
"I32_ADDUSR": "MASTER",
"I32_R_DATE": "2022-07-20T16:45:53",
"I32_KODAS_KT": "",
"I32_KODAS_K0": ""
}
}
}
pvz, kai list='H'
<?xml version='1.0' encoding='UTF-8' ?>
<RET_DOK>
<i31>
<Row_number>1</Row_number>
<I31_KODAS_KR>000000000001</I31_KODAS_KR>
<I31_RUSIS>1</I31_RUSIS>
<I31_DOK_NR>XX </I31_DOK_NR>
<I31_OP_DATA>2021-01-08T00:00:00</I31_OP_DATA>
<I31_PASTABOS> </I31_PASTABOS>
<I31_PERKELTA>1</I31_PERKELTA>
<I31_USERIS>MASTER </I31_USERIS>
<I31_R_DATE>2021-01-27T15:38:36</I31_R_DATE>
<I31_ADDUSR>MASTER </I31_ADDUSR>
<I31_KODAS_SM> </I31_KODAS_SM>
<I31_KODAS> </I31_KODAS>
</i31>
</RET_DOK>
Klaida paduodant duomenis / SQL sintaksės klaidos / kitos DB klaidos
<?xml version='1.0' encoding='UTF-8'?>
<RET_DOK>
<id>615386280.f6ba6d45.1658325263501</id>
<durationMs>0</durationMs>
<errorMessage>Invalid column name 'i32_kodas_pob'.</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_I31_LIST",
"params": {
"list": "H",
"fil": "I31_KODAS_KR=\'000000000001\'"
}
}');
$response = curl_exec($ch);
curl_close($ch);
Nuoroda į lentelės aprašymą: I31
Nuoroda į lentelės aprašymą: I32