Pirkimų, pardavimų dokumento 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. Gražinamo rezultato (response) formatas
application/xml
(default)application/json
(veikia nuo Manorivile-Gateway-1.1.0 versijos)method
: EDIT_I06
params
:
oper
:
I
- naujo dokumento sukūrimas (numatytasis)U
- dokumento koregavimasP
- dokumento perkėlimas D
- dokumento ištrynimasdata
: perduodami duomenys:
I06
- Pardavimo/pirkimo antraštė (i06) 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.
Tag'as NUORODA
skirtas perduoti nuordą į katalogą arba failą.
Yra galimybė dirbti su papildomomis dimensijomis, jeigu tokios naudojamos Rivile GAMA sistemoje. Tam naudojami tag'ai <I49_DIM01> ... <I49_DIM15>
Koreguoti galima tik to paties API vartotojo sukurtas operacijas. Teisės valdomos parametru RGI_ALL_EDIT
Jeigu dokumentai perkeliami naudojant Rivile API v2 (REST web servisus), automatinis skolų sudengimas negalimas (aktualu nuo Rivile GAMA 116 v.). Ar leisti perkelti dokumentus nedengiant skolų valdoma parametru RGI_SUDENG
Jeigu valiutiniams dokumentams perduodamas kursas (I06_KURSAS), jis apvalinamas iki 11 skaitmenų po kablelio. Jeigu kursas neperduodamas, reikšmė paimama iš valiutų kursų lentelės ir apvalinimas nevykdomas.
Koreguojant dokumentą, numatyta galimybė perskaičiuoti detalių eilučių sumas pagal naują valiutos kursą. Funkcionalumas aktyvuojamas parametru <VAL_PER>1</VAL_PER>
. Valiutos kursą galima perduoti užklausoje; kitu atveju jis nustatomas pagal datą.
<body>
<method>EDIT_I06</method>
<params>
<oper>I</oper>
</params>
<data>
<I06>
<I06_OP_TIP>51</I06_OP_TIP>
<I06_DOK_NR>DOK-001</I06_DOK_NR>
<I06_OP_DATA>2020-01-30</I06_OP_DATA>
<I06_DOK_DATA>2020-01-30</I06_DOK_DATA>
<I06_KODAS_KS>121411842</I06_KODAS_KS>
<I06_KODAS_XS>PVM</I06_KODAS_XS>
<I06_PAV>UAB "Rivilė"</I06_PAV>
<I06_ADR>Geležinio Vilko 5-48, Vilnius</I06_ADR>
<NUORODA>https://www....lt/nuoroda</NUORODA>
<I49_DIM01>MEN1</I49_DIM01> <!--Jeigu naudojamos dimensijos -->
</I06>
</data>
</body>
{
"method": "EDIT_I06",
"params": {
"oper": "I"
},
"data": {
"I06": {
"I06_OP_TIP": "51",
"I06_DOK_NR": "DOK-001",
"I06_KODAS_KS": "ND0001",
"I06_OP_DATA": "2020-01-30",
"I06_DOK_DATA": "2020-01-30",
"I06_KODAS_XS": "PVM",
"I06_PAV": "UAB \"Rivilė\"",
"I06_ADR": "Geležinio Vilko 5-48, Vilnius",
"NUORODA": "https://www....lt/nuoroda",
"I49_DIM01": "MEN1"
}
}
}
<?xml version='1.0' encoding='UTF-8' ?>
<RET_DOK>
<I06>
<I06_KODAS_PO>010R00000007</I06_KODAS_PO>
<I06_OP_TIP>51</I06_OP_TIP>
<I06_VAL_POZ>0</I06_VAL_POZ>
<I06_PVM_TIP>0</I06_PVM_TIP>
<I06_OP_STORNO>0</I06_OP_STORNO>
<I06_DOK_NR>DOK-001</I06_DOK_NR>
<I06_OP_DATA>2020-01-30T00:00:00</I06_OP_DATA>
<I06_DOK_DATA>2020-01-30T00:00:00</I06_DOK_DATA>
<I06_KODAS_MS></I06_KODAS_MS>
<I06_KODAS_KS>121411842 </I06_KODAS_KS>
<I06_KODAS_SS></I06_KODAS_SS>
<I06_PAV>UAB "Rivilė"</I06_PAV>
<I06_ADR>Geležinio Vilko 5-48, Vilnius</I06_ADR>
<I06_ATSTOVAS></I06_ATSTOVAS>
<I06_KODAS_VS></I06_KODAS_VS>
<I06_PAV2>UAB "Rivilė"</I06_PAV2>
<I06_ADR2>Geležinio Vilko 5-48, Vilnius</I06_ADR2>
<I06_ADR3></I06_ADR3>
<I06_KODAS_VL></I06_KODAS_VL>
<I06_KODAS_XS>PVM</I06_KODAS_XS>
<I06_KODAS_SS_P></I06_KODAS_SS_P>
<I06_PASTABOS></I06_PASTABOS>
<I06_MOK_DOK></I06_MOK_DOK>
<I06_MOK_SUMA>0.00</I06_MOK_SUMA>
<I06_KODAS_SS_M></I06_KODAS_SS_M>
<I06_SUMA_VAL>0.00</I06_SUMA_VAL>
<I06_SUMA>0.00</I06_SUMA>
<I06_SUMA_PVM>0.00</I06_SUMA_PVM>
<I06_KURSAS>0.000000000000000</I06_KURSAS>
<I06_PERKELTA>1</I06_PERKELTA>
<I06_ADDUSR>WS</I06_ADDUSR>
<I06_R_DATE>2020-02-26T17:08:09</I06_R_DATE>
<I06_USERIS>B1NOONQ</I06_USERIS>
<I06_KODAS_AU></I06_KODAS_AU>
<I06_KODAS_SM></I06_KODAS_SM>
<I06_INTRASTAT>0</I06_INTRASTAT>
<I06_DOK_REG></I06_DOK_REG>
<I06_KODAS_AK>1</I06_KODAS_AK>
<I06_SUMA_WK>0.00</I06_SUMA_WK>
<I06_KODAS_LS_1></I06_KODAS_LS_1>
<I06_KODAS_LS_2></I06_KODAS_LS_2>
<I06_KODAS_LS_3></I06_KODAS_LS_3>
<I06_KODAS_LS_4></I06_KODAS_LS_4>
<I06_VAL_POZ_PVM>0</I06_VAL_POZ_PVM>
<I06_PVM_VAL>0.00</I06_PVM_VAL>
<I06_WEB_POZ>1</I06_WEB_POZ>
<I06_WEB_ATAS></I06_WEB_ATAS>
<I06_WEB_PERKELTA>1</I06_WEB_PERKELTA>
<I06_WEB_PERKELTA_I>1</I06_WEB_PERKELTA_I>
<I06_KODAS_ZN></I06_KODAS_ZN>
<I06_BUSENA>1</I06_BUSENA>
<i06_pvm_skol>1</i06_pvm_skol>
<DOKUMENTAS>1</DOKUMENTAS>
<DOKUMENTAI>0</DOKUMENTAI>
<NUORODA>https://www....lt/nuoroda</NUORODA>
<I49_DIM01>MEN1</I49_DIM01>
</I06>
</RET_DOK>
{
"I06": {
"I06_KODAS_PO": "010R00000007",
"I06_OP_TIP": "51",
"I06_VAL_POZ": "0",
"I06_PVM_TIP": "0",
"I06_OP_STORNO": "0",
"I06_DOK_NR": "DOK-001",
"I06_OP_DATA": "2020-01-30T00:00:00",
"I06_DOK_DATA": "2020-01-30T00:00:00",
"I06_KODAS_MS": "",
"I06_KODAS_KS": "121411842",
"I06_KODAS_SS": "",
"I06_PAV": "UAB \"Rivilė\"",
"I06_ADR": "Geležinio Vilko 5-48, Vilnius",
"I06_ATSTOVAS": "",
"I06_KODAS_VS": "",
"I06_PAV2": "UAB \"Rivilė\"",
"I06_ADR2": "Geležinio Vilko 5-48, Vilnius",
"I06_ADR3": "",
"I06_KODAS_VL": "",
"I06_KODAS_XS": "PVM",
"I06_KODAS_SS_P": "",
"I06_PASTABOS": "",
"I06_MOK_DOK": "",
"I06_MOK_SUMA": "0.00",
"I06_KODAS_SS_M": "",
"I06_SUMA_VAL": "0.00",
"I06_SUMA": "0.00",
"I06_SUMA_PVM": "0.00",
"I06_KURSAS": "0.000000000000000",
"I06_PERKELTA": "1",
"I06_ADDUSR": "WS",
"I06_R_DATE": "2020-02-26T17:08:09",
"I06_USERIS": "B1NOONQ",
"I06_KODAS_AU": "",
"I06_KODAS_SM": "",
"I06_INTRASTAT": "0",
"I06_DOK_REG": "",
"I06_KODAS_AK": "1",
"I06_SUMA_WK": "0.00",
"I06_KODAS_LS_1": "",
"I06_KODAS_LS_2": "",
"I06_KODAS_LS_3": "",
"I06_KODAS_LS_4": "",
"I06_VAL_POZ_PVM": "0",
"I06_PVM_VAL": "0.00",
"I06_WEB_POZ": "1",
"I06_WEB_ATAS": "",
"I06_WEB_PERKELTA": "1",
"I06_WEB_PERKELTA_I": "1",
"I06_KODAS_ZN": "",
"I06_BUSENA": "1",
"i06_pvm_skol": "1",
"DOKUMENTAS": 1,
"DOKUMENTAI": 0,
"NUORODA": "https://www....lt/nuoroda",
"I49_DIM01": "MEN1"
}
}
Klaida paduodant duomenis / SQL sintaksės klaidos / kitos duomenų klaidos
<?xml version='1.0' encoding='UTF-8'?>
<RET_DOK>
<id>12158327631.b624b3da.1584196353163</id>
<durationMs>157</durationMs>
<errorMessage>nepavyko įvykdyti metodo</errorMessage>
<errors>
<error>
<data><I06><I06_OP_TIP>51</I06_OP_TIP></I06></data>
<dataErrors>
<dataError>
<tag>I06_KODAS_KS</tag>
<code>3004</code>
<message>Nenurodytas kliento kodas</message>
</dataError>
<dataError>
<tag>I06_KODAS_XS</tag>
<code>16032</code>
<message>Nenurodytas mokesčio kodas</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 ir perkėlimas vyksta pagal atitinkamos lentelės raktą (Primary Key)
Koreguojant informaciją bus koreguojami tik perduodami laukai.
pvz koregavimas:
<body>
<method>EDIT_I06</method>
<params>
<oper>U</oper>
</params>
<data>
<I06>
<I06_KODAS_PO>010R00000007</I06_KODAS_PO>
<I06_DOK_NR>DOK-001</I06_DOK_NR>
<I06_OP_DATA>2020-01-31</I06_OP_DATA>
<I06_DOK_DATA>2020-01-31</I06_DOK_DATA>
<I06_KODAS_KS>121411842</I06_KODAS_KS>
<I06_KODAS_XS>PVM</I06_KODAS_XS>
<I06_PAV>UAB "Rivilė"</I06_PAV>
<I06_ADR>Geležinio Vilko 5-48, Vilnius</I06_ADR>
</I06>
</data>
</body>
pvz trynimas:
<body>
<method>EDIT_I06</method>
<params>
<oper>D</oper>
</params>
<data>
<I06>
<I06_KODAS_PO>010R00000007</I06_KODAS_PO>
</I06>
</data>
</body>
pvz perkėlimas:
<body>
<method>EDIT_I06</method>
<params>
<oper>P</oper>
</params>
<data>
<I06>
<I06_KODAS_PO>010R00000007</I06_KODAS_PO>
</I06>
</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_I06",
"params": {
"oper": "I"
},
"data": {
"I06": {
"I06_OP_TIP": "51",
"I06_DOK_NR": "DOK-001",
"I06_OP_DATA": "2020-01-30",
"I06_DOK_DATA": "2020-01-30",
"I06_KODAS_XS": "PVM",
"I06_PAV": "UAB \"Rivilė\"",
"I06_ADR": "Geležinio Vilko 5-48, Vilnius"
}
}
}');
$response = curl_exec($ch);
curl_close($ch);
Pardavimų / Pirkimų dokumentų antraštės lentelė
Laukas | Tipas | Aprašymas | Pastabos naudojant EDIT metodus |
---|---|---|---|
I06_KODAS_PO | C(12) | Operacijos numeris-Pirkimai | Privalomas , kai oper=U,D,P |
I06_OP_TIP | N(2) | Tipas: Pirkimai (1-Važtaraštis, 2-Grąžinimas, 3-Užsakymas, 4-Pasiūlymas); Pardavimai (51-Važtaraštis, 52-Grąžinimas, 53-Užsakymas, 54-Rezervavimas, 55-Pasiūlymas) |
Privalomas, kai oper=I |
I06_VAL_POZ | N(1) | Ar valiutinis dokumentas?:0-ne,1-taip | Naujo įrašo metu (oper=I), jeigu nepaduodamas laukas, jis automatiškai nustatomas 1, jeigu nurodyta valiuta nesutampanti su įmonės bazine valiuta. |
I06_PVM_TIP | N(1) | Kainos su PVM:0-ne,1-taip | |
I06_OP_STORNO | N(1) | Nekoreguojama operacija:0-ne,1-taip | |
I06_DOK_NR | C(20) | Dokumento numeris | Privalomas, kai oper=I, bet jeigu Rivile GAMA programoje yra nustatytas automatinis dokumento nr generavimas - tuomet neprivalomas. |
I06_OP_DATA | T(8) | Operacijos data | |
I06_DOK_DATA | T(8) | Dokumento data/Galiojimo data | |
I06_KODAS_MS | C(12) | Menedžerio kodas | |
I06_KODAS_KS | C(12) | Kliento kodas | Privalomas, kai oper=I |
I06_KODAS_SS | C(12) | Pinigų sąskaitos kodas | |
I06_PAV | C(70) | Kliento pavadinimas | |
I06_ADR | C(40) | Kliento adresas | |
I06_ATSTOVAS | C(40) | Atstovas | |
I06_KODAS_VS | C(12) | Vietovės kodas | |
I06_PAV2 | C(70) | Pristatymo pavadinimas | |
I06_ADR2 | C(40) | Pristatymo adresas 1 | |
I06_ADR3 | C(40) | Pristatymo adresas 2 | |
I06_KODAS_VL | C(12) | Valiutos kodas | |
I06_KODAS_XS | C(12) | Mokesčio kodas | jeigu nenurodytas, užsipildo iš kliento kortelės |
I06_KODAS_SS_P | C(12) | Skolos sąskaita | |
I06_PASTABOS | C(40) | Pastabos | |
I06_MOK_DOK | C(12) | Mokėjimo dokumento numeris | |
I06_MOK_SUMA | N(12,2) | Apmokėjimo požymis:0-ne,1-taip, 2 - apmokėta mišriai | |
I06_KODAS_SS_M | C(12) | Rezervas | |
I06_SUMA_VAL | N(18,2) | Valiutos suma | |
I06_SUMA | N(12,2) | Suma be PVM | |
I06_SUMA_PVM | N(12,2) | PVM suma | |
I06_KURSAS | N(20,15) | Valiutos kursas | |
I06_PERKELTA | N(1) | Perkėlimo požymis:1-neperkelta,2-perkelta,3-koreguota | |
I06_ADDUSR | C(12) | Kas sukūrė | |
I06_R_DATE | T(8) | Koregavimo laikas | |
I06_USERIS | C(12) | Kas koregavimo | |
I06_KODAS_AU | C(12) | Automobilio kodas | |
I06_KODAS_SM | C(12) | Asmuo | |
I06_INTRASTAT | N(1) | Intrastat ataskaitos: 0-Ne, 1-Taip | |
I06_DOK_REG | C(20) | Dokumentas registre | |
I06_KODAS_AK | C(12) | Kliento alternatyvus kodas | |
I06_SUMA_WK | N(12,2) | WB įsipareigojimų suma | |
I06_KODAS_LS_1 | C(12) | Logistika 1 | |
I06_KODAS_LS_2 | C(12) | Logistika 2 | |
I06_KODAS_LS_3 | C(12) | Logistika 3 | |
I06_KODAS_LS_4 | C(12) | Logistika 4 | |
I06_VAL_POZ_PVM | N(1) | Nenaudojamas | |
I06_PVM_VAL | N(18,2) | PVM valiuta | |
I06_WEB_POZ | N(1) | Web požymis | |
I06_WEB_ATAS | C(13) | Web Pardavimo Ataskaita | |
I06_WEB_PERKELTA | N(1) | Web eksporto požymis | |
I06_WEB_PERKELTA_I | N(1) | Web perkelta importuojant (1-Nauja,2-Importuota,3-Patvi | |
I06_KODAS_ZN | C(12) | Zona | |
I06_BUSENA | N(3) | Būsena | |
I06_APRASYMAS1 | C(150) | Aprašymas 1 | |
I06_APRASYMAS2 | C(150) | Aprašymas 2 | |
I06_APRASYMAS3 | C(150) | Aprašymas 3 | |
I06_ISAF | N(2) | Isaf požymis: 0-Formuoti (default), 1-(+)Sąskaitą 2-(+)Debetinė 3-(-)Debetinė 4-(+)Kreditinė 5-(-)Kreditinė 6-Anuliuota 7-(+)Advokatų/Notarų 8-(+)A/N Debetinė 9-(-)A/N Debetinė 10-(+)A/N Kreditinė 11-(-)A/N Kreditinė 12-Neformuoti |
nuo v109.0100 |
I06_PVM_SKOL | N(1) | Pagal nutylėjimą: PVM traukti į skolą (0-Ne,1-Taip (default)) | nuo v113.0000 |
I06_DOK_PR | C(20) | Pirminis Dok.Nr. | nuo v116.0000 |
I49_DIM01, ... , I49_DIM15 | C(12) | Dimensijos | |
I06_MOK_DATA | T(8) | Mokėjimo dokumento data | nuo V123.0300 |