Naujo vidinio dokumento sukūrimas (kartu su detaliomis eilutėmis).
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_I09_FULL
params
:
errorAction
- klaidos parametras nurodantis koks veiksmas bus atliekas įvykus klaidai vidinio dokumento formavimo metu, kai yra sukuriamas dokumentas (I09) ir gaunama klaida vykdant veiksmus su I10 operacijomis. Parametras gali turėti tris EXIT, CONTINUE, ROLLBACK (default reikšmė). Reikšmė turi būti paduodama dydžiosiomis raidėmis!data
: perduodami duomenys:
errorAction
reikšmė turi būti paduodama didžiosiomis raidėmis!
errorAction
reikšmių aprašymai:
Reikšmė | Aprašymas |
---|---|
ROLLBACK (default reikšmė) | Įvykus klaidai tolimesnės procedūros nebus vykdamos, bus ištrinamas dokumentas (I06) ir grąžinama klaida. Klaidos statusas 400 |
EXIT | Įvykus klaidai tolimesnės procedūros nebus vykdamos, bus grąžinamas sukurtas dokumentas (I06) ir klaidų sąrašas. Klaidos statusas 207 |
CONTINUE | Įvykus klaidai procedūros bus vykdamos iki pabaigos, o klaidos dedamos į sąrašą. Grąžinamas sukurtas dokumentas (I06) ir klaidų sąrašas pabaigoje. Klaidos statusas 207 |
Vienu metu veiksmai atliekami tik su vienu dokumentu.
Pirmi 7 ApiKey simboliai (pvz USERABC.JQKPG1d7Pkjxj37ObsgdfEkvfEfvF1oL7h7UMOLo
-> USERABC
) yra vartotojo vardas Rivile GAMA programoje, kuriuo bus kuriami ar koreguojami įrašai.
Jei naudojate du tagus <KIEKIS_U>
ir <BAR_KODAS>
, tuomet nereikia naudoti šių tagų: <I10_KODAS_US1>
, <I10_KIEKIS1>
, <I10_FRAKCIJA1>
, <I10_KODAS_US>
, <I10_KIEKIS>
, <I10_FRAKCIJA>
, <I10_KODAS_US2>
,<I10_KIEKIS2>
,<I10_FRAKCIJA2>
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.
Jeigu bus klaida bet kuriame įraše (status 400) - bus nesukuriamas dokumentas iš viso, grąžinama klaida ties įrašu, kuriame buvo klaida kartu su klaidos kodais!
pvz application/xml
:
<body>
<method>EDIT_I09_FULL</method>
<params>
<errorAction>EXIT</errorAction>
</params>
<data>
<I09>
<I09_TIPAS>2</I09_TIPAS>
<I09_DOK_NR>VID2021031601</I09_DOK_NR>
<I09_IS_DATA>2021-03-16</I09_IS_DATA>
<I09_GAV_DATA>2021-03-16</I09_GAV_DATA>
<I09_KODAS_IS1>01</I09_KODAS_IS1>
<I09_KODAS_IS2>02</I09_KODAS_IS2>
<I49_DIM01>MEN1</I49_DIM01> <!--Jeigu naudojamos dimensijos -->
<I10>
<I10_TIPAS>1</I10_TIPAS>
<bar_kodas>000000000006</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>
</I09>
</data>
</body>
pvz application/json
:
{
"method": "EDIT_I09_FULL",
"params": {
"errorAction": "CONTINUE"
},
"data": {
"I09": {
"I09_TIPAS": 2,
"I09_DOK_NR": "VID2021031601",
"I09_IS_DATA": "2021-03-16",
"I09_GAV_DATA": "2021-03-16",
"I09_KODAS_IS1": "01",
"I09_KODAS_IS2": "02",
"I49_DIM01": "MEN1",
"I10":[
{
"I10_TIPAS": 1,
"I10_KODAS_PS": "006",
"I10_KODAS_US1": "VNT",
"I10_KIEKIS1": 1,
"I10_FRAKCIJA1": 1,
"I10_KODAS_US": "VNT",
"I10_KIEKIS": 1,
"I10_FRAKCIJA": 1,
"I10_KODAS_US2": "VNT",
"I10_KIEKIS2": 1,
"I10_FRAKCIJA2": 1,
"I49_DIM01": "MEN1",
"K45_RIN01": "RINKINYS",
"K45_2_RIN01": "RINKINYS"
}
],
}
}
}
Grąžinama informacija XML formate tarp tag'ų <RET_DOK>..</RET_DOK>
.
pvz response:
<?xml version='1.0'?>
<RET_DOK>
<I09>
<Row_number>1</Row_number>
<I09_KODAS_VD>010R00000004</I09_KODAS_VD>
<I09_TIPAS>2</I09_TIPAS>
<I09_DOK_NR>VID202103160</I09_DOK_NR>
<I09_IS_DATA>2021-03-16T00:00:00</I09_IS_DATA>
<I09_GAV_POZ>0</I09_GAV_POZ>
<I09_GAV_DATA>2021-03-16T00:00:00</I09_GAV_DATA>
<I09_KODAS_IS1>01</I09_KODAS_IS1>
<I09_KODAS_SS_T></I09_KODAS_SS_T>
<I09_NUTOL1>0</I09_NUTOL1>
<I09_EIL1>Štai taip</I09_EIL1>
<I09_EIL2></I09_EIL2>
<I09_EIL3></I09_EIL3>
<I09_KODAS_IS2>02</I09_KODAS_IS2>
<I09_NUTOL2>0</I09_NUTOL2>
<I09_A_EIL1></I09_A_EIL1>
<I09_A_EIL2></I09_A_EIL2>
<I09_A_EIL3></I09_A_EIL3>
<I09_PERKELTA1>1</I09_PERKELTA1>
<I09_PERKELTA2>1</I09_PERKELTA2>
<I09_IMP_EXP>0</I09_IMP_EXP>
<I09_USERIS>0HLPUFX</I09_USERIS>
<I09_R_DATE>2021-03-16T20:36:52</I09_R_DATE>
<I09_ADDUSR>0HLPUFX</I09_ADDUSR>
<I09_EIL_SK>0.00</I09_EIL_SK>
<I09_KODAS_SM1></I09_KODAS_SM1>
<I09_KODAS_SM2></I09_KODAS_SM2>
<I09_PAV></I09_PAV>
<I09_KODAS_MS></I09_KODAS_MS>
<I09_KODAS_LS_1></I09_KODAS_LS_1>
<I09_KODAS_LS_2></I09_KODAS_LS_2>
<I09_KODAS_LS_3></I09_KODAS_LS_3>
<I09_KODAS_LS_4></I09_KODAS_LS_4>
<I09_ADD_DATE>2021-03-16T20:36:52</I09_ADD_DATE>
<I09_PER1_DATE>2021-03-16T20:36:52</I09_PER1_DATE>
<I09_PER1_USER></I09_PER1_USER>
<I09_KODAS_AU></I09_KODAS_AU>
<I09_KODAS_ZN></I09_KODAS_ZN>
<I09_KODAS_MS2></I09_KODAS_MS2>
<I09_BUSENA>1</I09_BUSENA>
<I49_DIM01>MEN1</I49_DIM01>
<I10>
<I10_KODAS_VD>010R00000004</I10_KODAS_VD>
<I10_EIL_NR>1</I10_EIL_NR>
<I10_KODAS_TR></I10_KODAS_TR>
<I10_TIPAS>1</I10_TIPAS>
<I10_PERKELTA>1</I10_PERKELTA>
<I10_KODAS_PS>006</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>Plokštė </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>0.0000</I10_PIR_KAINA>
<I10_PARD_KAINA1>500.0000</I10_PARD_KAINA1>
<I10_PARD_KAINA2>599.9900</I10_PARD_KAINA2>
<I10_KITOS>0.00</I10_KITOS>
<I10_MUITAS>0.00</I10_MUITAS>
<I10_AKCIZAS>0.00</I10_AKCIZAS>
<I10_SAV_VISO>0.00</I10_SAV_VISO>
<I10_GAL_DATA>3999-01-01T00:00:00</I10_GAL_DATA>
<I10_USERIS>0HLPUFX</I10_USERIS>
<I10_R_DATE>2021-03-16T20:36:52</I10_R_DATE>
<I10_ADDUSR>0HLPUFX</I10_ADDUSR>
<I10_ADD_DATE>2021-03-16T20:36:52</I10_ADD_DATE>
<I49_DIM01>MEN1</I49_DIM01>
<K45_RIN01>RINKINYS</K45_RIN01>
<K45_2_RIN01>RINKINYS</K45_2_RIN01>
</I10>
</I09>
</RET_DOK>
207 statusas gaunamas, kai procedūros yra vykdamos perduodant parametrą errorAction
su reikšme EXIT arba CONTINUE ir gaunama klaida kažkurioje iš procedūrų, pvz.:
<RET_DOK>
<I09>
<Row_number>1</Row_number>
<I09_KODAS_VD>010R00000009</I09_KODAS_VD>
<I09_TIPAS>2</I09_TIPAS>
<I09_DOK_NR>VID202103162</I09_DOK_NR>
<I09_IS_DATA>2021-03-16T00:00:00</I09_IS_DATA>
<I09_GAV_POZ>0</I09_GAV_POZ>
<I09_GAV_DATA>2021-03-16T00:00:00</I09_GAV_DATA>
<I09_KODAS_IS1>01</I09_KODAS_IS1>
<I09_KODAS_SS_T></I09_KODAS_SS_T>
<I09_NUTOL1>0</I09_NUTOL1>
<I09_EIL1>Štai taip</I09_EIL1>
<I09_EIL2></I09_EIL2>
<I09_EIL3></I09_EIL3>
<I09_KODAS_IS2>02</I09_KODAS_IS2>
<I09_NUTOL2>0</I09_NUTOL2>
<I09_A_EIL1></I09_A_EIL1>
<I09_A_EIL2></I09_A_EIL2>
<I09_A_EIL3></I09_A_EIL3>
<I09_PERKELTA1>1</I09_PERKELTA1>
<I09_PERKELTA2>1</I09_PERKELTA2>
<I09_IMP_EXP>0</I09_IMP_EXP>
<I09_USERIS>0HLPUFX</I09_USERIS>
<I09_R_DATE>2021-03-16T21:02:43</I09_R_DATE>
<I09_ADDUSR>0HLPUFX</I09_ADDUSR>
<I09_EIL_SK>0.00</I09_EIL_SK>
<I09_KODAS_SM1></I09_KODAS_SM1>
<I09_KODAS_SM2></I09_KODAS_SM2>
<I09_PAV></I09_PAV>
<I09_KODAS_MS></I09_KODAS_MS>
<I09_KODAS_LS_1></I09_KODAS_LS_1>
<I09_KODAS_LS_2></I09_KODAS_LS_2>
<I09_KODAS_LS_3></I09_KODAS_LS_3>
<I09_KODAS_LS_4></I09_KODAS_LS_4>
<I09_ADD_DATE>2021-03-16T21:02:43</I09_ADD_DATE>
<I09_PER1_DATE>2021-03-16T21:02:43</I09_PER1_DATE>
<I09_PER1_USER></I09_PER1_USER>
<I09_KODAS_AU></I09_KODAS_AU>
<I09_KODAS_ZN></I09_KODAS_ZN>
<I09_KODAS_MS2></I09_KODAS_MS2>
<I09_BUSENA>1</I09_BUSENA>
<I10/>
</I09>
<errors>
<error>
<data><I10><I10_TIPAS>5</I10_TIPAS><BAR_KODAS>000000000006</BAR_KODAS><KIEKIS_U>1</KIEKIS_U></I10></data>
<dataErrors>
<dataError>
<tag>I10_KODAS_US1</tag>
<code>5030</code>
<message>Nenurodytas matavimo vienetas</message>
</dataError>
<dataError>
<tag>I10_KODAS_US2</tag>
<code>5030</code>
<message>Nenurodytas matavimo vienetas</message>
</dataError>
</dataErrors>
</error>
</errors>
</RET_DOK>
Klaida paduodant duomenis / SQL sintaksės klaidos / kitos DB klaidos, pvz:
<?xml version='1.0' encoding='UTF-8'?>
<RET_DOK>
<id>1266808491.46565398.1615921406470</id>
<durationMs>16</durationMs>
<errorMessage>Nepavyko įvykdyti metodo</errorMessage>
<document/>
<errors>
<error>
<data><I09><I09_GAV_DATA>2021-03-16</I09_GAV_DATA><I09_KODAS_IS2>02</I09_KODAS_IS2><I09_TIPAS>6</I09_TIPAS><I09_IS_DATA>2021-03-16</I09_IS_DATA><I09_DOK_NR>VID202103162</I09_DOK_NR><I09_KODAS_IS1>01</I09_KODAS_IS1></I09></data>
<dataErrors>
<dataError>
<tag>I09_TIPAS</tag>
<code>16016</code>
<message>Blogas operacijos tipas</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>0</id>
<durationMs>0</durationMs>
<errorMessage>Api key is not valid</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>
<?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, $payload);
$response = curl_exec($ch);
curl_close($ch);
Nuoroda į lentelės aprašymą: (i09)
Nuoroda į lentelės aprašymą: (i10)