EDIT_I12

Aprašymas

Atsargų operacijos detalios informacijos koregavimas

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. Gražinamo rezultato (response) formatas
    • application/xml(default)
    • application/json (veikia nuo Manorivile-Gateway-1.1.0 versijos)
Body
  • method : EDIT_I12
  • params :
    • oper :
      • I - naujo įrašo sukūrimas
      • U - įrašo koregavimas
      • D - įrašo ištrynimas
  • data: perduodami duomenys:
    • I12 - atitinkamos lentelės laukai (i12)

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.

Koreguoti galima tik to paties API vartotojo sukurtas operacijas. Teisės valdomos parametru RGI_ALL_EDIT

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 <I12_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 <I12_KODAS_OS> ir <K45_RIN01> ... <K45_RIN15> tag'ai, aukštesnį prioritetą turi <I12_KODAS_OS>. Rinkinio kodo iš anksto kurti nereikia, jis bus sukurtas automatiškai.

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

pvz application/xml:

<body>
    <method>EDIT_I12</method>
    <params>
        <oper>I</oper>
    </params>
    <data>
      <I12>
         <I12_KODAS_IN>010R00000073</I12_KODAS_IN>
         <I12_TIPAS>1</I12_TIPAS>
         <I12_KODAS_SS>20120</I12_KODAS_SS>
         <bar_kodas>777777777777</bar_kodas>
         <kiekis_u>1</kiekis_u>
         <I49_DIM01>MEN1</I49_DIM01> <!--Jeigu naudojamos dimensijos -->
         <K45_RIN01>RINKINYS</K45_RIN01> <!--Jeigu naudojami rinkiniai -->
     </I12> 
    </data>
</body>

pvz application/json:

{
    "method": "EDIT_I12",
    "params": {
        "oper": "I"
    },
    "data": {
        "I12": {
            "I12_KODAS_IN": "010R00000073",
            "I12_TIPAS": 1,
            "bar_kodas": "777777777777",
            "kiekis_u":1,
            "I49_DIM01": "MEN1",
            "K45_RIN01": "RINKINYS"
        }
    }
}
Response (status 200 OK)

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

pvz:

<?xml version='1.0'?>
<RET_DOK>
    <I12>
         <I12_KODAS_IN>010R00000073</I12_KODAS_IN>
         <I12_EIL_NR>1</I12_EIL_NR>
         <I12_TIPAS>1</I12_TIPAS>
         <I12_KODAS_PS>001 </I12_KODAS_PS>
         <I12_KODAS_SS>20120 </I12_KODAS_SS>
         <I12_KODAS_OS> </I12_KODAS_OS>
         <I12_SERIJA> </I12_SERIJA>
         <I12_KODAS_US>VNT </I12_KODAS_US>
         <I12_FRAKCIJA_A>1</I12_FRAKCIJA_A>
         <I12_KIEKIS_A>1</I12_KIEKIS_A>
         <I12_PAV>Stalas </I12_PAV>
         <I12_KIEKIS>1</I12_KIEKIS>
         <I12_FRAKCIJA>1</I12_FRAKCIJA>
         <I12_PIRK_KAINA>.0000</I12_PIRK_KAINA>
         <I12_SAV_SUMA>.00</I12_SAV_SUMA>
         <I12_PARD_KAINA>.0000</I12_PARD_KAINA>
         <I12_GALIOJA_IKI>19000101 00:00:00.000</I12_GALIOJA_IKI>
         <I12_USERIS>3 </I12_USERIS>
         <I12_R_DATE>2019-11-04 09:45:26.000</I12_R_DATE>
         <I12_ADDUSR>3 </I12_ADDUSR>
         <I12_PERKELTA>1</I12_PERKELTA>
         <I12_KODAS_OS_C> </I12_KODAS_OS_C>
         <I12_PARD_KAINA_S>.0000</I12_PARD_KAINA_S>
         <I12_SERTIFIKATAS> </I12_SERTIFIKATAS>
         <i12_kodas_ks> </i12_kodas_ks>
         <i12_aprasymas1></i12_aprasymas1>
         <i12_aprasymas2></i12_aprasymas2>
         <i12_aprasymas3></i12_aprasymas3>
         <I49_DIM01>MEN1</I49_DIM01>
         <K45_RIN01>RINKINYS</K45_RIN01>
     </I12>
</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>14433105830.9def1bf4.1584217427751</id>
    <durationMs>45</durationMs>
    <errorMessage>nepavyko įvykdyti metodo</errorMessage>
    <errors>
        <error>
            <data>&lt;I12>&lt;/I12></data>
            <dataErrors>
                <dataError>
                    <tag>I12_KODAS_IN</tag>
                    <code>21001</code>
                    <message>Nėra operacijos</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 išmetimas

