EDIT_B00

Aprašymas

Importo/Eksporto operacijų koregavimas

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_B00
  • params :
    • oper :
      • I - naujos operacijos sukūrimas
      • U - operacijos koregavimas
      • D - operacijos išmetimas
  • data: perduodami duomenys:
    • B00 - importo/eksporto informacija (b00)

Vienu metu veiksmai atliekami tik su vienu įrašu.

Pirmi 7 ApiKey simboliai (pvz USERABC.JQKPG1d7Pkjxj37ObsgdfEkvfEfvF1oL7h7UMOLo -> USERABC) yra vartotojo vardas Rivile GAMA programoje, kuriuo bus kuriami ar koreguojami įrašai.

Importuojama informacija perduodama B00_OPERACIJA tag'e, informacija privalo būti tarp <![CDATA[]]>

B00_MODUL nurodomas modulis į kurį norėsime importuoti perduotą informaciją. Keli modulių kodų pvz.: RO - pardavimai, PO - pirkimai, CH - įplaukos, CI - išmokos.

pvz application/xml:

<body>
    <method>EDIT_B00</method>
    <params>
        <oper>I</oper>
    </params>
    <data>
        <B00>
            <B00_PAV>Importas testas 2</B00_PAV>
            <B00_MODUL>RO</B00_MODUL>
            <B00_DATE>2020.07.31</B00_DATE>
            <B00_OPERACIJA>
                <![CDATA[
                <I06>
                    <I06_KODAS_KS>121411842</I06_KODAS_KS>
                    <I06_OP_TIP>51</I06_OP_TIP>
                    <I06_DOK_NR>DOK-100</I06_DOK_NR>
                    <I06_OP_DATA>2020.07.31</I06_OP_DATA>
                    <I06_DOK_DATA>2020.07.31</I06_DOK_DATA>
                    <I06_MOK_SUMA>2</I06_MOK_SUMA>
                    <I06_MOK_DOK>DOK-100</I06_MOK_DOK>
                    <I07>
                        <I07_TIPAS>1</I07_TIPAS>
                        <I07_KODAS_IS>01</I07_KODAS_IS>
                        <I07_KODAS>004</I07_KODAS>
                        <I07_KAINA_BE>1000.0000</I07_KAINA_BE>
                        <I07_KAINA_SU>1000.0000</I07_KAINA_SU>
                        <I07_PVM>0</I07_PVM>
                        <I07_SUMA>1000.00</I07_SUMA>
                        <I07_KODAS_US>VNT</I07_KODAS_US>
                        <I07_KIEKIS>1</I07_KIEKIS>
                        <I07_FRAKCIJA>1</I07_FRAKCIJA>
                        <I07_KODAS_US_P>VNT</I07_KODAS_US_P>
                        <I07_KODAS_US_A>VNT</I07_KODAS_US_A>
                        <I07_ALT_KIEKIS>1</I07_ALT_KIEKIS>
                        <I07_ALT_FRAK>1</I07_ALT_FRAK>
                    </I07>
                    <I08>
                        <I08_EIL_NR>1</I08_EIL_NR>
                        <I08_MOK_P>100.00000</I08_MOK_P>
                        <I08_MOK_D>10</I08_MOK_D>
                    </I08>
                    <I13>
                        <I13_KODAS_SS>2721</I13_KODAS_SS>
                        <I13_SUMA>1000.00</I13_SUMA>
                    </I13>
                </I06>
                ]]>
            </B00_OPERACIJA>
        </B00>
    </data>
</body>

pvz application/json:

