Vidinio dokumento detalios informacijos koregavimas.
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
: EDIT_I10
params
:
oper
:
I
- naujo įrašo sukūrimasU
- įrašo koregavimasD
- įrašo ištrynimasdata
: perduodami duomenys:
I10
- atitinkamos lentelės laukai (i10) Vienu metu veiksmai atliekami tik su vienu įrašu.
Pirmi 7 ApiKey simboliai (pvz USERABC.JQKPG1d7Pkjxj37ObsgdfEkvfEfvF1oL7h7UMOLo
-> USERABC
) yra vartotojo vardas Rivile GAMA programoje, kuriuo bus kuriami ar koreguojami įrašai.
Koreguoti galima tik to paties API vartotojo sukurtas operacijas. Teisės valdomos parametru RGI_ALL_EDIT
Naudojant tag'ą <obj_ser_order>
yra galimybė prekių likučius nurašyti kitu objektu ir serija, nei buvo paduota. Detaliau čia
Yra galimybė dirbti su papildomomis dimensijomis, jeigu tokios naudojamos Rivile GAMA sistemoje. Tam naudojami tag'ai <I49_DIM01> ... <I49_DIM15>
Jegu dirbama su rinkinias, tuomet <I10_KODAS_OS1>
ir <I10_KODAS_OS2>
atitinka rinkinio kodą. Taip pat yra galimybė rinkinio kodą paduoti dalimis - tam naudojami tag'ai <K45_RIN01> ... <K45_RIN15>
ir <K45_2_RIN01> ... <K45_2_RIN15>
. Jeigu bus paduotI ir <I10_KODAS_OS1>
ir <K45_RIN01> ... <K45_RIN15>
tag'ai, aukštesnį prioritetą turi <I10_KODAS_OS1>
. Rinkinio kodo iš anksto kurti nereikia, jis bus sukurtas automatiškai.
Norint atnaujinti rinkinio kodą, naujas kodas pateikiamas naudojant tag'ą <I10_KODAS_OS1>
. Jeigu norima naują rinkinio kodą paduoti dalimis - būtina paduoti tuščią tagą <I10_KODAS_OS1>
ir tada atskiras dalis naudojant tag'us <K45_RIN01> ... <K45_RIN15>
.
pvz application/xml
:
<body>
<method>EDIT_I10</method>
<params>
<oper>I</oper>
</params>
<data>
<I10>
<I10_KODAS_VD>010R00000063</I10_KODAS_VD>
<I10_TIPAS>1</I10_TIPAS>
<bar_kodas>777777777777</bar_kodas>
<kiekis_u>1</kiekis_u>
<I49_DIM01>MEN1</I49_DIM01> <!--Jeigu naudojamos dimensijos -->
<K45_RIN01>RINKINYS</K45_RIN01> <!--Jeigu naudojami rinkiniai -->
<K45_2_RIN01>RINKINYS</K45_2_RIN01> <!--Jeigu naudojami rinkiniai -->
</I10>
</data>
</body>
pvz application/json
:
{
"method": "EDIT_I10",
"params": {
"oper": "I"
},
"data": {
"I10": {
"I10_KODAS_VD": "010R00000063",
"I10_TIPAS": 1,
"bar_kodas": "777777777777",
"kiekis_u":1,
"I49_DIM01": "MEN1",
"K45_RIN01": "RINKINYS",
"K45_2_RIN01": "RINKINYS"
}
}
}
Grąžinama informacija XML formate tarp tag'ų <RET_DOK>..</RET_DOK>
.
pvz:
<?xml version='1.0'?>
<RET_DOK>
<I10>
<I10_KODAS_VD>010R00000063</I10_KODAS_VD>
<I10_EIL_NR>3</I10_EIL_NR>
<I10_KODAS_TR> </I10_KODAS_TR>
<I10_TIPAS>1</I10_TIPAS>
<I10_PERKELTA>1</I10_PERKELTA>
<I10_KODAS_PS>001 </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>Stalas </I10_PAV>
<I10_KODAS_US1>VNT </I10_KODAS_US1>
<I10_KIEKIS1>1</I10_KIEKIS1>
<I10_FRAKCIJA1>1</I10_FRAKCIJA1>
<I10_KODAS_US>VNT </I10_KODAS_US>
<I10_KIEKIS>1</I10_KIEKIS>
<I10_FRAKCIJA>1</I10_FRAKCIJA>
<I10_KODAS_US2>VNT </I10_KODAS_US2>
<I10_KIEKIS2>1</I10_KIEKIS2>
<I10_FRAKCIJA2>1</I10_FRAKCIJA2>
<I10_PIR_KAINA>.0000</I10_PIR_KAINA>
<I10_PARD_KAINA1>.0000</I10_PARD_KAINA1>
<I10_PARD_KAINA2>.0000</I10_PARD_KAINA2>
<I10_KITOS>.00</I10_KITOS>
<I10_MUITAS>.00</I10_MUITAS>
<I10_AKCIZAS>.00</I10_AKCIZAS>
<I10_SAV_VISO>.00</I10_SAV_VISO>
<I10_GAL_DATA>1900-01-01 00:00:00.000</I10_GAL_DATA>
<I10_USERIS>3 </I10_USERIS>
<I10_R_DATE>2019-10-29 17:44:54.000</I10_R_DATE>
<I10_ADDUSR>3 </I10_ADDUSR>
<I10_ADD_DATE>1900-01-01 00:00:00.000</I10_ADD_DATE>
<i10_aprasymas1></i10_aprasymas1>
<i10_aprasymas2></i10_aprasymas2>
<i10_aprasymas3></i10_aprasymas3>
<I49_DIM01>MEN1</I49_DIM01>
<K45_RIN01>RINKINYS</K45_RIN01>
<K45_2_RIN01>RINKINYS</K45_2_RIN01>
</I10>
</RET_DOK>
Klaida paduodant duomenis / SQL sintaksės klaidos / kitos DB klaidos
<?xml version='1.0' encoding='UTF-8'?>
<RET_DOK>
<id>14433105830.9def1bf4.1584217427751</id>
<durationMs>45</durationMs>
<errorMessage>nepavyko įvykdyti metodo</errorMessage>
<errors>
<error>
<data><I10></I10></data>
<dataErrors>
<dataError>
<tag>I10_KODAS_VD</tag>
<code>21001</code>
<message>Nėra operacijos</message>
</dataError>
</dataErrors>
</error>
</errors>
</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>/v2</path>
</Map>
Koregavimas, trynimas vyksta pagal lentelės raktą (Primary Key)
Koreguojant informaciją bus koreguojami tik perduodami laukai.
pvz koregavimas:
<body>
<method>EDIT_I10</method>
<params>
<oper>U</oper>
</params>
<data>
<I10>
<I10_KODAS_VD>01R000000001</I10_KODAS_VD>
<I10_EIL_NR>1</I10_EIL_NR>
<I10_SERIJA1>SERIJA</I10_SERIJA1>
</I10>
</data>
</body>
pvz trynimas:
<body>
<method>EDIT_I10</method>
<params>
<oper>D</oper>
</params>
<data>
<I10>
<I10_KODAS_VD>01R000000001</I10_KODAS_VD>
<I10_EIL_NR>1</I10_EIL_NR>
</I10>
</data>
</body>
<body>
<method>EDIT_I10</method>
<params>
<oper>U</oper>
</params>
<data>
<I10>
<I10_KODAS_VD>01R000000001</I10_KODAS_VD>
<I10_EIL_NR>1</I10_EIL_NR>
<I10_KODAS_OS1></I10_KODAS_OS1>
<K45_RIN01>RINKINYS</K45_RIN01>
</I10>
</data>
</body>
<?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, $body);
$response = curl_exec($ch);
curl_close($ch);
Vidinio dokumento detalios informacijos lentelė
Laukas | Tipas | Aprašymas | Pastabos naudojant EDIT metodus |
---|---|---|---|
I10_KODAS_VD | C(12) | Operacijos numeris | Privalomas, kai oper=U,D |
I10_EIL_NR | N(6) | Detalios eilutės numeris | Privalomas, kai oper=U,D |
I10_KODAS_TR | C(12) | Transporto operacijos numeris | |
I10_TIPAS | N(1) | Eilutės tipas:1-prekė, 2 kodas | Privalomas, kai oper=I |
I10_PERKELTA | N(1) | Perkėlimas:1-neperkelta,2-perkelta,3-perkelta pirma dal | |
I10_KODAS_PS | C(12) | Prekės kodas | Privalomas *** |
I10_KODAS_OS1 | C(12) | Padalinio siuntėjo prekės objekto kodas | Arba rinkinio kodas, jei dirbama su rinkiniais |
I10_SERIJA1 | C(12) | Padalinio siuntėjo prekės serija | |
I10_KODAS_OS2 | C(12) | Padalinio gavėjo prekės objekto kodas | Arba rinkinio kodas, jei dirbama su rinkiniais |
I10_SERIJA2 | C(12) | Padalinio gavėjo prekės serijos | |
I10_PAV | C(40) | Prekės pavadinimas | |
I10_KODAS_US1 | C(12) | Perduodamas matavimo kodas | |
I10_KIEKIS1 | N(14) | Perduodamas kiekis | |
I10_FRAKCIJA1 | N(4) | Perduodamo matavimo vieneto frakcija | |
I10_KODAS_US | C(12) | Pagrindinio matavimo vieneto kodas | |
I10_KIEKIS | N(14) | Kiekis pagrindiniu matu | |
I10_FRAKCIJA | N(4) | Pagrindinio matavimo frakcija | |
I10_KODAS_US2 | C(12) | Gavimo matavimo kodas | |
I10_KIEKIS2 | N(14) | Gaunamas kiekis | |
I10_FRAKCIJA2 | N(4) | Gavimo matavimo vieneto frakcija | |
I10_PIR_KAINA | N(12,4) | Pirkimo kaina | |
I10_PARD_KAINA1 | N(12,4) | Siuntėjo pardavimo kaina | |
I10_PARD_KAINA2 | N(12,4) | Gavėjo pardavimo kaina | |
I10_KITOS | N(12,2) | Kitos išlaidos | |
I10_MUITAS | N(12,2) | Muitas | |
I10_AKCIZAS | N(12,2) | Akcizas | |
I10_SAV_VISO | N(12,2) | Prekės savikaina | |
I10_GAL_DATA | T(8) | Galiojimo data | |
I10_USERIS | C(12) | Kas koregavo | |
I10_R_DATE | T(8) | Koregavimo laikas | |
I10_ADDUSR | C(12) | Kas sukūrė | |
I10_ADD_DATE | T(8) | Kada sukūrė | |
I10_APRASYMAS1 | C(150) | Aprašymas 1 | |
I10_APRASYMAS2 | C(150) | Aprašymas 2 | |
I10_APRASYMAS3 | C(150) | Aprašymas 3 | |
kiekis_u | N(12,4) | Alternatyvus kiekis dešimtainėje išraiškoje | *** |
bar_kodas | C(12) | Barkodas | *** |
obj_ser_order | Likučių nurašymo tvarka. Sąlygą galima formuoti nurodant tik dvi kolonėles i17_kodas_os ir / arba i17_serija, pavyzdžiui, "i17_kodas_os, i17_serija", "i17_kodas_os desc, i17_serija asc", "i17_serija desc, i17_kodas_os asc" | *** | |
I49_DIM01, ... , I49_DIM15 | C(12) | Dimensijos | |
K45_RIN01, ... , K45_RIN15 | C(12) | Padalinio siuntėjo rinkiniai | |
K45_2_RIN01, ... , K45_2_RIN15 | C(12) | Padalinio gavėjo rinkiniai |
** jeigu naudojami laukai bar_kodas ir kiekis_u, tuomet eilutės kodas yra automatiškai užpildomas pagal barkodą ir kiekis išverčiamas iš dešimtainio kiekio į kiekius ir frakcijas. Jeigu naudojamas bar_kodas*, tuomet laukai I10_KODAS_PS nebūtina nurodyti - jie randami pagal barkodo informaciją.
*** Jeigu parametro reikšmė neperduodama, prekių likučiai nurašomi tiksliai su tokiu objektu ir serija, koks buvo perduotas. Perdavus reikšmę pirmiausiai tikrinamas prekės kiekis su perduotu objektu ir/ar serija. Jeigu toks kiekis nepakankamas, nurašomi likučiai su kitais objektais ir serijomis išlaikant parametre nurodyta rūšiavimo tvarką.