Koregavimas, išmetimas vyksta pagal lentelės raktą (Primary Key)

Koreguojant informaciją bus koreguojami tik perduodami laukai.

pvz koregavimas:

<body>
    <method>EDIT_I12</method>
    <params>
        <oper>U</oper>
    </params>
    <data>
      <I12>
         <I12_KODAS_IN>010R00000073</I12_KODAS_IN>
         <I12_EIL_NR>1</I12_EIL_NR>
         <I12_KODAS_SS>20120</I12_KODAS_SS>
     </I12>    
    </data>
</body>

pvz išmetimas:

<body>
    <method>EDIT_I12</method>
    <params>
        <oper>D</oper>
    </params>
    <data>
      <I12>
         <I12_KODAS_IN>010R00000073</I12_KODAS_IN>
         <I12_EIL_NR>1</I12_EIL_NR>
     </I12>      
    </data>
</body>
Rinkinio kodo atnaujinimas
<body>
    <method>EDIT_I12</method>
    <params>
        <oper>U</oper>
    </params>
    <data>
      <I12>
         <I12_KODAS_IN>010R00000073</I12_KODAS_IN>
         <I12_EIL_NR>1</I12_EIL_NR>
         <I12_KODAS_OS>20120</I12_KODAS_OS>
         <K45_RIN01>RINKINYS</K45_RIN01>
     </I12>    
    </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, $body);
$response = curl_exec($ch);
curl_close($ch);

Lentelės

I12

Atsargų operacijos detalios eilutės

Laukas Tipas Aprašymas Pastabos naudojant EDIT metodus
I12_KODAS_IN C(12) Operacijos numeris Privalomas, kai oper=I,U,D
I12_EIL_NR N(6) Detalios eilės numeris Privalomas, kai oper=U,D
I12_TIPAS N(1) Tipas:1-prekė,3-kodas Privalomas, kai oper=I
I12_KODAS_PS C(12) Prekės kodas ***
I12_KODAS_SS C(12) Sąskaitos kodas Privalomas, kai oper=I
I12_KODAS_OS C(12) Objekto kodas Arba rinkinio kodas, jeigu dirbama su rinkiniais
I12_SERIJA C(12) Serija
I12_KODAS_US C(12) Užpajamavimo matavimo vieneto kodas ***
I12_FRAKCIJA_A N(4) Frakcija alternatyvi ***
I12_KIEKIS_A N(14) Kiekis alternatyviu mato vnt ***
I12_PAV C(40) Prekės/Kodo pavadinimas
I12_KIEKIS N(14) Kiekis pagrindiniu matavimo vnt ***
I12_FRAKCIJA N(4) Frakcija pagrindinio matavimo vnt. ***
I12_PIRK_KAINA N(12,4) Pirkimo kaina
I12_SAV_SUMA N(12,2) Pirkimo suma
I12_PARD_KAINA N(12,4) Nauja pardavimo kaina
I12_GALIOJA_IKI T(8) Iki kada prekė galioja
I12_USERIS C(12) Kas koregavo Neperduodamas. Pildomas automatiškai, ApiKey - pirmi 7 simboliai
I12_R_DATE T(8) Kada koregavo Neperduodamas. Pildomas automatiškai, Current Datetime
I12_ADDUSR C(12) Kas sukūrė Neperduodamas. Pildomas automatiškai (oper=I), ApiKey - pirmi 7 simboliai
I12_PERKELTA N(1) Prekėlimo požymis:1-neperkelta,2-perkelta Neperduodamas
I12_KODAS_OS_C C(12) Centras
I12_PARD_KAINA_S N(12,4) Pardavimo kaina operacijos atlikimo metu
I12_SERTIFIKATAS C(12) Sertifikatas
I12_KODAS_KS C(12) Klientas
I12_APRASYMAS1 C(150) Aprašymas 1
I12_APRASYMAS2 C(150) Aprašymas 2
I12_APRASYMAS3 C(150) Aprašymas 3
kiekis_u N(12,4) Alternatyvus kiekis dešimtainėje išraiškoje ***
bar_kodas C(12) Barkodas ***
I49_DIM01, ... , I49_DIM15 C(12) Dimensijos
K45_RIN01, ... , K45_RIN15 C(12) Rinkiniai

** jeigu naudojami laukai bar_kodas ir kiekis_u, tuomet eilutės kodas yra automatiškai užpildomas pagal barkodą ir kiekis išverčiamas iš dešimtainio kiekio į kiekius ir frakcijas. Jeigu naudojamas bar_kodas*, tuomet laukai I12_KODAS_PS nebūtina nurodyti - jie randami pagal barkodo informaciją.