{
    "method": "EDIT_B00",
    "params": {
        "oper": "I"
    },
    "data": {
        "B00": {
            "B00_PAV": "Importas testas 2",
            "B00_MODUL": "RO",
            "B00_DATE": "2020.07.31",
            "B00_OPERACIJA": "<I06>\n<I06_KODAS_KS>121411842</I06_KODAS_KS>\n<I06_OP_TIP>51</I06_OP_TIP>\n<I06_DOK_NR>DOK-100</I06_DOK_NR>\n<I06_OP_DATA>2020.07.31</I06_OP_DATA>\n<I06_DOK_DATA>2020.07.31</I06_DOK_DATA>\n<I06_MOK_SUMA>2</I06_MOK_SUMA>\n<I06_MOK_DOK>DOK-100</I06_MOK_DOK>\n<I07>\n<I07_TIPAS>1</I07_TIPAS>\n<I07_KODAS_IS>01</I07_KODAS_IS>\n<I07_KODAS>004</I07_KODAS>\n<I07_KAINA_BE>1000.0000</I07_KAINA_BE>\n<I07_KAINA_SU>1000.0000</I07_KAINA_SU>\n<I07_PVM>0</I07_PVM>\n<I07_SUMA>1000.00</I07_SUMA>\n<I07_KODAS_US>VNT</I07_KODAS_US>\n<I07_KIEKIS>1</I07_KIEKIS>\n<I07_FRAKCIJA>1</I07_FRAKCIJA>\n<I07_KODAS_US_P>VNT</I07_KODAS_US_P>\n<I07_KODAS_US_A>VNT</I07_KODAS_US_A>\n<I07_ALT_KIEKIS>1</I07_ALT_KIEKIS>\n<I07_ALT_FRAK>1</I07_ALT_FRAK>\n</I07>\n<I08>\n<I08_EIL_NR>1</I08_EIL_NR>\n<I08_MOK_P>100.00000</I08_MOK_P>\n<I08_MOK_D>10</I08_MOK_D>\n</I08>\n<I13>\n<I13_KODAS_SS>2721</I13_KODAS_SS>\n<I13_SUMA>1000.00</I13_SUMA>\n</I13>\n</I06>"
        }
    }
}
Response (status 200 OK)

Grąžinama informacija XML formate tarp tag'ų <RET_DOK>..</RET_DOK>.

pvz:

<?xml version='1.0' encoding='UTF-8' ?>
<RET_DOK>
    <B00>
        <B00_KODAS_IM>010R00000008</B00_KODAS_IM>
        <B00_PAV>Importas testas 2</B00_PAV>
        <B00_MODUL>RO</B00_MODUL>
        <B00_DATE>2020-07-31T00:00:00</B00_DATE>
        <B00_OPERACIJA>

                &lt;I06&gt;
                    &lt;I06_KODAS_KS&gt;121411842&lt;/I06_KODAS_KS&gt;
                    &lt;I06_OP_TIP&gt;51&lt;/I06_OP_TIP&gt;
                    &lt;I06_DOK_NR&gt;DOK-100&lt;/I06_DOK_NR&gt;
                    &lt;I06_OP_DATA&gt;2020.07.31&lt;/I06_OP_DATA&gt;
                    &lt;I06_DOK_DATA&gt;2020.07.31&lt;/I06_DOK_DATA&gt;
                    &lt;I06_MOK_SUMA&gt;2&lt;/I06_MOK_SUMA&gt;
                    &lt;I06_MOK_DOK&gt;DOK-100&lt;/I06_MOK_DOK&gt;
                    &lt;I07&gt;
                        &lt;I07_TIPAS&gt;1&lt;/I07_TIPAS&gt;
                        &lt;I07_KODAS_IS&gt;01&lt;/I07_KODAS_IS&gt;
                        &lt;I07_KODAS&gt;004&lt;/I07_KODAS&gt;
                        &lt;I07_KAINA_BE&gt;1000.0000&lt;/I07_KAINA_BE&gt;
                        &lt;I07_KAINA_SU&gt;1000.0000&lt;/I07_KAINA_SU&gt;
                        &lt;I07_PVM&gt;0&lt;/I07_PVM&gt;
                        &lt;I07_SUMA&gt;1000.00&lt;/I07_SUMA&gt;
                        &lt;I07_KODAS_US&gt;VNT&lt;/I07_KODAS_US&gt;
                        &lt;I07_KIEKIS&gt;1&lt;/I07_KIEKIS&gt;
                        &lt;I07_FRAKCIJA&gt;1&lt;/I07_FRAKCIJA&gt;
                        &lt;I07_KODAS_US_P&gt;VNT&lt;/I07_KODAS_US_P&gt;
                        &lt;I07_KODAS_US_A&gt;VNT&lt;/I07_KODAS_US_A&gt;
                        &lt;I07_ALT_KIEKIS&gt;1&lt;/I07_ALT_KIEKIS&gt;
                        &lt;I07_ALT_FRAK&gt;1&lt;/I07_ALT_FRAK&gt;
                    &lt;/I07&gt;
                    &lt;I08&gt;
                        &lt;I08_EIL_NR&gt;1&lt;/I08_EIL_NR&gt;
                        &lt;I08_MOK_P&gt;100.00000&lt;/I08_MOK_P&gt;
                        &lt;I08_MOK_D&gt;10&lt;/I08_MOK_D&gt;
                    &lt;/I08&gt;
                    &lt;I13&gt;
                        &lt;I13_KODAS_SS&gt;2721&lt;/I13_KODAS_SS&gt;
                        &lt;I13_SUMA&gt;1000.00&lt;/I13_SUMA&gt;
                    &lt;/I13&gt;
                &lt;/I06&gt;

            </B00_OPERACIJA>
        <B00_LOGAS></B00_LOGAS>
        <B00_PERKELTA>1</B00_PERKELTA>
        <B00_ADDUSR>B1NOONQ     </B00_ADDUSR>
        <B00_USERIS>B1NOONQ     </B00_USERIS>
        <B00_R_DATE>2020-07-31T11:00:20</B00_R_DATE>
    </B00>
