Metodas grąžina informaciją apie prekių ir paslaugų kainų pasikeitimus remiantis koregavimo data. Grąžinama informacija gali būti pagal prekę ir mato vienetą arba pagal unikalų barkodą.
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_PRICES_TIME
params
:
fil
: filtravimo sąlyga. T-SQL tipo where sąlygos užklausa iš lentelės N37 nenurodant pačio where tag'o. Neprivaloma.pagenumber
: į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 įrašų. Neprivaloma.lastDate
: data nurodanti nuo kurio laiko grąžinti korekcijas. Jei nenurodoma informacija grąžinama nuo '1900-01-01'. Neprivaloma.listType
: P - grąžina rezultatą pagal prekę (matomas barkodas tik mato vieneto), B - grąžina pasikeitimus pagal barkodą (pagal kiekvieną prekei priskirtą barkodą).priceType
: '*' –grąžinamos visos kainos, galima nurodyti kokias kainas grąžinti ('KAIN_N13, KAIN_I33, KAIN_N32').bar_kodas
- vienam barkodui.kodas_ps
- vienai prekei.kodas_us
- filtras pagal matavimo vienetą.kodas_is
- filtras pagal konkretų padalinį.kodas_ks
- kainos pagal nurodytą klientą.Norint dirbti su metodu turi būti inicijuoti atitinkami duomenų bazės pakeitimai. Reikalinga paleisti metodą INIT_TRIGGER
Metodas naudojamas norint gauti informaciją tik apie prekes, kurių kainos pasikeitė nuo tam tikros datos ir laiko.
Ištrintų kainų informacija nėra matoma
Kainos turi tag'us kaina, kaina1, kaina2, kaina3, ir nuolaidos atitinkamai nuolaida, nuolaida1, nuolaida2, nuolaida3. Visas keturias reikšmes gali įgyti akcijos KAIN_N13 ir NUOL_N13, prekių nuolaidų grupės – NUOL_N31, kainynai – KAIN_N32
Są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_PRICES_TIME</method>
<params>
<fil></fil>
<pagenumber>1</pagenumber>
<listType>B</listType>
<lastDate>2022-01-31T16:30:00.000</lastDate>
</params>
</body>
pvz application/json
:
{
"method": "GET_PRICES_TIME",
"params": {
"fil": "",
"pagenumber": 1,
"lastdate": "2022-01-31",
"listType": "B"
}
}
Grąžinama informacija XML formate tarp tag'ų <RET_DOK>..</RET_DOK>
.
pvz:
<?xml version='1.0' encoding='UTF-8' ?>
<RET_DOK>
<KAINOS>
<Row_number>1</Row_number>
<kodas_ps>010101 </kodas_ps>
<kodas_us>DE </kodas_us>
<bar_kodas>906230010427</bar_kodas>
<r_date>2022-01-31T11:28:21.807</r_date>
<KAIN_I33>
<I33>
<kodas_is>ADM </kodas_is>
<kaina>15.4000</kaina>
<prioritetas>4</prioritetas>
</I33>
...
</KAIN_I33>
</KAINOS>
<KAINOS>
<Row_number>2</Row_number>
<kodas_ps>010101 </kodas_ps>
<kodas_us>VNT </kodas_us>
<bar_kodas>000020320003</bar_kodas>
<r_date>2022-01-31T11:28:21.807</r_date>
<KAIN_I33>
<I33>
<kodas_is>01 </kodas_is>
<kaina>25.5000</kaina>
<prioritetas>4</prioritetas>
</I33>
...
</KAIN_I33>
<NUOL_I33>
<I33>
<kodas_is>IM </kodas_is>
<nuolaida>10.0000</nuolaida>
<prioritetas>3</prioritetas>
</I33>
</NUOL_I33>
<KAIN_N32>
<N32>
<kaina>100.9100</kaina>
<kain_kodas>A </kain_kodas>
<prioritetas>3</prioritetas>
<pradzia>2019-01-17T00:00:00</pradzia>
</N32>
<N32>
<kaina>96.1000</kaina>
<kain_kodas>B </kain_kodas>
<prioritetas>3</prioritetas>
<pradzia>2019-01-17T00:00:00</pradzia>
</N32>
</KAIN_N32>
</KAINOS>
</RET_DOK>
Klaida paduodant duomenis / SQL sintaksės klaidos / kitos DB klaidos
<?xml version='1.0' encoding='UTF-8'?>
<RET_DOK>
<id>0</id>
<durationMs>0</durationMs>
<errorMessage>Method GET_PRICE_TIME does not exist</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_PRICES_TIME",
"params": {
"fil": "",
"pagenumber": 1,
"lastdate": "2022-01-31",
"listType": "B"
}
}');
$response = curl_exec($ch);
curl_close($ch);