EDIT_N52

Aprašymas

Sutarčių priedų 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_N52
  • params :
    • oper :
      • I - naujo įrašo sukūrimas (numatytasis)
      • U - dokumento koregavimas
      • D - dokumento ištrynimas
  • data: perduodami duomenys:
    • N52 - atitinkamos lentelės laukai (n52)

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.

XML request
<body>
    <method>EDIT_N52</method>
    <params>
        <oper>I</oper>
    </params>
    <data>
        <N52>
            <N52_KODAS_KT>SUT01</N52_KODAS_KT>
            <N52_KODAS_K0>SP001</N52_KODAS_K0>
            <N52_RUSIS>1</N52_RUSIS>
            <N52_KODAS>PREKE1</N52_KODAS>
            <N52_POZ_KAINA>1</N52_POZ_KAINA>
            <N52_KODAS_US2>VNT</N52_KODAS_US2>
            <N52_KAINA>0.99</N52_KAINA>
        </N52>    
    </data>
</body>
JSON request
{
    "method": "EDIT_N52",
    "params": {
        "oper": "I"
    },
    "data": {
        "N52": {
            "N52_KODAS_KT": "SUT01",
            "N52_KODAS_K0": "SP001",
            "N52_RUSIS": "1",
            "N52_KODAS": "PREKE1",
            "N52_POZ_KAINA": "1",
            "N52_KODAS_US2": "VNT",
            "N52_KAINA": "0.99"
        }
    }
}
Response (status 200 OK)
XML response
<RET_DOK>
    <N52>
        <N52_KODAS_KT>SUT01</N52_KODAS_KT>
        <N52_KODAS_K0>SP001</N52_KODAS_K0>
        <N52_DOK_NR></N52_DOK_NR>
        <N52_OP_DATA>2023-12-31T00:00:00</N52_OP_DATA>
        <N52_PAV></N52_PAV>
        <N52_POZ_SKOL>0</N52_POZ_SKOL>
        <N52_PRIORITETAS>1.000</N52_PRIORITETAS>
        <N52_RUSIS>1</N52_RUSIS>
        <N52_KODAS>PREKE1</N52_KODAS>
        <N52_PAV2></N52_PAV2>
        <N52_KODAS_MS></N52_KODAS_MS>
        <N52_POZ_SUMA>0</N52_POZ_SUMA>
        <N52_SUMA>0.00</N52_SUMA>
        <N52_POZ_KIEKIS>0</N52_POZ_KIEKIS>
        <N52_KODAS_US></N52_KODAS_US>
        <N52_FRAKCIJA>0</N52_FRAKCIJA>
        <N52_KIEKIS>0</N52_KIEKIS>
        <N52_POZ_KAINA>1</N52_POZ_KAINA>
        <N52_KODAS_US2>VNT</N52_KODAS_US2>
        <N52_KAINA>0.9900</N52_KAINA>
        <N52_TIPAS1></N52_TIPAS1>
        <N52_TIPAS2></N52_TIPAS2>
        <N52_TIPAS3></N52_TIPAS3>
        <N52_TIPAS4></N52_TIPAS4>
        <N52_TIPAS5></N52_TIPAS5>
        <N52_TIPAS6></N52_TIPAS6>
        <N52_TERM1>0</N52_TERM1>
        <N52_TERM2>0</N52_TERM2>
        <N52_TERM3>0</N52_TERM3>
        <N52_TERM4>0</N52_TERM4>
        <N52_TERM5>0</N52_TERM5>
        <N52_TERM6>0</N52_TERM6>
        <N52_POZ_TERM>0</N52_POZ_TERM>
        <N52_POZ_TERM_KS>0</N52_POZ_TERM_KS>
        <N52_POZ_KS>0</N52_POZ_KS>
        <N52_PASTABOS></N52_PASTABOS>
        <N52_USERIS>WS</N52_USERIS>
        <N52_ADDUSR>WS</N52_ADDUSR>
        <N52_R_DATE>2023-12-31T23:59:59</N52_R_DATE>
        <N52_VISKAS>0</N52_VISKAS>
        <N52_POZ_DATE>0</N52_POZ_DATE>
        <N52_BEG_DATE>2023-12-31T00:00:00</N52_BEG_DATE>
        <N52_END_DATE>2023-12-31T00:00:00</N52_END_DATE>
        <N52_KODAS_US3></N52_KODAS_US3>
        <N52_KAINA3>0.0000</N52_KAINA3>
        <N52_KODAS_US4></N52_KODAS_US4>
        <N52_KAINA4>0.0000</N52_KAINA4>
        <N52_KODAS_VL></N52_KODAS_VL>
        <N52_KODAS_VL3></N52_KODAS_VL3>
        <N52_KODAS_VL4></N52_KODAS_VL4>
        <N52_NUOLAIDA>0.00</N52_NUOLAIDA>
        <N52_REZERVAS></N52_REZERVAS>
        <N52_POZ_NUOLAIDA>0</N52_POZ_NUOLAIDA>
        <N52_SUMA_P>0.00</N52_SUMA_P>
        <N52_KIEKIS_P>0</N52_KIEKIS_P>
        <N52_PARINKTA>0.000</N52_PARINKTA>
        <N52_NEFIKSUOTA>0</N52_NEFIKSUOTA>
    </N52>