</RET_DOK>
Response (status 400)

Klaida paduodant duomenis / SQL sintaksės klaidos / kitos DB klaidos

<?xml version='1.0' encoding='UTF-8'?>
<RET_DOK>
    <id/>
    <durationMs>0</durationMs>
    <errorMessage>Invalid data</errorMessage>
</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>/v1</path>
</Map>
Koregavimas ir trinimas

Koregavimas, trynimas vykdomas pagal lentelės raktą (Primary Key)

Koreguojant informaciją bus koreguojami tik perduodami laukai.

pvz trinimas:

<body>
    <method>EDIT_B00</method>
    <params>
        <oper>D</oper>
    </params>
    <data>
        <B00>
            <B00_KODAS_IM>010R00000007</B00_KODAS_IM>
        </B00>
    </data>
</body>

pvz koregavimas:

<body>
    <method>EDIT_B00</method>
    <params>
        <oper>U</oper>
    </params>
    <data>
        <B00>
            <B00_KODAS_IM>010R00000008</B00_KODAS_IM>
            <B00_PAV>Importas testas 3</B00_PAV>
        </B00>
    </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_B00",
    "params": {
        "oper": "I"
    },
    "data": {
        "B00": {
            "B00_PAV": "Importas testas 2",
            "B00_MODUL": "RO",
            "B00_DATE": "2020.07.31",
            "B00_OPERACIJA":<I06>\n<I06_KODAS_KS>121411842</I06_KODAS_KS>\n<I06_OP_TIP>51</I06_OP_TIP>\n<I06_DOK_NR>DOK-100</I06_DOK_NR>\n<I06_OP_DATA>2020.07.31</I06_OP_DATA>\n<I06_DOK_DATA>2020.07.31</I06_DOK_DATA>\n<I06_MOK_SUMA>2</I06_MOK_SUMA>\n<I06_MOK_DOK>DOK-100</I06_MOK_DOK>\n<I07>\n<I07_TIPAS>1</I07_TIPAS>\n<I07_KODAS_IS>01</I07_KODAS_IS>\n<I07_KODAS>004</I07_KODAS>\n<I07_KAINA_BE>1000.0000</I07_KAINA_BE>\n<I07_KAINA_SU>1000.0000</I07_KAINA_SU>\n<I07_PVM>0</I07_PVM>\n<I07_SUMA>1000.00</I07_SUMA>\n<I07_KODAS_US>VNT</I07_KODAS_US>\n<I07_KIEKIS>1</I07_KIEKIS>\n<I07_FRAKCIJA>1</I07_FRAKCIJA>\n<I07_KODAS_US_P>VNT</I07_KODAS_US_P>\n<I07_KODAS_US_A>VNT</I07_KODAS_US_A>\n<I07_ALT_KIEKIS>1</I07_ALT_KIEKIS>\n<I07_ALT_FRAK>1</I07_ALT_FRAK>\n</I07>\n<I08>\n<I08_EIL_NR>1</I08_EIL_NR>\n<I08_MOK_P>100.00000</I08_MOK_P>\n<I08_MOK_D>10</I08_MOK_D>\n</I08>\n<I13>\n<I13_KODAS_SS>2721</I13_KODAS_SS>\n<I13_SUMA>1000.00</I13_SUMA>\n</I13>\n</I06>"
        }
    }
}');
$response = curl_exec($ch);
curl_close($ch);

Lentelės

B00

Importo/Eksporto operacijų lentelė.

Laukas Tipas Aprašymas Pastabos naudojant EDIT metodus
B00_KODAS_IM C(12) Operacijos Nr. Privalomas , kai oper=U,D
B00_PAV C(40) Aprašymas
B00_MODUL C(2) Modulis
B00_DATE T(8) Data
B00_OPERACIJA M(4) Importo informacija
B00_LOGAS M(4) Po importo gautas logas
B00_PERKELTA N(1) Perkelta: 1-neperkelta,2-perkelta,3-klaidinga,4-koreguota,5-nebaigta
B00_ADDUSR C(12) Įrašo autorius
B00_USERIS C(12) Kas koregavo
B00_R_DATE T(8) Kada koregavo
B00_WEB_SERV N(2) Serveris v110.0000