EDIT_I06_KOP

Aprašymas

Pirkimų, pardavimų dokumento kopijavimas ir keitimas.

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_KOP
  • data: perduodami duomenys:
    • I06 - Pardavimo/pirkimo antraštė (i06)

Kopijuojant ar keičiant dokumentą yra privalomi laukai: P_OPER, OLD_I06_KODAS_PO, NEW_I06_OP_TIP ir NEW_I06_DOK_NR.

Tagas Aprašymas
P_OPER 1 - kopijuoti, 2 - keisti. Privalomas
OLD_I06_KODAS_PO Operacijos numeris iš kurio bus daroma kopija arba koregavimas. Privalomas
NEW_I06_OP_TIP Operacijos tipas kaip ir I06_OP_TIP i06. Privalomas
NEW_I06_DOK_NR Dokumento numeris. Privalomas
NEW_I06_OP_DATA Nauja operacijos data kaip ir I06_OP_DATA i06
NEW_I06_DOK_DATA Nauja dokumento data kaip ir I06_DOK_DATA i06
NEW_I07_KODAS_IS Nurodomas visų detalių eilučių padalinys kaip ir I07_KODAS_IS i07
NEW_I07_KODAS_OS Nurodomas visų detalių eilučių objektas kaip ir I07_KODAS_OS i07
NEW_I07_KODAS_OS_C Nurodomas visų detalių eilučių centras kaip ir I07_KODAS_OS_C i07
NEW_I07_SERIJA Nurodomas visų detalių eilučių serija kaip ir I07_SERIJA i07
errorAction Klaidos parametras nurodantis koks veiksmas bus atliekamas įvykus klaidai dokumento kopijavimo / keitimo metu, kai yra sukuriama operacija (I06) ir gaunama klaida kopijuojant / keičiant detalias eilutes (I07, I08, I13). Parametras gali turėti tris reikšmes: EXIT, ROLLBACK, CONTINUE (default reikšmė). Reikšmė turi būti paduodama dydžiosiomis raidėmis!

Jei Rvilės programoje dokumentas yra perkeltas tai jo keisti negalima.

Kai nurodoma bent viena NEW_I07 tago reikšmė, tuomet yra pakeičiami visų detalių eilučių laukai atitinkantis tuos tagus.

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.

errorAction reikšmė turi būti paduodama didžiosiomis raidėmis!

errorAction reikšmių aprašymai:

Reikšmė Aprašymas
ROLLBACK Įvykus klaidai tolimesnės procedūros nebus vykdamos, bus ištrinamas dokumentas (I06) ir grąžinama klaida.
EXIT Įvykus klaidai tolimesnės procedūros nebus vykdamos, bus grąžinamas sukurtas dokumentas (I06) ir klaidų sąrašas.
CONTINUE (default reikšmė) Įvykus klaidai procedūros bus vykdamos iki pabaigos, o klaidos dedamos į sąrašą. Grąžinamas sukurtas dokumentas (I06) ir klaidų sąrašas pabaigoje.
XML request (kopijavimas)
<body>
    <method>EDIT_I06_KOP</method>
    <data>
        <I06>
            <P_OPER>1</P_OPER><!-- 1 - kopijuoti, 2 - keisti -->
            <OLD_I06_KODAS_PO>010000001293</OLD_I06_KODAS_PO>
            <NEW_I06_OP_TIP>1</NEW_I06_OP_TIP>
            <NEW_I06_DOK_NR>D20200409-6</NEW_I06_DOK_NR>
            <NEW_I06_OP_DATA>2020-04-21</NEW_I06_OP_DATA>  
            <NEW_I07_KODAS_IS>02</NEW_I07_KODAS_IS>
            <NEW_I07_KODAS_OS>OBJ01</NEW_I07_KODAS_OS>
            <NEW_I07_KODAS_OS_C>CENT02</NEW_I07_KODAS_OS_C>
            <NEW_I07_SERIJA>ABC123</NEW_I07_SERIJA>
            <errorAction>CONTINUE</errorAction>
        </I06>    
    </data>