</RET_DOK>
JSON response
{
    "N52": {
        "N52_KODAS_KT": "SUT01",
        "N52_KODAS_K0": "SP001",
        "N52_DOK_NR": "",
        "N52_OP_DATA": "2023-12-31T00:00:00",
        "N52_PAV": "",
        "N52_POZ_SKOL": 0,
        "N52_PRIORITETAS": 79,
        "N52_RUSIS": 1,
        "N52_KODAS": "PREKE1",
        "N52_PAV2": "",
        "N52_KODAS_MS": "",
        "N52_POZ_SUMA": 0,
        "N52_SUMA": 0,
        "N52_POZ_KIEKIS": 0,
        "N52_KODAS_US": "",
        "N52_FRAKCIJA": 0,
        "N52_KIEKIS": 0,
        "N52_POZ_KAINA": 1,
        "N52_KODAS_US2": "VNT",
        "N52_KAINA": 0.99,
        "N52_TIPAS1": "",
        "N52_TIPAS2": "",
        "N52_TIPAS3": "",
        "N52_TIPAS4": "",
        "N52_TIPAS5": "",
        "N52_TIPAS6": "",
        "N52_TERM1": 0,
        "N52_TERM2": 0,
        "N52_TERM3": 0,
        "N52_TERM4": 0,
        "N52_TERM5": 0,
        "N52_TERM6": 0,
        "N52_POZ_TERM": 0,
        "N52_POZ_TERM_KS": 0,
        "N52_POZ_KS": 0,
        "N52_PASTABOS": "",
        "N52_USERIS": "WS",
        "N52_ADDUSR": "WS",
        "N52_R_DATE": "2023-12-31T23:59:59",
        "N52_VISKAS": 0,
        "N52_POZ_DATE": 0,
        "N52_BEG_DATE": "2023-12-31T00:00:00",
        "N52_END_DATE": "2023-12-31T00:00:00",
        "N52_KODAS_US3": "",
        "N52_KAINA3": 0,
        "N52_KODAS_US4": "",
        "N52_KAINA4": 0,
        "N52_KODAS_VL": "",
        "N52_KODAS_VL3": "",
        "N52_KODAS_VL4": "",
        "N52_NUOLAIDA": 0,
        "N52_REZERVAS": "",
        "N52_POZ_NUOLAIDA": 0,
        "N52_SUMA_P": 0,
        "N52_KIEKIS_P": 0,
        "N52_PARINKTA": 0,
        "N52_NEFIKSUOTA": 0
    }
}
Response (status 400)

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

<?xml version='1.0' encoding='UTF-8'?>
<RET_DOK>
    <id/>
    <durationMs>38</durationMs>
    <errorMessage>Nepavyko įvykdyti metodo</errorMessage>
    <document/>
    <errors>
        <error>
            <data>&lt;N52>&lt;N52_RUSIS>1&lt;/N52_RUSIS>&lt;N52_KODAS_K0>SP001&lt;/N52_KODAS_K0>&lt;N52_KODAS>PREKE1&lt;/N52_KODAS>&lt;/N52></data>
            <dataErrors>
                <dataError>
                    <tag>N52_KODAS_KT</tag>
                    <code>552134</code>
                    <message>Nenurodytas sutarties 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>2023-12-31T23:59:59.999+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_N52</method>
    <params>
        <oper>U</oper>
    </params>
    <data>
        <N52>
            <N52_KODAS_KT>SUT01</N52_KODAS_KT>
            <N52_KODAS_K0>SP001</N52_KODAS_K0>
            <N52_DOK_NR>PAP001</N52_DOK_NR>
            <N52_PASTABOS>Papildytas sutarties priedas</N52_PASTABOS>
        </N52>    
    </data>
</body>

pvz trynimas:

<body>
    <method>EDIT_N52</method>
    <params>
        <oper>D</oper>
    </params>
    <data>
        <N52>
            <N52_KODAS_KT>SUT01</N52_KODAS_KT>
            <N52_KODAS_K0>SP001</N52_KODAS_K0>
        </N52>
    </data>
</body>

PHP pvz

