EDIT_I16

Aprašymas

Gamybos operacijos komponentės įvedimas, koregavimas, trynimas.

Specifikacija

Address

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. Grąžinamo rezultato (response) formatas
    • application/xml(default)
    • application/json (veikia nuo Manorivile-Gateway-1.1.0 versijos)
Body
  • method : EDIT_I16
  • params :
    • oper :
      • I - naujos komponentės įvedimas (numatytasis)
      • U - komponentės koregavimas
      • D - komponentės ištrynimas
  • data: perduodami duomenys:
    • I16 - Komponentė (i16)

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.

Yra galimybė dirbti su papildomomis dimensijomis, jeigu tokios naudojamos Rivile GAMA sistemoje. Tam naudojami tag'ai <I49_DIM01> ... <I49_DIM15>

Jegu dirbama su rinkinias, tuomet <I16_KODAS_OS> atitinka rinkinio kodą. Taip pat yra galimybė rinkinio kodą paduoti dalimis - tam naudojami tag'ai <K45_RIN01> ... <K45_RIN15>. Jeigu bus paduotI ir <I07_KODAS_OS> ir <K45_RIN01> ... <K45_RIN15> tag'ai, aukštesnį prioritetą turi <I16_KODAS_OS>. Rinkinio kodo iš anksto kurti nereikia, jis bus sukurtas automatiškai.

Norint atnaujinti rinkinio kodą, naujas kodas pateikiamas naudojant tag'ą <I16_KODAS_OS>. Jeigu norima naują rinkinio kodą paduoti dalimis - būtina paduoti tuščią tagą <I16_KODAS_OS>ir tada atskiras dalis naudojant tag'us <K45_RIN01> ... <K45_RIN15>.

XML request
<body>
    <method>EDIT_I16</method>
    <params>
        <oper>I</oper>
    </params>
    <data>
        <I16>
            <I16_KODAS_KA>010R00000001</I16_KODAS_KA>
            <I16_TIPAS>1</I16_TIPAS>
            <I16_KODAS_PS>005</I16_KODAS_PS>
            <I16_KODAS_US_A>VNT</I16_KODAS_US_A>
            <I16_FRAKCIJA_A>1</I16_FRAKCIJA_A>
            <I16_KIEKIS_A>2</I16_KIEKIS_A>
            <I16_KODAS_US>VNT</I16_KODAS_US>
            <I16_FRAKCIJA>1</I16_FRAKCIJA>
            <I16_KIEKIS>2</I16_KIEKIS>
            <I49_DIM01>MEN1</I49_DIM01> <!--Jeigu naudojamos dimensijos -->
            <K45_RIN01>RINKINYS</K45_RIN01> <!--Jeigu naudojami rinkiniai -->
        </I16>
    </data>
</body>
JSON request
{
    "method": "EDIT_I16",
    "params": {
        "oper": "I"
    },
    "data": {
        "I16": {
            "I16_KODAS_KA": "010R00000001",
            "I16_TIPAS": 1,
            "I16_KODAS_PS": "005",
            "I16_KODAS_US_A": "VNT",
            "I16_FRAKCIJA_A": 1,
            "I16_KIEKIS_A": 2,
            "I16_KODAS_US": "VNT",
            "I16_FRAKCIJA": 1,
            "I16_KIEKIS": 2,
            "I49_DIM01": "MEN1",
            "K45_RIN01": "RINKINYS"
        }
    }
}
Response (status 200 OK)
XML response
<?xml version='1.0' encoding='UTF-8' ?>
<RET_DOK>
    <I16>
        <I16_KODAS_KA>010R00000001</I16_KODAS_KA>
        <I16_EIL_NR>1</I16_EIL_NR>
        <I16_TIPAS>1</I16_TIPAS>
        <I16_KODAS_PS>005</I16_KODAS_PS>
        <I16_KODAS_OS></I16_KODAS_OS>
        <I16_SERIJA></I16_SERIJA>
        <I16_PERKELTA>1</I16_PERKELTA>
        <I16_KODAS_US_A>VNT</I16_KODAS_US_A>
        <I16_FRAKCIJA_A>1</I16_FRAKCIJA_A>
        <I16_KIEKIS_A>2</I16_KIEKIS_A>
        <I16_PARD_KAINA>0.0000</I16_PARD_KAINA>
        <I16_KODAS_US>VNT</I16_KODAS_US>
        <I16_FRAKCIJA>1</I16_FRAKCIJA>
        <I16_KIEKIS>2</I16_KIEKIS>
        <I16_LIKUTIS>2</I16_LIKUTIS>
        <I16_MINUSO_POZ>0</I16_MINUSO_POZ>
        <I16_SAVIKAINA>0.00</I16_SAVIKAINA>
        <I16_ISEIG_PROC>0.00</I16_ISEIG_PROC>
        <I16_GALIOJA>3999-01-01T00:00:00</I16_GALIOJA>
        <I16_USERIS>0HLPUFX</I16_USERIS>
        <I16_R_DATE>2020-11-03T21:29:57</I16_R_DATE>
        <I16_ADDUSR>0HLPUFX</I16_ADDUSR>
        <I16_KODAS_US_N>VNT</I16_KODAS_US_N>
        <I16_PAV></I16_PAV>
        <I49_DIM01>MEN1</I49_DIM01>
        <K45_RIN01>RINKINYS</K45_RIN01>
    </I16>
