Gamybos operacijos komponentės įvedimas, koregavimas, trynimas.
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. Grąžinamo rezultato (response) formatas
application/xml
(default)application/json
(veikia nuo Manorivile-Gateway-1.1.0 versijos)method
: EDIT_I16
params
:
oper
:
I
- naujos komponentės įvedimas (numatytasis)U
- komponentės koregavimas D
- komponentės ištrynimasdata
: perduodami duomenys:
I16
- Komponentė (i16) Pirmi 7 ApiKey simboliai (pvz USERABC.JQKPG1d7Pkjxj37ObsgdfEkvfEfvF1oL7h7UMOLo
-> USERABC
) yra vartotojo vardas Rivile GAMA programoje, kuriuo bus kuriami ar koreguojami įrašai.
Vienu metu veiksmai atliekami tik su vienu įrašu.
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 <I16_KODAS_OS>
atitinka rinkinio kodą. Taip pat yra galimybė rinkinio kodą paduoti dalimis - tam naudojami tag'ai <K45_RIN01> ... <K45_RIN15>
. Jeigu bus paduotI ir <I07_KODAS_OS>
ir <K45_RIN01> ... <K45_RIN15>
tag'ai, aukštesnį prioritetą turi <I16_KODAS_OS>
. Rinkinio kodo iš anksto kurti nereikia, jis bus sukurtas automatiškai.
Norint atnaujinti rinkinio kodą, naujas kodas pateikiamas naudojant tag'ą <I16_KODAS_OS>
. Jeigu norima naują rinkinio kodą paduoti dalimis - būtina paduoti tuščią tagą <I16_KODAS_OS>
ir tada atskiras dalis naudojant tag'us <K45_RIN01> ... <K45_RIN15>
.
<body>
<method>EDIT_I16</method>
<params>
<oper>I</oper>
</params>
<data>
<I16>
<I16_KODAS_KA>010R00000001</I16_KODAS_KA>
<I16_TIPAS>1</I16_TIPAS>
<I16_KODAS_PS>005</I16_KODAS_PS>
<I16_KODAS_US_A>VNT</I16_KODAS_US_A>
<I16_FRAKCIJA_A>1</I16_FRAKCIJA_A>
<I16_KIEKIS_A>2</I16_KIEKIS_A>
<I16_KODAS_US>VNT</I16_KODAS_US>
<I16_FRAKCIJA>1</I16_FRAKCIJA>
<I16_KIEKIS>2</I16_KIEKIS>
<I49_DIM01>MEN1</I49_DIM01> <!--Jeigu naudojamos dimensijos -->
<K45_RIN01>RINKINYS</K45_RIN01> <!--Jeigu naudojami rinkiniai -->
</I16>
</data>
</body>
{
"method": "EDIT_I16",
"params": {
"oper": "I"
},
"data": {
"I16": {
"I16_KODAS_KA": "010R00000001",
"I16_TIPAS": 1,
"I16_KODAS_PS": "005",
"I16_KODAS_US_A": "VNT",
"I16_FRAKCIJA_A": 1,
"I16_KIEKIS_A": 2,
"I16_KODAS_US": "VNT",
"I16_FRAKCIJA": 1,
"I16_KIEKIS": 2,
"I49_DIM01": "MEN1",
"K45_RIN01": "RINKINYS"
}
}
}
<?xml version='1.0' encoding='UTF-8' ?>
<RET_DOK>
<I16>
<I16_KODAS_KA>010R00000001</I16_KODAS_KA>
<I16_EIL_NR>1</I16_EIL_NR>
<I16_TIPAS>1</I16_TIPAS>
<I16_KODAS_PS>005</I16_KODAS_PS>
<I16_KODAS_OS></I16_KODAS_OS>
<I16_SERIJA></I16_SERIJA>
<I16_PERKELTA>1</I16_PERKELTA>
<I16_KODAS_US_A>VNT</I16_KODAS_US_A>
<I16_FRAKCIJA_A>1</I16_FRAKCIJA_A>
<I16_KIEKIS_A>2</I16_KIEKIS_A>
<I16_PARD_KAINA>0.0000</I16_PARD_KAINA>
<I16_KODAS_US>VNT</I16_KODAS_US>
<I16_FRAKCIJA>1</I16_FRAKCIJA>
<I16_KIEKIS>2</I16_KIEKIS>
<I16_LIKUTIS>2</I16_LIKUTIS>
<I16_MINUSO_POZ>0</I16_MINUSO_POZ>
<I16_SAVIKAINA>0.00</I16_SAVIKAINA>
<I16_ISEIG_PROC>0.00</I16_ISEIG_PROC>
<I16_GALIOJA>3999-01-01T00:00:00</I16_GALIOJA>
<I16_USERIS>0HLPUFX</I16_USERIS>
<I16_R_DATE>2020-11-03T21:29:57</I16_R_DATE>
<I16_ADDUSR>0HLPUFX</I16_ADDUSR>
<I16_KODAS_US_N>VNT</I16_KODAS_US_N>
<I16_PAV></I16_PAV>
<I49_DIM01>MEN1</I49_DIM01>
<K45_RIN01>RINKINYS</K45_RIN01>
</I16>
</RET_DOK>
{
"I16": {
"I16_KODAS_KA": "010R00000001",
"I16_EIL_NR": 2,
"I16_TIPAS": 1,
"I16_KODAS_PS": "005",
"I16_KODAS_OS": "",
"I16_SERIJA": "",
"I16_PERKELTA": 1,
"I16_KODAS_US_A": "VNT",
"I16_FRAKCIJA_A": 1,
"I16_KIEKIS_A": 2,
"I16_PARD_KAINA": 0,
"I16_KODAS_US": "VNT",
"I16_FRAKCIJA": 1,
"I16_KIEKIS": 2,
"I16_LIKUTIS": 0,
"I16_MINUSO_POZ": 0,
"I16_SAVIKAINA": 0,
"I16_ISEIG_PROC": 0,
"I16_GALIOJA": "3999-01-01T00:00:00",
"I16_USERIS": "0HLPUFX",
"I16_R_DATE": "2020-11-03T21:38:14",
"I16_ADDUSR": "0HLPUFX",
"I16_KODAS_US_N": "VNT",
"I16_PAV": "",
"I49_DIM01": "MEN1",
"K45_RIN01": "RINKINYS"
}
}
Klaida paduodant duomenis / SQL sintaksės klaidos / kitos duomenų klaidos
<?xml version='1.0' encoding='UTF-8'?>
<RET_DOK>
<id>1266808491.ba84eed1.1604432380910</id>
<durationMs>9</durationMs>
<errorMessage>Nepavyko įvykdyti metodo</errorMessage>
<document/>
<errors>
<error>
<data><I16><I16_TIPAS>1</I16_TIPAS><I16_FRAKCIJA_A>1</I16_FRAKCIJA_A><I16_KIEKIS_A>2</I16_KIEKIS_A><I16_KIEKIS>2</I16_KIEKIS><I16_KODAS_US>VNT</I16_KODAS_US><I16_KODAS_US_A>VNT</I16_KODAS_US_A><I16_KODAS_KAS>010R00000001</I16_KODAS_KAS><I16_FRAKCIJA>1</I16_FRAKCIJA><I16_KODAS_PS>005</I16_KODAS_PS></I16></data>
<dataErrors>
<dataError>
<tag>I15_KODAS_KA</tag>
<code>8003</code>
<message>Tokio įrašo nėra</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 ir trynimas vyksta pagal atitinkamos lentelės raktą (Primary Key) ir eilės numerį
Koreguojant informaciją bus koreguojami tik perduodami laukai.
pvz koregavimas:
<body>
<method>EDIT_I16</method>
<params>
<oper>U</oper>
</params>
<data>
<I16>
<I16_KODAS_KA>010R00000001</I16_KODAS_KA>
<I16_EIL_NR>1</I16_EIL_NR>
<I16_PAV>Pavadinimas naujas</I16_PAV>
</I16>
</data>
</body>
pvz trynimas:
<body>
<method>EDIT_I16</method>
<params>
<oper>D</oper>
</params>
<data>
<I16>
<I16_KODAS_KA>010R00000001</I16_KODAS_KA>
<I16_EIL_NR>2</I16_EIL_NR>
</I16>
</data>
</body>
<body>
<method>EDIT_I16</method>
<params>
<oper>U</oper>
</params>
<data>
<I16>
<I16_KODAS_KA>010R00000001</I16_KODAS_KA>
<I16_EIL_NR>1</I16_EIL_NR>
<I16_KODAS_OS></I16_KODAS_OS>
<K45_RIN01>RINKINYS</K45_RIN01>
</I16>
</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, '{
"method": "EDIT_I16",
"params": {
"oper": "I"
},
"data": {
"I16": {
"I16_KODAS_KA": "010R00000001",
"I16_TIPAS": 1,
"I16_KODAS_PS": "005",
"I16_KODAS_US_A": "VNT",
"I16_FRAKCIJA_A": 1,
"I16_KIEKIS_A": 2,
"I16_KODAS_US": "VNT",
"I16_FRAKCIJA": 1,
"I16_KIEKIS": 2
}
}
}');
$response = curl_exec($ch);
curl_close($ch);
Gamybos operacijos komponentės lentelė
Laukas | Tipas | Aprašymas | Pastabos naudojant EDIT metodus |
---|---|---|---|
I16_KODAS_KA | C(12) | Operacijos kodas | Privalomas , kai oper=U,D |
I16_EIL_NR | N(6) | Detalios eilutės nr | Privalomas , kai oper=U,D |
I16_TIPAS | N(1) | Tipas:1-prekė,2-kodas,3-pranešimas,4-aprašymas | |
I16_KODAS_PS | C(12) | Prekės/Kodo kodas | |
I16_KODAS_OS | C(12) | Objekto kodas | Arba rinkinio kodas, jei dirbama su rinkiniais. |
I16_SERIJA | C(12) | Serija | |
I16_PERKELTA | N(1) | Prkėlimas:1-neperkelta,2-perkelta | |
I16_KODAS_US_A | C(12) | Alternatyvus matavimo vieneto kodas | |
I16_FRAKCIJA_A | N(4) | Alternatyvaus kiekio frakcija | |
I16_KIEKIS_A | N(14) | Reikalingas kiekis alternatyviu matu | |
I16_PARD_KAINA | N(12,4) | Pardavimo kaina | |
I16_KODAS_US | C(12) | Pagrindinio matavimo viento kodas | |
I16_FRAKCIJA | N(4) | Pagrindinio matavimo frakcija | |
I16_KIEKIS | N(14) | Reikalingas kiekis pagrindiniu matu | |
I16_LIKUTIS | N(14) | Prekės likutis operacijos atlikimo metu | |
I16_MINUSO_POZ | N(1) | Ar galima fiksuoti,jei trūksta kiekio:0-ne,1-taip | |
I16_SAVIKAINA | N(12,2) | Prekės savikaina | |
I16_ISEIG_PROC | N(6,2) | Sumos Išeigos procentas išbarstyme | |
I16_GALIOJA | T(8) | Galiojimo data | |
I16_USERIS | C(12) | Kas koregavo | |
I16_R_DATE | T(8) | Kada koregavo | |
I16_ADDUSR | C(12) | Kas sukūrė | |
I16_KODAS_US_N | C(12) | Matavimo vienetas nuo kurio nurašoma | |
I16_PAV | C(40) | Aprašymas | |
I16_APRASYMAS1 | C(150) | Aprašymas 1 | |
I16_APRASYMAS2 | C(150) | Aprašymas 2 | |
I16_APRASYMAS3 | C(150) | Aprašymas 3 | |
I49_DIM01, ... , I49_DIM15 | C(12) | Dimensijos | |
K45_RIN01, ... , K45_RIN15 | C(12) | Rinkiniai |