POS operacijos
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_I61_LIST
params
:
fil
: filtravimo sąlyga. T-SQL tipo where sąlygos užklausa iš lentelės I61 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_I61_LIST</method>
<params>
<fil>i61_kodas_kk='POS01'</fil>
</params>
</body>
pvz application/json
:
{
"method": "GET_I61_LIST",
"params": {
"fil": "i61_kodas_kk='POS01'"
}
}
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ą I61_KODAS_WW
Jeigu įrašų nerasta pagal užduotas sąlygas, tuomet gražinama status=200 bei tuščias
pvz:
<?xml version='1.0' encoding='UTF-8' ?>
<RET_DOK>
<I61>
<Row_number>1</Row_number>
<I61_KODAS_WW>010000000001</I61_KODAS_WW>
<I61_KODAS_KK>POS01 </I61_KODAS_KK>
<I61_TIPAS>1</I61_TIPAS>
<I61_DOK_NR>M00000000001</I61_DOK_NR>
<I61_OP_DATA>2020-10-29T15:22:20</I61_OP_DATA>
<I61_KODAS_MS> </I61_KODAS_MS>
<I61_KODAS_KS>K1 </I61_KODAS_KS>
<I61_SUMA>1010.80</I61_SUMA>
<I61_KODAS_SS> </I61_KODAS_SS>
<I61_KODAS_SS_0>2721 </I61_KODAS_SS_0>
<I61_PINIGAI>1010.80</I61_PINIGAI>
<I61_KODAS_SS_1> </I61_KODAS_SS_1>
<I61_PINIGAI1>0.00</I61_PINIGAI1>
<I61_KODAS_SS_2> </I61_KODAS_SS_2>
<I61_PINIGAI2>0.00</I61_PINIGAI2>
<I61_PINIGAI_GR>1010.80</I61_PINIGAI_GR>
<I61_PERKELTA>1</I61_PERKELTA>
<I61_FISKAL>2</I61_FISKAL>
<I61_NUOL_S>0.00</I61_NUOL_S>
<I61_ADDUSR>MASTER </I61_ADDUSR>
<I61_R_DATE>2020-10-29T15:24:08</I61_R_DATE>
<I61_USERIS>MASTER </I61_USERIS>
<I61_SASK_NR> </I61_SASK_NR>
<I61_KODAS_SS_3> </I61_KODAS_SS_3>
<I61_KODAS_SS_4> </I61_KODAS_SS_4>
<I61_KODAS_SS_5> </I61_KODAS_SS_5>
<I61_PINIGAI3>0.00</I61_PINIGAI3>
<I61_PINIGAI4>0.00</I61_PINIGAI4>
<I61_PINIGAI5>0.00</I61_PINIGAI5>
<I61_PINIGAI_M>0.00</I61_PINIGAI_M>
<I61_PINIGAI_M1>0.00</I61_PINIGAI_M1>
<I61_PINIGAI_M2>0.00</I61_PINIGAI_M2>
<I61_PINIGAI_M3>0.00</I61_PINIGAI_M3>
<I61_PINIGAI_M4>0.00</I61_PINIGAI_M4>
<I61_PINIGAI_M5>0.00</I61_PINIGAI_M5>
<I61_KODAS_SM> </I61_KODAS_SM>
<I61_REZERVAS_1> </I61_REZERVAS_1>
<I61_REZERVAS_2> </I61_REZERVAS_2>
<I61_REZERVAS_3> </I61_REZERVAS_3>
</I61>
<I61>
<Row_number>2</Row_number>
<I61_KODAS_WW>010000000002</I61_KODAS_WW>
<I61_KODAS_KK>POS01 </I61_KODAS_KK>
<I61_TIPAS>1</I61_TIPAS>
<I61_DOK_NR>M00000000002</I61_DOK_NR>
<I61_OP_DATA>2020-10-29T15:24:28</I61_OP_DATA>
<I61_KODAS_MS> </I61_KODAS_MS>
<I61_KODAS_KS>K1 </I61_KODAS_KS>
<I61_SUMA>1000.00</I61_SUMA>
<I61_KODAS_SS> </I61_KODAS_SS>
<I61_KODAS_SS_0>2710 </I61_KODAS_SS_0>
<I61_PINIGAI>1000.00</I61_PINIGAI>
<I61_KODAS_SS_1> </I61_KODAS_SS_1>
<I61_PINIGAI1>0.00</I61_PINIGAI1>
<I61_KODAS_SS_2> </I61_KODAS_SS_2>
<I61_PINIGAI2>0.00</I61_PINIGAI2>
<I61_PINIGAI_GR>0.00</I61_PINIGAI_GR>
<I61_PERKELTA>1</I61_PERKELTA>
<I61_FISKAL>2</I61_FISKAL>
<I61_NUOL_S>0.00</I61_NUOL_S>
<I61_ADDUSR>MASTER </I61_ADDUSR>
<I61_R_DATE>2020-10-29T15:24:36</I61_R_DATE>
<I61_USERIS>MASTER </I61_USERIS>
<I61_SASK_NR> </I61_SASK_NR>
<I61_KODAS_SS_3> </I61_KODAS_SS_3>
<I61_KODAS_SS_4> </I61_KODAS_SS_4>
<I61_KODAS_SS_5> </I61_KODAS_SS_5>
<I61_PINIGAI3>0.00</I61_PINIGAI3>
<I61_PINIGAI4>0.00</I61_PINIGAI4>
<I61_PINIGAI5>0.00</I61_PINIGAI5>
<I61_PINIGAI_M>0.00</I61_PINIGAI_M>
<I61_PINIGAI_M1>0.00</I61_PINIGAI_M1>
<I61_PINIGAI_M2>0.00</I61_PINIGAI_M2>
<I61_PINIGAI_M3>0.00</I61_PINIGAI_M3>
<I61_PINIGAI_M4>0.00</I61_PINIGAI_M4>
<I61_PINIGAI_M5>0.00</I61_PINIGAI_M5>
<I61_KODAS_SM> </I61_KODAS_SM>
<I61_REZERVAS_1> </I61_REZERVAS_1>
<I61_REZERVAS_2> </I61_REZERVAS_2>
<I61_REZERVAS_3> </I61_REZERVAS_3>
</I61>
</RET_DOK>
Klaida paduodant duomenis / SQL sintaksės klaidos / kitos DB klaidos
<?xml version='1.0' encoding='UTF-8'?>
<RET_DOK>
<id>21313695680.624ecc7e.1596200145167</id>
<durationMs>4</durationMs>
<errorMessage>Invalid column name 'i61_kodas_ksk'.</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_I61_LIST",
"params": {
"fil": "i61_kodas_kk=\'POS01\'"
}
}');
$response = curl_exec($ch);
curl_close($ch);
Laukas | Tipas | Aprašymas | Pastabos naudojant EDIT metodus |
---|---|---|---|
I61_KODAS_WW | C(12) | Operacijos numeris | |
I61_KODAS_KK | C(12) | POS kodas | |
I61_TIPAS | N(1) | Tipas:1-kvitas,2-stalčiaus operacija,3-anuliuota,4-pinigai iš Z, 5-grąžinimas, 7-išmokėjimas | |
I61_DOK_NR | C(12) | Kvito numeris | |
I61_OP_DATA | T(8) | Operacijos data | |
I61_KODAS_MS | C(12) | Menedžerio kodas | |
I61_KODAS_KS | C(12) | Kliento kodas | |
I61_SUMA | N(12,2) | Pardavimo suma | |
I61_KODAS_SS | C(12) | Mokėjimo sąskaita | |
I61_KODAS_SS_0 | C(12) | Kredito sąskaitos kodas 0 | |
I61_KODAS_SS_1 | C(12) | Kredito sąskaitos kodas 1 | |
I61_PINIGAI1 | N(12,2) | Pinigai 1 | |
I61_KODAS_SS_2 | C(12) | Kredito sąskaitos kodas 2 (kompensuojamiems vaistams) | |
I61_PINIGAI2 | N(12,2) | Pinigai 2 (kompensuojamiems vaistams) | |
I61_PINIGAI_GR | N(12,2) | Apmokėta grynais | |
I61_PERKELTA | N(1) | Perkelta | |
I61_NUOL_S | N(12,2) | Kvito nuolaidos suma | |
I61_ADDUSR | C(12) | Kas sukūrė | |
I61_R_DATE | T(8) | Kada koregavo | |
I61_USERIS | C(12) | Kas koregavo | |
I61_KODAS_SS_3 | C(12) | Kredito sąskaitos kodas 3 | |
I61_KODAS_SS_4 | C(12) | Kredito sąskaitos kodas 4 (atsiskaitymui lojalumu arba dovanų kuponu) | |
I61_SASK_NR | C(20) | Sąskaitos-Faktūros numeris | |
I61_KODAS_SS_5 | C(12) | Kredito sąskaitos kodas 5 | |
I61_PINIGAI3 | N(12,2) | Pinigai 3 | |
I61_PINIGAI4 | N(12,2) | Pinigai 4 (atsiskaitymui lojalumu arba dovanų kuponu) | |
I61_PINIGAI5 | N(12,2) | Pinigai 5 | |
I61_PINIGAI_M | N(12,2) | Apmokėti pinigai | |
I61_PINIGAI_M1 | N(12,2) | Apmokėti pinigai 1 | |
I61_PINIGAI_M2 | N(12,2) | Apmokėti pinigai 2 | |
I61_PINIGAI_M3 | N(12,2) | Apmokėti pinigai 3 | |
I61_PINIGAI_M4 | N(12,2) | Apmokėti pinigai 4 | |
I61_PINIGAI_M5 | N(12,2) | Apmokėti pinigai 5 | |
I61_KODAS_SM | C(12) | Asmuo | |
I61_REZERVAS_1 | C(12) | Kvito Nr. iš fiskalo | |
I61_REZERVAS_2 | C(12) | Rezervas 2 | |
I61_REZERVAS_3 | C(12) | Rezervas 3 | |
I61_SUMA_WK | N(12,2) | WB įsipareigojimų suma | |
I61_KODAS_ZN | C(12) | Zona |
Laukas | Tipas | Aprašymas | Pastabos naudojant EDIT metodus |
---|---|---|---|
I62_KODAS_WW | C(12) | Operacijos numeris | |
I62_EIL_NR | N(6) | Eil. numeris | |
I62_EIL_NR_VD | N(6) | Mat. vnt. vidinis eilutės numeris | |
I62_KODAS_PO | C(12) | Pardavimo operacijos numeris | |
I62_EIL_NR_PO | N(6) | Eilutės numeris pardavimo operacijoje | |
I62_TIPAS | N(1) | Tipas:1-Prekė,2-paslauga,3-prekė pagal konkretų objektą ir seriją | |
I62_KODAS_PS | C(12) | Prekės/paslaugos kodas | |
I62_KODAS_IS | C(12) | Padalinio kodas | |
I62_KODAS_OS | C(12) | Objekto kodas | |
I62_KODAS_OS_C | C(12) | Centro kodas | |
I62_SERIJA | C(12) | Serija | |
I62_KODAS_US | C(12) | Pagrindinis matavimo vieneto kodas | |
I62_KIEKIS | N(14) | Kiekis pagrindiniu matu | |
I62_KIEKIS_M | N(14) | Kiek parduota į minusą pag. matu | |
I62_FRAKCIJA | N(4) | Pagrindinio matavimo frakcija | |
I62_KODAS_US_P | C(12) | Alternatyvaus matavimo vieneto kodas | |
I62_ALT_KIEKIS | N(14) | Alternatyvus kiekis | |
I62_ALT_FRAK | N(4) | Alternatyvi frakcija | |
I62_KODAS_US_A | C(12) | Užpajamavimo matavimo vieneto kodas | |
I62_KAINA_SU | N(12,4) | Pardavimo kaina su PVM | |
I62_NUOLAIDA | N(6,2) | Nuolaidos procentas | |
I62_SUMA | N(12,2) | Suma su PVM | |
I62_TAX | N(1) | Mokestis:0-Ne,1-A,2-B,3-C,4-D | |
I62_MOKESTIS_P | N(6,2) | Mokesčio procentas | |
I62_NUOLAIDA_S | N(12,2) | Nuolaidos suma | |
I62_PERKELTA | N(1) | Perkelta | |
I62_ADDUSR | C(12) | Kas sukūrė | |
I62_USERIS | C(12) | Kas koregavo | |
I62_R_DATE | T(8) | Koregavimo laikas | |
I62_KODAS_KT | C(12) | Sutartis | |
I62_KODAS_K0 | C(12) | Priedo numeris | |
I62_PVM | N(12,2) | PVM suma | |
I62_SAVIKAINA | N(12,2) | Savikaina | |
I62_NUOLAIDA_BE | N(6,2) | Nuolaidos procentas be lojalumo | |
I62_NUOLAIDA_S_BE | N(12,2) | Nuolaida be lojalumo | |
I62_SUMA_BE | N(12,2) | Suma be lojalumo | |
KIEKIS_U | C(40) | Prekės barkodas (vienareikšmiškai apibrėžia prekės kodą ir matavimo vienetą) | |
DI62_BAR_KODAS | C(12) | Zona | |
Anuliuota | N(1,0) | 1 - Anuliuota detali eilutė, 0 arba tag‘o nėra – normali kvito pozicija |