</RET_DOK>
JSON response
{
    "I16": {
        "I16_KODAS_KA": "010R00000001",
        "I16_EIL_NR": 2,
        "I16_TIPAS": 1,
        "I16_KODAS_PS": "005",
        "I16_KODAS_OS": "",
        "I16_SERIJA": "",
        "I16_PERKELTA": 1,
        "I16_KODAS_US_A": "VNT",
        "I16_FRAKCIJA_A": 1,
        "I16_KIEKIS_A": 2,
        "I16_PARD_KAINA": 0,
        "I16_KODAS_US": "VNT",
        "I16_FRAKCIJA": 1,
        "I16_KIEKIS": 2,
        "I16_LIKUTIS": 0,
        "I16_MINUSO_POZ": 0,
        "I16_SAVIKAINA": 0,
        "I16_ISEIG_PROC": 0,
        "I16_GALIOJA": "3999-01-01T00:00:00",
        "I16_USERIS": "0HLPUFX",
        "I16_R_DATE": "2020-11-03T21:38:14",
        "I16_ADDUSR": "0HLPUFX",
        "I16_KODAS_US_N": "VNT",
        "I16_PAV": "",
        "I49_DIM01": "MEN1",
        "K45_RIN01": "RINKINYS"
    }
}
Response (status 400)

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

<?xml version='1.0' encoding='UTF-8'?>
<RET_DOK>
    <id>1266808491.ba84eed1.1604432380910</id>
    <durationMs>9</durationMs>
    <errorMessage>Nepavyko įvykdyti metodo</errorMessage>
    <document/>
    <errors>
        <error>
            <data>&lt;I16>&lt;I16_TIPAS>1&lt;/I16_TIPAS>&lt;I16_FRAKCIJA_A>1&lt;/I16_FRAKCIJA_A>&lt;I16_KIEKIS_A>2&lt;/I16_KIEKIS_A>&lt;I16_KIEKIS>2&lt;/I16_KIEKIS>&lt;I16_KODAS_US>VNT&lt;/I16_KODAS_US>&lt;I16_KODAS_US_A>VNT&lt;/I16_KODAS_US_A>&lt;I16_KODAS_KAS>010R00000001&lt;/I16_KODAS_KAS>&lt;I16_FRAKCIJA>1&lt;/I16_FRAKCIJA>&lt;I16_KODAS_PS>005&lt;/I16_KODAS_PS>&lt;/I16></data>
            <dataErrors>
                <dataError>
                    <tag>I15_KODAS_KA</tag>
                    <code>8003</code>
                    <message>Tokio įrašo nėra</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 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 ir trynimas

Koregavimas ir trynimas vyksta pagal atitinkamos lentelės raktą (Primary Key) ir eilės numerį

Koreguojant informaciją bus koreguojami tik perduodami laukai.

pvz koregavimas:

