Gamybos operacijos sukūrimas, koregavimas, perkėlimas, 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_I15
params
:
oper
:
I
- naujo dokumento sukūrimas (numatytasis)U
- dokumento koregavimasP
- dokumento perkėlimas D
- dokumento ištrynimasdata
: perduodami duomenys:
I15
- Gamybos operacijos antraštė (i15) 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>
Kuriant naują gamybos operaciją yra galimybė įkelti komponentes nurodytas komplektuojamos prekės kortelėje, tam naudojamas tag'as <KOMP_TIK_MEDZIAGOS>
. Jeigu tag'o reikšmė lygi 1, pusgaminiai yra išskleidžiami iki detalių medžiagų. Jeigu tag'o reikšmė - 0, pusgaminiai neskaidomi.
Kuriant naują operaciją ir pasirinkus įkelti gaminio komponentes, tag'as <KOMP_APJUNGTI_VIENODAS>
su reikšme 1 nurodo, kad importuojamos vienodos komponentes turi būti sumuojamos.
Kuriant naują operaciją ir pasirinkus įkelti gaminio komponentes, tag'as <KOMP_KITI_MATAVIMAI>
nurodo, jog leidžiama komponentes parinkti iš likučių su objektu ir serija pagal tam tikrą tvarką. Tvarka nurodoma aparašant parametrą. Galimos reikšmės I07_KODAS_OS, I07_SERIJA
, taip pat yra galimybė naudoti rūšiavimo kryptis ASC, DESC
<body>
<method>EDIT_I15</method>
<params>
<oper>I</oper>
</params>
<data>
<I15>
<I15_DOK_NR>SUR00006</I15_DOK_NR>
<I15_UZS_DATA>2020-11-03</I15_UZS_DATA>
<I15_OP_DATA>2020-11-03</I15_OP_DATA>
<I15_TIPAS>1</I15_TIPAS>
<I15_KODAS_IS>01</I15_KODAS_IS>
<I15_KODAS_PS>004</I15_KODAS_PS>
<I15_KODAS_US>VNT</I15_KODAS_US>
<I15_FRAKCIJA>1</I15_FRAKCIJA>
<I15_KIEKIS>2</I15_KIEKIS>
<I15_KODAS_US_A>VNT</I15_KODAS_US_A>
<I15_FRAKCIJA_A>1</I15_FRAKCIJA_A>
<I15_KIEKIS_A>2</I15_KIEKIS_A>
<I15_H_COST>1200.00</I15_H_COST>
<I49_DIM01>MEN1</I49_DIM01> <!--Jeigu naudojamos dimensijos -->
</I15>
</data>
</body>
{
"method": "EDIT_I15",
"params": {
"oper": "I"
},
"data": {
"I15": {
"I15_DOK_NR": "SUR00006",
"I15_UZS_DATA": "2020-11-03",
"I15_OP_DATA": "2020-11-03",
"I15_TIPAS": 1,
"I15_KODAS_IS": "01",
"I15_KODAS_PS": "004",
"I15_KODAS_US": "VNT",
"I15_FRAKCIJA": 1,
"I15_KIEKIS": 2,
"I15_KODAS_US_A": "VNT",
"I15_FRAKCIJA_A": 1,
"I15_KIEKIS_A": 2,
"I15_H_COST": 1200.00,
"I49_DIM01": "MEN1"
}
}
}
<?xml version='1.0' encoding='UTF-8' ?>
<RET_DOK>
<I15>
<I15_KODAS_KA>010R00000001</I15_KODAS_KA>
<I15_DOK_NR>SUR00006</I15_DOK_NR>
<I15_UZS_NR></I15_UZS_NR>
<I15_UZS_DATA>2020-11-03T00:00:00</I15_UZS_DATA>
<I15_OP_DATA>2020-11-03T00:00:00</I15_OP_DATA>
<I15_TIPAS>1</I15_TIPAS>
<I15_KODAS_IS>01</I15_KODAS_IS>
<I15_KODAS_PS>004</I15_KODAS_PS>
<I15_KODAS_OS></I15_KODAS_OS>
<I15_SERIJA></I15_SERIJA>
<I15_KODAS_US>VNT </I15_KODAS_US>
<I15_FRAKCIJA>1</I15_FRAKCIJA>
<I15_KIEKIS>2</I15_KIEKIS>
<I15_KODAS_US_A>VNT</I15_KODAS_US_A>
<I15_FRAKCIJA_A>1</I15_FRAKCIJA_A>
<I15_KIEKIS_A>2</I15_KIEKIS_A>
<I15_PERKELTA>1</I15_PERKELTA>
<I15_H_COST>1200.00</I15_H_COST>
<I15_PARD_K>1000.0000</I15_PARD_K>
<I15_GALIOJA>3999-01-01T00:00:00</I15_GALIOJA>
<I15_IMP_EXP>0</I15_IMP_EXP>
<I15_USERIS>0HLPUFX</I15_USERIS>
<I15_R_DATE>2020-11-03T16:21:00</I15_R_DATE>
<I15_ADDUSR>0HLPUFX</I15_ADDUSR>
<I15_SUMA_NOR>999999999.99</I15_SUMA_NOR>
<I15_SERTIFIKATAS></I15_SERTIFIKATAS>
<I15_KODAS_OS_C></I15_KODAS_OS_C>
<I15_PAV></I15_PAV>
<I15_KODAS_PE></I15_KODAS_PE>
<I15_KODAS1></I15_KODAS1>
<I15_KODAS2></I15_KODAS2>
<I15_SKAICIUS>0.0000</I15_SKAICIUS>
<I15_KODAS_SM></I15_KODAS_SM>
<I15_BUSENA>1</I15_BUSENA>
<I49_DIM01>MEN1</I49_DIM01>
</I15>
</RET_DOK>
{
"I15_KALH": {
"I15_KODAS_KA": "010R00000002",
"I15_DOK_NR": "SUR00007",
"I15_UZS_NR": "",
"I15_UZS_DATA": "2020-11-03T00:00:00",
"I15_OP_DATA": "2020-11-03T00:00:00",
"I15_TIPAS": 1,
"I15_KODAS_IS": "01",
"I15_KODAS_PS": "004",
"I15_KODAS_OS": "",
"I15_SERIJA": "",
"I15_KODAS_US": "VNT",
"I15_FRAKCIJA": 1,
"I15_KIEKIS": 2,
"I15_KODAS_US_A": "VNT",
"I15_FRAKCIJA_A": 1,
"I15_KIEKIS_A": 2,
"I15_PERKELTA": 1,
"I15_H_COST": 1200,
"I15_PARD_K": 1000,
"I15_GALIOJA": "3999-01-01T00:00:00",
"I15_IMP_EXP": 0,
"I15_USERIS": "0HLPUFX",
"I15_R_DATE": "2020-11-03T16:30:24",
"I15_ADDUSR": "0HLPUFX",
"I15_SUMA_NOR": 9.9999999999E8,
"I15_SERTIFIKATAS": "",
"I15_KODAS_OS_C": "",
"I15_PAV": "",
"I15_KODAS_PE": "",
"I15_KODAS1": "",
"I15_KODAS2": "",
"I15_SKAICIUS": 0,
"I15_KODAS_SM": "",
"I15_BUSENA": 1,
"I49_DIM01": "MEN1"
}
}
Klaida paduodant duomenis / SQL sintaksės klaidos / kitos duomenų klaidos
<?xml version='1.0' encoding='UTF-8'?>
<RET_DOK>
<id>1266808491.53b102a5.1604414179963</id>
<durationMs>10</durationMs>
<errorMessage>Nepavyko įvykdyti metodo</errorMessage>
<document/>
<errors>
<error>
<data><I15><I15_FRAKCIJA>1</I15_FRAKCIJA><I15_H_COST>1200.00</I15_H_COST><I15_KIEKIS_A>2</I15_KIEKIS_A><I15_KODAS_US>VNT</I15_KODAS_US><I15_KODAS_PS>004</I15_KODAS_PS><I15_FRAKCIJA_A>1</I15_FRAKCIJA_A><I15_UZS_DATA>2020-11-03</I15_UZS_DATA><I15_PERKELTA>2</I15_PERKELTA><I15_KODAS_IS>01</I15_KODAS_IS><I15_KIEKIS>2</I15_KIEKIS><I15_KODAS_US_A>VNT</I15_KODAS_US_A><I15_OP_DATA>2020-11-03</I15_OP_DATA><I15_TIPAS>1</I15_TIPAS></I15></data>
<dataErrors>
<dataError>
<tag>I15_DOK_NR</tag>
<code>16057</code>
<message>Nenurodytas dokumento numeris</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>
Pavyzdys, kai norima įkelti gaminio komponentes, kurios bus skaidomos iki detalios medžiagos. Medžiagos bus sumuojamos. Komponentes leidžiama parinkti iš likučių pagal tam tikrą tvarką.
{
"method": "EDIT_I15",
"params": {
"oper": "I"
},
"data": {
"I15": {
"I15_TIPAS": 1,
"I15_KODAS_IS": "IM",
"I15_KODAS_PS": "GAMINYS1",
"I15_KODAS_US": "VNT",
"I15_FRAKCIJA": 1,
"I15_KIEKIS": 16,
"I15_KODAS_US_A": "VNT",
"I15_FRAKCIJA_A": 1,
"I15_KIEKIS_A": 16,
"KOMP_TIK_MEDZIAGOS": 1,
"KOMP_APJUNGTI_VIENODAS": 1,
"KOMP_KITI_MATAVIMAI": "I17_KODAS_OS ASC,I17_SERIJA"
}
}
}
Koregavimas, trynimas ir perkėlimas vyksta pagal atitinkamos lentelės raktą (Primary Key)
Koreguojant informaciją bus koreguojami tik perduodami laukai.
pvz koregavimas:
<body>
<method>EDIT_I15</method>
<params>
<oper>U</oper>
</params>
<data>
<I15>
<I15_KODAS_KA>010R00000002</I15_KODAS_KA>
<I15_DOK_NR>SUR0000A1</I15_DOK_NR>
</I15>
</data>
</body>
pvz trynimas:
<body>
<method>EDIT_I15</method>
<params>
<oper>D</oper>
</params>
<data>
<I15>
<I15_KODAS_KA>010R00000002</I15_KODAS_KA>
</I15>
</data>
</body>
pvz perkėlimas:
<body>
<method>EDIT_I15</method>
<params>
<oper>P</oper>
</params>
<data>
<I15>
<I15_KODAS_KA>010R00000002</I15_KODAS_KA>
</I15>
</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_I15",
"params": {
"oper": "I"
},
"data": {
"I15": {
"I15_DOK_NR": "SUR00006",
"I15_UZS_DATA": "2020-11-03",
"I15_OP_DATA": "2020-11-03",
"I15_TIPAS": 1,
"I15_KODAS_IS": "01",
"I15_KODAS_PS": "004",
"I15_KODAS_US": "VNT",
"I15_FRAKCIJA": 1,
"I15_KIEKIS": 2,
"I15_KODAS_US_A": "VNT",
"I15_FRAKCIJA_A": 1,
"I15_KIEKIS_A": 2,
"I15_H_COST": 1200.00
}
}
}');
$response = curl_exec($ch);
curl_close($ch);
Gamybos operacijos antraštės lentelė
Laukas | Tipas | Aprašymas | Pastabos naudojant EDIT metodus |
---|---|---|---|
I15_KODAS_KA | C(12) | Operacijos numeris | Privalomas , kai oper=U,D,P |
I15_DOK_NR | C(12) | Dokumento numeris | |
I15_UZS_NR | C(12) | Užsakymo numeris | |
I15_UZS_DATA | T(8) | Užsakymo data | |
I15_OP_DATA | T(8) | Operacijos data | |
I15_TIPAS | N(1) | Tipas:1-surinkimas,2-sur.užsakymas,3-išbarstymas,4-išb.užsakymas | |
I15_KODAS_IS | C(12) | Padalinio kodas | |
I15_KODAS_PS | C(12) | Gaminio kodas | |
I15_KODAS_OS | C(12) | Objekto kodas | |
I15_SERIJA | C(12) | Serija | |
I15_KODAS_US | C(12) | Pagrindinis matavimo vieneto kodas | |
I15_FRAKCIJA | N(4) | Frakcija pagrindiniu matu | |
I15_KIEKIS | N(14) | Kiekis pagrindiniu matu | |
I15_KODAS_US_A | C(12) | Alternatyvaus matavimo vieneto kodas | |
I15_FRAKCIJA_A | N(4) | Alternatyvaus mato frakcija | |
I15_KIEKIS_A | N(14) | Alternatyvus kiekis | |
I15_PERKELTA | N(1) | Perkėlimo požymis:1-neperkelta,2-perkelta,3-koreguota | |
I15_H_COST | N(12,2) | Gaminio savikaina | |
I15_PARD_K | N(12,4) | Pardavimo kaina | |
I15_GALIOJA | T(8) | Galiojimo data | |
I15_IMP_EXP | N(1) | Rezervas | |
I15_USERIS | C(12) | Kas koregavo | |
I15_R_DATE | T(8) | Kada koregavo | |
I15_ADDUSR | C(12) | Kas sukūrė | |
I15_SUMA_NOR | N(12,2) | Darbų normatyvinė suma | |
I15_SERTIFIKATAS | C(12) | Sertifikatas | |
I15_KODAS_OS_C | C(12) | Centras | |
I15_PAV | C(40) | Operacijos aprašymas | |
I15_KODAS_PE | C(12) | Pamainos kodas | |
I15_KODAS1 | C(12) | Rezervas 1 | |
I15_KODAS2 | C(12) | Rezervas 2 | |
I15_SKAICIUS | N(12,4) | Rezervas 3 | |
I15_KODAS_SM | C(12) | Asmuo | |
I15_KODAS_LS_1 | C(12) | Logistika 1 | |
I15_KODAS_LS_2 | C(12) | Logistika 2 | |
I15_KODAS_LS_3 | C(12) | Logistika 3 | |
I15_KODAS_LS_4 | C(12) | Logistika 4 | |
I15_KODAS_ZN | C(12) | Zona | |
I15_BUSENA | N(3) | Būsena | |
I15_APRASYMAS1 | C(150) | Aprašymas 1 | |
I15_APRASYMAS2 | C(150) | Aprašymas 2 | |
I15_APRASYMAS3 | C(150) | Aprašymas 3 | |
I15_KODAS_KS | C(12) | Klientas | nuo v116.0000 |
I49_DIM01, ... , I49_DIM15 | C(12) | Dimensijos | |
KOMP_TIK_MEDZIAGOS | N(1) | Nurodžius bet kokią reikšmę bus įkeliamos gaminio komponentes. Jeigu tag'o reikšmė lygi 1, pusgaminiai yra išskleidžiami iki detalių medžiagų. Jeigu tag'o reikšmė - 0, pusgaminiai neskaidomi. | |
KOMP_APJUNGTI_VIENODAS | N(1) | Jei reikšmė lygi 1, importuojamos vienodos komponentes yra sumuojamos. | |
KOMP_KITI_MATAVIMAI | C(50) | Nurodoma, kad komponentes nurašomos iš likučių atsižvelgiant į tam tikrą tvarką. Tvarkai aprašyti gali būti naudojami laukai I17_SERIJA, I17_KODAS_OS, taip pat kryptis ASC, DESC. |