Vidinių operacijų sąrašas su papildomais laukais iš padalinių, prekių kortelių
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_I09_LIST_EXT
params
:
fil
: filtravimo sąlyga. T-SQL tipo where sąlygos užklausa iš lentelės I09 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šų. Neprivalomafields_i09
: nurodomi vidininės operacijos antraštės laukai. Jei parametras neperduodamas arba tuščias , grąžinama pagrindinė informacija.fields_i10
: nurodomas parametras norint gauti vidinių operacijų detalių eilučių informaciją. Jei parametras neperduodamas, tuomet negrąžinama detalių eilučių informacija. Jei paduodamas parametras bet tuščias, tuomet grąžinama pagrindinė informacijafields_n17
: nurodomas parametras su papildomais laukais norint gauti prekės kortelės informaciją. Jei parametras neperduodamas arba tuščias, tuomet informacija negrąžinama.fields_n07
: nurodomas parametras su papildomais laukais norint gauti padalinio informaciją. Jei parametras neperduodamas arba tuščias, tuomet informacija negrąžinama.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ę.
Atkreipkite dėmesį, kad informacija yra grąžinama kitokia struktūra nei GET_I09_LIST
.
pvz be parametrų application/xml
:
<body>
<method>GET_I09_LIST_EXT</method>
<params>
<fil>i09_kodas_vd='010000000001'</fil>
</params>
</body>
pvz su parametrais application/xml
:
<body>
<method>GET_I09_LIST_EXT</method>
<params>
<fil>i09_kodas_vd='010000000001'</fil>
<fields_i10></fields_i10>
<fields_n17>n17_pav,n17_kod_t</fields_n17>
<fields_n07>n07_pav</fields_n07>
<PageNumber>1</PageNumber>
</params>
</body>
pvz application/json
:
{
"method": "GET_I09_LIST_EXT",
"params": {
"fil": "i09_kodas_vd='010000000001'",
"fields_n17": "n17_pav,n17_kod_t",
"fields_n07": "n08_pav"
}
}
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ą I09_KODAS_VD
Jeigu įrašų nerasta pagal užduotas sąlygas, tuomet gražinama status=200 bei tuščias
pvz, kai request be parametrų:
<?xml version='1.0' encoding='UTF-8' ?>
<RET_DOK>
<I09>
<I09_KODAS_VD>010000000001</I09_KODAS_VD>
<I09_TIPAS>1</I09_TIPAS>
<I09_DOK_NR>DOK-001</I09_DOK_NR>
<I09_IS_DATA>2020-01-06T00:00:00</I09_IS_DATA>
<I09_GAV_DATA>2020-01-06T00:00:00</I09_GAV_DATA>
<I09_KODAS_IS1>01</I09_KODAS_IS1>
<I09_KODAS_IS2>02</I09_KODAS_IS2>
</I09>
</RET_DOK>
pvz, kai request su parametrais:
<?xml version='1.0' encoding='UTF-8' ?>
<RET_DOK>
<I09>
<I09_KODAS_VD>010000000001</I09_KODAS_VD>
<I09_TIPAS>1</I09_TIPAS>
<I09_DOK_NR>DOK-001</I09_DOK_NR>
<I09_IS_DATA>2020-01-06T00:00:00</I09_IS_DATA>
<I09_GAV_DATA>2020-01-06T00:00:00</I09_GAV_DATA>
<I09_KODAS_IS1>01</I09_KODAS_IS1>
<I09_KODAS_IS2>02</I09_KODAS_IS2>
<I10_VID>
<I10>
<I10_EIL_NR>1</I10_EIL_NR>
<I10_TIPAS>1</I10_TIPAS>
<I10_KODAS_PS>21808BKC7307</I10_KODAS_PS>
<I10_KODAS_OS1></I10_KODAS_OS1>
<I10_SERIJA1></I10_SERIJA1>
<I10_KODAS_OS2></I10_KODAS_OS2>
<I10_SERIJA2></I10_SERIJA2>
<I10_PAV>21808BKC7307 - 56 cm ( 5 - 8 Years ) </I10_PAV>
<I10_KODAS_US1>VNT</I10_KODAS_US1>
<I10_FRAKCIJA1>1</I10_FRAKCIJA1>
<I10_KODAS_US>VNT</I10_KODAS_US>
<I10_KIEKIS>2</I10_KIEKIS>
<I10_FRAKCIJA>1</I10_FRAKCIJA>
<I10_KODAS_US2>VNT</I10_KODAS_US2>
<I10_KIEKIS2>2</I10_KIEKIS2>
<I10_FRAKCIJA2>1</I10_FRAKCIJA2>
<I10_PIR_KAINA>10.0000</I10_PIR_KAINA>
<I10_PARD_KAINA1>0.0000</I10_PARD_KAINA1>
<I10_KITOS>0.00</I10_KITOS>
<I10_MUITAS>0.00</I10_MUITAS>
<I10_AKCIZAS>0.00</I10_AKCIZAS>
<I10_SAV_VISO>20.00</I10_SAV_VISO>
<N17_PROD>
<N17>
<N17_PAV>21808BKC7307 - 56 cm ( 5 - 8 Years )</N17_PAV>
<N17_KOD_T></N17_KOD_T>
</N17>
</N17_PROD>
</I10>
<I10>
<I10_EIL_NR>2</I10_EIL_NR>
<I10_TIPAS>1</I10_TIPAS>
<I10_KODAS_PS>1</I10_KODAS_PS>
<I10_KODAS_OS1></I10_KODAS_OS1>
<I10_SERIJA1></I10_SERIJA1>
<I10_KODAS_OS2></I10_KODAS_OS2>
<I10_SERIJA2></I10_SERIJA2>
<I10_PAV>Cukrus</I10_PAV>
<I10_KODAS_US1>KG</I10_KODAS_US1>
<I10_FRAKCIJA1>1000</I10_FRAKCIJA1>
<I10_KODAS_US>KG</I10_KODAS_US>
<I10_KIEKIS>1000</I10_KIEKIS>
<I10_FRAKCIJA>1000</I10_FRAKCIJA>
<I10_KODAS_US2>KG</I10_KODAS_US2>
<I10_KIEKIS2>1000</I10_KIEKIS2>
<I10_FRAKCIJA2>1000</I10_FRAKCIJA2>
<I10_PIR_KAINA>4.5000</I10_PIR_KAINA>
<I10_PARD_KAINA1>0.0000</I10_PARD_KAINA1>
<I10_KITOS>0.00</I10_KITOS>
<I10_MUITAS>0.00</I10_MUITAS>
<I10_AKCIZAS>0.00</I10_AKCIZAS>
<I10_SAV_VISO>4.50</I10_SAV_VISO>
<N17_PROD>
<N17>
<N17_PAV>Cukrus</N17_PAV>
<N17_KOD_T></N17_KOD_T>
</N17>
</N17_PROD>
</I10>
</I10_VID>
<N07_IMON1>
<N07>
<N07_PAV>Štai taip</N07_PAV>
</N07>
</N07_IMON1>
<N07_IMON2>
<N07>
<N07_PAV></N07_PAV>
</N07>
</N07_IMON2>
</I09>
</RET_DOK>
Klaida paduodant duomenis / SQL sintaksės klaidos / kitos DB klaidos
<?xml version='1.0' encoding='UTF-8'?>
<RET_DOK>
<id>3451ded.be556121580910178112</id>
<durationMs>25</durationMs>
<errorMessage>Invalid column name 'i09_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_I09_LIST_EXT",
"params": {
"fil": "i09_kodas_vd=\'010000000001\'",
"fields_n17": "n17_pav,n17_kod_t",
"fields_n07": "n08_pav"
}
}');
$response = curl_exec($ch);
curl_close($ch);
Nuoroda į lentelės aprašymą: I09
Nuoroda į lentelės aprašymą: I10
Nuoroda į lentelės aprašymą: N17
Nuoroda į lentelės aprašymą: N07