<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
      'ApiKey: uUCz66Y.sKVrjaWREEEE1C27l4qL2nOnn2K0jARkkkHDdYUss',
      'Content-Type: application/json',
      ]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{
    "method": "EDIT_N52",
    "params": {
        "oper": "I"
    },
    "data": {
        "N52": {
            "N52_KODAS_KT": "SUT01",
            "N52_KODAS_K0": "SP001",
            "N52_RUSIS": "1",
            "N52_KODAS": "PREKE1",
            "N52_POZ_KAINA": "1",
            "N52_KODAS_US2": "VNT",
            "N52_KAINA": "0.99"
        }
    }
}');
$response = curl_exec($ch);
curl_close($ch);

Lentelės

N52

Sutarčių lentelė

Laukas Tipas Aprašymas Pastabos naudojant EDIT metodus
N52_KODAS_KT C(12) Sutarties kodas Privalomas
N52_KODAS_K0 C(12) Priedo Numeris Privalomas , kai oper=U,D
N52_DOK_NR C(12) Rezervas
N52_OP_DATA T(8) Priedo data
N52_PAV C(40) Pavadinimas
N52_POZ_SKOL N(1) Ar priedą atvaizduoti skolose?
N52_PRIORITETAS N(14,3) Priedo prioritetas
N52_RUSIS N(2) Rūšis:1-Prekė,2-Paslauga,3-Prekių gr.,4-Paslaugų gr.,5-Klientas,6-Tiekėjas
N52_KODAS C(12) Rūšies kodas
N52_PAV2 C(40) Rūšies pavadinimas
N52_KODAS_MS C(12) Priedo menedžeris
N52_POZ_SUMA N(1) Kontroliuoti sumą?
N52_SUMA N(12,2) Suma
N52_POZ_KIEKIS N(1) Kontroliuoti kiekį?
N52_KODAS_US C(12) Matavimo vienetas
N52_FRAKCIJA N(4) Frakcija
N52_KIEKIS N(14) Kiekis
N52_POZ_KAINA N(1) Kainos parinkimas
N52_KODAS_US2 C(12) Pardavimo kainos mat.vnt.
N52_KAINA N(12,4) Kaina
N52_TIPAS1 C(1) Kainynas 1
N52_TIPAS2 C(1) Kainynas 2
N52_TIPAS3 C(1) Kainynas 3
N52_TIPAS4 C(1) Kainynas 4
N52_TIPAS5 C(1) Kainynas 5
N52_TIPAS6 C(1) Kainynas 6
N52_TERM1 N(3) Max atidėjimo terminas 1
N52_TERM2 N(3) Max atidėjimo terminas 2
N52_TERM3 N(3) Max atidėjimo terminas 3
N52_TERM4 N(3) Max atidėjimo terminas 4
N52_TERM5 N(3) Max atidėjimo terminas 5
N52_TERM6 N(3) Max atidėjimo terminas 6
N52_POZ_TERM N(1) Negalima viršyti atidėjimo nurodyto priede
N52_POZ_TERM_KS N(1) Negalima viršyti atidėjimo nurodyto tiekėjo sutartyje
N52_POZ_KS N(1) Vedant pardavimo sutartį turi būti tiekėjo sutartis
N52_PASTABOS M(4) Pastabos
N52_USERIS C(12) Kas koregavo Neperduodamas. Pildomas automatiškai, ApiKey - pirmi 7 simboliai
N52_ADDUSR C(12) Kas sukūrė Neperduodamas. Pildomas automatiškai, ApiKey - pirmi 7 simboliai
N52_R_DATE T(8) Kada koregavo Neperduodamas. Pildomas automatiškai, Current Datetime
N52_VISKAS N(1) Priedas: 0-aktyvus,1-neaktyvus
N52_POZ_DATE N(1) Priedas turi terminą
N52_BEG_DATE T(8) Priedo pradžios data
N52_END_DATE T(8) Priedo pabaigos data
N52_KODAS_US3 C(12) Pardavimo kainos mat. vnt. 2
N52_KAINA3 N(12,4) Pardavimo kaina 2
N52_KODAS_US4 C(12) Pardavimo kainos mat. vnt. 3
N52_KAINA4 N(12,4) Pardavimo kaina 3
N52_KODAS_VL C(12) Pardavimo/pirkimo kainos valiuta
N52_KODAS_VL3 C(12) Pardavimo/pirkimo 2 kainos valiuta
N52_KODAS_VL4 C(12) Pardavimo/pirkimo 3 kainos valiuta
N52_NUOLAIDA N(6,2) Nuolaidos procentas
N52_REZERVAS C(40) Rezervas
N52_POZ_NUOLAIDA N(1) Ar priskirti nuolaidą
N52_SUMA_P N(12,2) Pradinė suma nuo v107.0700
N52_KIEKIS_P N(14) Pradinis kiekis nuo v107.0700
KIEKIS_U N(14,3) Alternatyvus kiekis dešimtainėje išraiškoje
KIEKIS_P N(14,3) Alternatyvus pradinis kiekis dešimtainėje išraiškoje