EDIT_I06

Aprašymas

Pirkimų, pardavimų dokumento sukūrimas, koregavimas, perkėlimas, trynimas.

Specifikacija

Address

POST https://api.manorivile.lt/client/v2

Header
  • 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)
Body
  • method : EDIT_I06
  • params :
    • oper :
      • I - naujo dokumento sukūrimas (numatytasis)
      • U - dokumento koregavimas
      • P - dokumento perkėlimas
      • D - dokumento ištrynimas
  • data: 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ą.

XML request
<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>
JSON request
{
    "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"
        }
    }
}
Response (status 200 OK)
XML response
<?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>
JSON response
{
    "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"
    }
}
Response (status 400)

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>&lt;I06>&lt;I06_OP_TIP>51&lt;/I06_OP_TIP>&lt;/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>
Response (status 401)

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>
Response (status 502)

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>
Response (status 504)

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>
Response (status 500)

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

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 pvz

<?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);

Lentelės

I06

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