</body>
JSON request
{
    "method": "EDIT_I06_KOP",
    "data": {
        "I06": {
            "P_OPER": "1",
            "OLD_I06_KODAS_PO": "010000001293",
            "NEW_I06_OP_TIP": "1",
            "NEW_I06_DOK_NR": "D20200409-6",
            "NEW_I06_OP_DATA": "2020-04-21",
            "NEW_I07_KODAS_IS": "02",
            "NEW_I07_KODAS_OS": "OBJ01",
            "NEW_I07_KODAS_OS_C": "CENT02",
            "NEW_I07_SERIJA": "ABC123",
            "errorAction": "CONTINUE"
        }
    }
}
Response (status 200 OK)
XML response
<?xml version='1.0' encoding='UTF-8' ?>
<RET_DOK>
    <I06>
        <I06_KODAS_PO>010R00000038</I06_KODAS_PO>
        <I06_OP_TIP>1</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>D20200409-7</I06_DOK_NR>
        <I06_OP_DATA>2020-04-21T00:00:00</I06_OP_DATA>
        <I06_DOK_DATA>2020-04-21T00: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>9.00</I06_SUMA>
        <I06_SUMA_PVM>1.89</I06_SUMA_PVM>
        <I06_KURSAS>0.000000000000000</I06_KURSAS>
        <I06_PERKELTA>1</I06_PERKELTA>
        <I06_ADDUSR>B1NOONQ</I06_ADDUSR>
        <I06_R_DATE>2020-04-21T21:17:49</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_KODAS_AK></I06_KODAS_AK>
        <I06_SUMA_WK>-10.89</I06_SUMA_WK>
        <I06_VAL_POZ_PVM>0</I06_VAL_POZ_PVM>
        <I06_PVM_VAL>0.00</I06_PVM_VAL>
        <I06_WEB_POZ>0</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_BUSENA>1</I06_BUSENA>
        <i06_pvm_skol>1</i06_pvm_skol>
    </I06>
</RET_DOK>
Response (status 400)

Klaida paduodant duomenis / SQL sintaksės klaidos / kitos duomenų klaidos

<?xml version='1.0' encoding='UTF-8'?>
<RET_DOK>
    <id>21313695680.1594f9da.1587494227502</id>
    <durationMs>11</durationMs>
    <errorMessage>nepavyko įvykdyti metodo</errorMessage>
    <errors>
        <error>
            <data>&lt;I06>&lt;OLD_I06_KODAS_PO>01000000129&lt;/OLD_I06_KODAS_PO>&lt;NEW_I06_OP_DATA>2020-04-21&lt;/NEW_I06_OP_DATA>&lt;NEW_I07_SERIJA>ABC123&lt;/NEW_I07_SERIJA>&lt;NEW_I06_OP_TIP>1&lt;/NEW_I06_OP_TIP>&lt;NEW_I07_KODAS_IS>02&lt;/NEW_I07_KODAS_IS>&lt;USERIS>M&lt;/USERIS>&lt;NEW_I07_KODAS_OS>OBJ01&lt;/NEW_I07_KODAS_OS>&lt;P_OPER>1&lt;/P_OPER>&lt;NEW_I06_DOK_NR>D20200409-7&lt;/NEW_I06_DOK_NR>&lt;NEW_I07_KODAS_OS_C>CENT02&lt;/NEW_I07_KODAS_OS_C>&lt;/I06></data>
            <dataErrors>
                <dataError>
                    <tag>I07_KODAS_PO</tag>
                    <code>21001</code>
                    <message>Nėra operacijos</message>
                </dataError>
                <dataError>
                    <tag>I06_KODAS_KS</tag>
                    <code>2001</code>
                    <message>Nėra tokio kliento</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>

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_KOP",
    "data": {
        "I06": {
            "P_OPER": "1",
            "OLD_I06_KODAS_PO": "010000001293",
            "NEW_I06_OP_TIP": "1",
            "NEW_I06_DOK_NR": "D20200409-6",
            "NEW_I06_OP_DATA": "2020-04-21",
            "NEW_I07_KODAS_IS": "02",
            "NEW_I07_KODAS_OS": "OBJ01",
            "NEW_I07_KODAS_OS_C": "CENT02",
            "NEW_I07_SERIJA": "ABC123"
        }
    }
}');
$response = curl_exec($ch);
curl_close($ch);