Metodas grąžina informaciją apie prekę, remiantis koregavimo data. Užklausos atsakymas pateikiamas kiekvienam unikaliam barkodui.
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_PROD_BY_BARCODE_TIME
params
:
list
: H - grąžina tik pasikeitimus, A – grąžina visą informaciją, jei pasikeitimas buvo bent vienoje su prekės aprašymu susijusioje vietojefil
: filtravimo sąlyga. T-SQL tipo where sąlygos užklausa iš lentelės N17 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.fil_pos_padal
: 0 – nuskaitomi visa informacija, 1 – nuskaitoma informacija tik tų padalinių, kurie naudojami POS įrenginių aprašymuose.fields_n17
: nurodomas parametras norint atsakymą papildyti laukais iš N17 lentos. Jei parametras neperduodamas, tuomet grąžinama tik pagrindinė informacija iš lentos N17.fields_n37
: nurodomas parametras norint atsakymą papildyti laukais iš N37 lentos. Jei parametras neperduodamas, tuomet grąžinama tik pagrindinė informacija iš lentos N37.fields_i33
: nurodomas parametras norint atsakymą papildyti laukais iš i33 lentos. Jei parametras neperduodamas, tuomet grąžinama tik pagrindinė informacija iš lentos I33.fields_n26
: nurodomas parametras norint atsakymą papildyti laukais iš N26 lentos. Jei parametras neperduodamas, tuomet grąžinama tik pagrindinė informacija iš lentos N26.top
: vienoje užklausoje grąžinamų rezultatų kiekis. Galima reikšmė nuo 1 iki 100. Reikšmė pagal nutylėjimą – 100.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ų informacija pasikeitė nuo tam tikros datos ir laiko.
Jeigu prekė turi kelis barkodus, informacija grąžinama kiekvienam unikaliam barkodui.
Rezultate prie prekės nurodomas statusas <status>
, kuris gali turėti dvi reikšmes: R - koreguota, D - ištrinta. Statusas automatiškai išsaugomas kiekvieno prekės koregavimo ar išmetimo metu ir nėra konfigūruojamas.
Sąraše su daugiau nei 1 įrašu informacija visada grąžinama surūšiuota pagal atitinkamos lentelės raktą (Primary Key).
GET_LIST metodas apribojimas 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_PROD_BY_BARCODE_TIME</method>
<params>
<list>A</list>
<fil></fil>
<pagenumber>1</pagenumber>
<lastDate>2022-01-31</lastDate>
<fields_n17>n17_kodas_ls_1,n17_kodas_ls_2</fields_n17>
<fil_pos_padal>1</fil_pos_padal>
</params>
</body>
pvz application/json
:
{
"method": "GET_PROD_BY_BARCODE_TIME",
"params": {
"list": "A",
"fil": "",
"pagenumber": "1",
"lastdate": "2022-01-31",
"fields_n17": "n17_kodas_ls_1,n17_kodas_ls_2",
"fil_pos_padal": "1"
}
}
Grąžinama informacija XML formate tarp tag'ų <RET_DOK>..</RET_DOK>
.
pvz:
<?xml version='1.0' encoding='UTF-8' ?>
<RET_DOK>
<PREKE>
<Row_number>1</Row_number>
<bar_kodas>000000000842</bar_kodas>
<kodas_ps>010101 </kodas_ps>
<kodas_us>VNT </kodas_us>
<r_date>2022-01-31T11:28:21.807</r_date> <!--Koregavimo laikas-->
<Status>R</Status> <!--koregavimo būsena: R –Koreguota, D -Ištrinta-->
<Bar_code_type>B</Bar_code_type>
<N17_PROD>
<N17>
<tn17_r_Date>2022-01-31T11:28:21.807</tn17_r_Date>
<Status>R</Status>
<N17_TIPAS>1</N17_TIPAS>
<N17_KODAS_US>VNT </N17_KODAS_US>
<N17_PAV>Aliejus</N17_PAV>
<N17_KODAS_KS>123456789 </N17_KODAS_KS>
<SupplierName>UAB Klientas</SupplierName>
<N17_ASSEMBLY>4</N17_ASSEMBLY>
<N17_NUOL_GR>LP </N17_NUOL_GR>
<N17_GALIOJA>600</N17_GALIOJA>
<N17_MOKESTIS>1</N17_MOKESTIS>
<N17_TAX>1</N17_TAX>
<N17_KODAS_KS_G>WBC </N17_KODAS_KS_G>
<N17_KODAS_GS>86 </N17_KODAS_GS>
<N17_MAX_NUOL>15.20</N17_MAX_NUOL>
<N17_SK_KODAS>0</N17_SK_KODAS>
<N17_PASTABOS></N17_PASTABOS>
<N17_POZ_DATE>0</N17_POZ_DATE>
<N17_BEG_DATE>2010-11-10T00:00:00</N17_BEG_DATE>
<N17_END_DATE>2010-11-10T00:00:00</N17_END_DATE>
<n17_kodas_ls_1>V1 </n17_kodas_ls_1>
<n17_kodas_ls_2>NATURALUS </n17_kodas_ls_2>
</N17>
</N17_PROD>
<N37_PMAT>
<N37>
<TN37_KODAS_US>VNT </TN37_KODAS_US>
<tn37_r_Date>2022-01-27T15:06:26.747</tn37_r_Date>
<Status>R</Status>
<N37_BAR_KODAS>000000000842</N37_BAR_KODAS>
<N37_TRUM_PAV>Aliejus </N37_TRUM_PAV>
<N37_PAV>Aliejus </N37_PAV>
<N37_KASOS_POZ>0</N37_KASOS_POZ>
<N37_SVARST_POZ>0</N37_SVARST_POZ>
<N37_SK_SVARST> </N37_SK_SVARST>
<N37_TAROS_GR> </N37_TAROS_GR>
<N37_TAROS_SVORIS>0</N37_TAROS_SVORIS>
<N37_FRAKCIJA_A>1</N37_FRAKCIJA_A>
<N37_FRAKCIJA>1</N37_FRAKCIJA>
<N37_KOEFICI>1</N37_KOEFICI>
</N37>
</N37_PMAT>
<I33_PKAI>
<I33>
<TI33_KODAS_IS>01 </TI33_KODAS_IS>
<TI33_KODAS_US>VNT </TI33_KODAS_US>
<tI33_r_Date>2022-01-27T15:06:26.713</tI33_r_Date>
<Status>R</Status>
<I33_FORMATAS>0</I33_FORMATAS>
<I33_POZ> </I33_POZ>
<I33_POZ_POS>1</I33_POZ_POS>
<I33_NUOL_GR> </I33_NUOL_GR>
<I33_MAX_NUOL>0.00</I33_MAX_NUOL>
<I33_POZ_DATE>0</I33_POZ_DATE>
<I33_BEG_DATE>2021-07-12T00:00:00</I33_BEG_DATE>
<I33_END_DATE>2021-07-12T00:00:00</I33_END_DATE>
<I33_KAINA>0.0000</I33_KAINA>
<I33_NUOLAIDA>0.00</I33_NUOLAIDA>
<PRIORITETAS>3</PRIORITETAS>
<KAINA_SU_PVM>0</KAINA_SU_PVM>
</I33>
...
</I33_PKAI>
<N26_KOMP>
<N26>
<tn26_r_Date>2022-01-27T15:06:26.733</tn26_r_Date>
<Status>R</Status>
<N26_EIL_NR>1</N26_EIL_NR>
<N26_TIPAS>3</N26_TIPAS>
<N26_KODAS_PS_K>PAKUOTE</N26_KODAS_PS_K>
<N37_BAR_KODAS>000005638900</N37_BAR_KODAS>
<N26_KODAS_US>VNT </N26_KODAS_US>
<N26_FRAKCIJA>1</N26_FRAKCIJA>
<N26_KIEKIS>2</N26_KIEKIS>
<N26_G_KIEKIS>1</N26_G_KIEKIS>
</N26>
...
</N26_KOMP>
</PREKE>
...
</RET_DOK>
Klaida paduodant duomenis / SQL sintaksės klaidos / kitos DB klaidos
<?xml version='1.0' encoding='UTF-8'?>
<RET_DOK>
<id>11395037911.2a1f1ee5.1643622942564</id>
<durationMs>485</durationMs>
<errorMessage>Invalid column name 'n17_kodas_ls1'.</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_PROD_BY_BARCODE_TIME",
"params": {
"list": "A",
"fil": "",
"pagenumber": "1",
"lastdate": "2022-01-31",
"fields_n17": "n17_kodas_ls_1,n17_kodas_ls_2",
"fil_pos_padal": "1"
}
}');
$response = curl_exec($ch);
curl_close($ch);