<body>
    <method>EDIT_I16</method>
    <params>
        <oper>U</oper>
    </params>
    <data>
        <I16>
            <I16_KODAS_KA>010R00000001</I16_KODAS_KA>
            <I16_EIL_NR>1</I16_EIL_NR>
            <I16_PAV>Pavadinimas naujas</I16_PAV>
        </I16>
    </data>
</body>

pvz trynimas:

<body>
    <method>EDIT_I16</method>
    <params>
        <oper>D</oper>
    </params>
    <data>
        <I16>
            <I16_KODAS_KA>010R00000001</I16_KODAS_KA>
            <I16_EIL_NR>2</I16_EIL_NR>
        </I16>
    </data>
</body>
Rinkinio kodo atnaujinimas
<body>
    <method>EDIT_I16</method>
    <params>
        <oper>U</oper>
    </params>
    <data>
        <I16>
            <I16_KODAS_KA>010R00000001</I16_KODAS_KA>
            <I16_EIL_NR>1</I16_EIL_NR>
            <I16_KODAS_OS></I16_KODAS_OS>
            <K45_RIN01>RINKINYS</K45_RIN01>
        </I16>
    </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_I16",
    "params": {
        "oper": "I"
    },
    "data": {
        "I16": {
            "I16_KODAS_KA": "010R00000001",
            "I16_TIPAS": 1,
            "I16_KODAS_PS": "005",
            "I16_KODAS_US_A": "VNT",
            "I16_FRAKCIJA_A": 1,
            "I16_KIEKIS_A": 2,
            "I16_KODAS_US": "VNT",
            "I16_FRAKCIJA": 1,
            "I16_KIEKIS": 2
        }
    }
}');
$response = curl_exec($ch);
curl_close($ch);

Lentelės

I16

Gamybos operacijos komponentės lentelė

Laukas Tipas Aprašymas Pastabos naudojant EDIT metodus
I16_KODAS_KA C(12) Operacijos kodas Privalomas , kai oper=U,D
I16_EIL_NR N(6) Detalios eilutės nr Privalomas , kai oper=U,D
I16_TIPAS N(1) Tipas:1-prekė,2-kodas,3-pranešimas,4-aprašymas
I16_KODAS_PS C(12) Prekės/Kodo kodas
I16_KODAS_OS C(12) Objekto kodas Arba rinkinio kodas, jei dirbama su rinkiniais.
I16_SERIJA C(12) Serija
I16_PERKELTA N(1) Prkėlimas:1-neperkelta,2-perkelta
I16_KODAS_US_A C(12) Alternatyvus matavimo vieneto kodas
I16_FRAKCIJA_A N(4) Alternatyvaus kiekio frakcija
I16_KIEKIS_A N(14) Reikalingas kiekis alternatyviu matu
I16_PARD_KAINA N(12,4) Pardavimo kaina
I16_KODAS_US C(12) Pagrindinio matavimo viento kodas
I16_FRAKCIJA N(4) Pagrindinio matavimo frakcija
I16_KIEKIS N(14) Reikalingas kiekis pagrindiniu matu
I16_LIKUTIS N(14) Prekės likutis operacijos atlikimo metu
I16_MINUSO_POZ N(1) Ar galima fiksuoti,jei trūksta kiekio:0-ne,1-taip
I16_SAVIKAINA N(12,2) Prekės savikaina
I16_ISEIG_PROC N(6,2) Sumos Išeigos procentas išbarstyme
I16_GALIOJA T(8) Galiojimo data
I16_USERIS C(12) Kas koregavo
I16_R_DATE T(8) Kada koregavo
I16_ADDUSR C(12) Kas sukūrė
I16_KODAS_US_N C(12) Matavimo vienetas nuo kurio nurašoma
I16_PAV C(40) Aprašymas
I16_APRASYMAS1 C(150) Aprašymas 1
I16_APRASYMAS2 C(150) Aprašymas 2
I16_APRASYMAS3 C(150) Aprašymas 3
I49_DIM01, ... , I49_DIM15 C(12) Dimensijos
K45_RIN01, ... , K45_RIN15 C(12) Rinkiniai