MGAMA_EDIT_K16_ATATS

Aprašymas

Personalo atostogų atšaukimo operacijų dokumentų sukūrimas, koregavimas, trynimas.

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 : MGAMA_EDIT_K16_ATATS
  • params :
    • oper :
    • I - naujo įrašo sukūrimas (numatytasis)
    • U - dokumento koregavimas
    • D - dokumento ištrynimas
  • data: perduodami duomenys:
    • K16 - Personalo operacijų antraštė (k16)

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

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

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

XML Request pvz.:

<body>
    <method>MGAMA_EDIT_K16_ATATS</method>
    <params>
        <oper>I</oper>
    </params>
    <data>
        <K16>
            <K16_KODAS_6A_S>000R00016306</K16_KODAS_6A_S>
            <K16_BEG_DATE>2024-06-11</K16_BEG_DATE>
            <K16_DIENU_SK>5</K16_DIENU_SK>
            <K16_END_DATE>2024-06-15</K16_END_DATE>
            <K16_KAL>0</K16_KAL>
            <K16_KODAS_0A>555</K16_KODAS_0A>
            <K16_KODAS_4A>001</K16_KODAS_4A>
            <K16_KODAS_IS>999999999999</K16_KODAS_IS>
            <K16_OP_DATE>2024-04-30</K16_OP_DATE>
            <K16_RUSIS>1</K16_RUSIS>
            <K16_SUT_NR>000R00016307</K16_SUT_NR>
        </K16>
    </data>
</body>

JSON Request pvz.:

{
    "method": "MGAMA_EDIT_K16_ATATS",
    "params": {
        "oper": "I"
    },
    "data": {
        "K16": {
            "K16_KODAS_6A_S": "000R00016306",
            "K16_BEG_DATE": "2024-06-11",
            "K16_DIENU_SK": "5",
            "K16_END_DATE": "2024-06-15",
            "K16_KAL": "0",
            "K16_KODAS_0A": "555",
            "K16_KODAS_4A": "001",
            "K16_KODAS_IS": "999999999999",
            "K16_OP_DATE": "2024-04-30",
            "K16_RUSIS": "1",
            "K16_SUT_NR": "000R00016307"
        }
    }
}
Response (status 200 OK)

XML response pvz.:

<RET_DOK>
    <K16_OPH>
        <K16_KODAS_6A>000R00016308</K16_KODAS_6A>
        <K16_KODAS_6A_S>000R00016306</K16_KODAS_6A_S>
        <K16_BEG_DATE>2024-06-11T00:00:00</K16_BEG_DATE>
        <K16_DIENU_SK>5.000</K16_DIENU_SK>
        <K16_DOK_NR>6AATA0000294</K16_DOK_NR>
        <K16_END_DATE>2024-06-15T00:00:00</K16_END_DATE>
        <K16_KAL>0</K16_KAL>
        <K16_KODAS_0A>555         </K16_KODAS_0A>
        <K16_KODAS_1A_19>           </K16_KODAS_1A_19>
        <K16_KODAS_1A_25>           </K16_KODAS_1A_25>
        <K16_KODAS_4A>001         </K16_KODAS_4A>
        <K16_KODAS_5A>           </K16_KODAS_5A>
        <K16_KODAS_IS>999999999999</K16_KODAS_IS>
        <K16_OP_DATE>2024-04-30T00:00:00</K16_OP_DATE>
        <K16_PAV>v1 p1(darbuotojas r1)                                       </K16_PAV>
        <K16_RUSIS>1</K16_RUSIS>
        <K16_SUT_NR>000R00016307</K16_SUT_NR>
        <K16_PERKELTA>1</K16_PERKELTA>
        <K16_ADDUSR>999     </K16_ADDUSR>
        <K16_R_DATE>2024-04-30T12:17:36</K16_R_DATE>
        <K16_USERIS>999     </K16_USERIS>
    </K16_OPH>
</RET_DOK>

JSON response pvz.:

{
    "K16_OPH": {
        "K16_KODAS_6A": "000R00016309",
        "K16_KODAS_6A_S": "000R00016306",
        "K16_BEG_DATE": "2024-06-11T00:00:00",
        "K16_DIENU_SK": 5,
        "K16_DOK_NR": "6AATA0000295",
        "K16_END_DATE": "2024-06-15T00:00:00",
        "K16_KAL": 0,
        "K16_KODAS_0A": 555,
        "K16_KODAS_1A_19": "",
        "K16_KODAS_1A_25": "",
        "K16_KODAS_4A": "001",
        "K16_KODAS_5A": "",
        "K16_KODAS_IS": 999999999999,
        "K16_OP_DATE": "2024-04-30T00:00:00",
        "K16_PAV": "v1 p1(darbuotojas r1)",
        "K16_RUSIS": 1,
        "K16_SUT_NR": "000R00016307",
        "K16_PERKELTA": 1,
        "K16_ADDUSR": "9JOITM2",
        "K16_R_DATE": "2024-04-30T12:19:36",
        "K16_USERIS": "9JOITM2"
    }
}
Response (status 400)

Klaida paduodant duomenis / SQL sintaksinės klaidos / kitos duomenų klaidos, pvz.:

<?xml version='1.0' encoding='UTF-8'?>
<RET_DOK>
    <id>4641133481.72d6d4a8.1714466326905</id>
    <durationMs>497</durationMs>
    <errorMessage>Nepavyko įvykdyti metodo</errorMessage>
    <document/>
    <errors>
        <error>
            <data>&lt;K16>&lt;num_row>1&lt;/num_row>&lt;/K16></data>
            <dataErrors>
                <dataError>
                    <tag>K16_KODAS_6A_S</tag>
                    <code>19013</code>
                    <message>Nenurodytas kodas</message>
                </dataError>
                <dataError>
                    <tag>K16_BEG_DATE</tag>
                    <code>15012</code>
                    <message>Bloga reiksmė</message>
                </dataError>
                <dataError>
                    <tag>K16_KODAS_4A</tag>
                    <code>19013</code>
                    <message>Nenurodytas kodas</message>
                </dataError>
                <dataError>
                    <tag>K16_KODAS_0A</tag>
                    <code>19013</code>
                    <message>Nenurodytas kodas</message>
                </dataError>
                <dataError>
                    <tag>K16_KODAS_IS</tag>
                    <code>19013</code>
                    <message>Nenurodytas kodas</message>
                </dataError>
                <dataError>
                    <tag>K16_DIENU_SK</tag>
                    <code>15012</code>
                    <message>Bloga reiksmė</message>
                </dataError>
                <dataError>
                    <tag>K16_DIENU_SK</tag>
                    <code>21006</code>
                    <message>Negalima neigiama reikšmė</message>
                </dataError>
                <dataError>
                    <tag>K16_SUT_NR</tag>
                    <code>19013</code>
                    <message>Nenurodytas 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 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>
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>

Koregavimas ir trynimas

Koregavimas ir trynimas vyksta pagal atitinkamos lentelės raktą (Primary Key).

Koreguojant informaciją bus koreguojami tik perduodami laukai.

Pvz. koregavimas:

<body>
    <method>MGAMA_EDIT_K16_ATATS</method>
    <params>
        <oper>U</oper>
    </params>
    <data>
        <K16>
            <K16_KODAS_6A>000000000001</K16_KODAS_6A>
            <K16_apr>PAKEITIMAI</K16_apr>
        </K16>
    </data>
</body>

Pvz. trynimas:

<body>
    <method>MGAMA_EDIT_K16_ATATS</method>
    <params>
        <oper>D</oper>
    </params>
    <data>
        <K16>
            <K16_KODAS_6A>000000000001</K16_KODAS_6A>
        </K16>
    </data>
</body>

PHP pavyzdys:

<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
      'ApiKey: 999.987654321',
      'Content-Type: application/json',
      ]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{
    "method": " MGAMA_EDIT_K16_ATATS ",
    "params": {
        "oper": "I"
    },
    "data": {
        "K16": {
            "K16_KODAS_6A_S": "000R00016306",
            "K16_BEG_DATE": "2024-06-11",
            "K16_DIENU_SK": "5",
            "K16_END_DATE": "2024-06-15",
            "K16_KAL": "0",
            "K16_KODAS_0A": "555",
            "K16_KODAS_4A": "001",
            "K16_KODAS_IS": "999999999999",
            "K16_OP_DATE": "2024-04-30",
            "K16_RUSIS": "1",
            "K16_SUT_NR": "000R00016307"
        }
}
}');
$response = curl_exec($ch);
curl_close($ch);

Lentelės

K16

Personalo atostogų atšaukimo dokumentų antraštės lentelė

Laukas Tipas Aprašymas Pastabos naudojant EDIT metodą
K16_APR varchar(200) Aprašymas
K16_BEG_DATE datetime Atostogauja nuo Informacinis laukas, užsipildo automatiškai pagal informaciją iš atostogų operacijos, nurodytos lauke SUT_NR
K16_DIENU_SK numeric(12,3) Atšaukiamų dienų skaičius
K16_DOK_NR char(12) Dokumento numeris Būtina užpildyti, jeigu parametro oper reikšmė yra "I" ir nėra aprašytas personalo priėmimo operacijų dokumentų skaitliukas
K16_END_DATE datetime Atostogauja iki Informacinis laukas, užsipildo automatiškai pagal informaciją iš atostogų operacijos, nurodytos lauke SUT_NR
K16_KAL numeric(1,0) Atostogų rūšis
K16_KODAS_0A char(12) Etatas Informacinis laukas, užsipildo automatiškai pagal informaciją iš priėmimo operacijos, nurodytos lauke KODAS_6A_S
K16_KODAS_1A_19 char(12) Atostogų tipas Informacinis laukas, užsipildo automatiškai pagal informaciją iš atostogų operacijos, nurodytos lauke SUT_NR
K16_KODAS_1A_25 char(12) Algos klasifikatorius
K16_KODAS_4A char(12) Personalo kodas Laukas apdorojime užsipildo automatiškai pagal informaciją iš priėmimo operacijos, nurodytos lauke KODAS_6A_S. Jeigu nenurodytas K16_KODAS_6A_S ir K16_KODAS_6A_F, tai pagal K16_KODAS_4A surandama aktyvi priėmimo operacija. Aktyvių priėmimo operacijų turi būti ne daugiau 1, kitu atveju gaunama klaida.
K16_KODAS_5A char(12) Specialybė Informacinis laukas, užsipildo automatiškai pagal informaciją iš priėmimo operacijos, nurodytos lauke KODAS_6A_S
K16_KODAS_6A char(12) Operacijos numeris Būtina užpildyti, kai užklausos parametras "oper" = U, D; t.y. kai vykdoma koregavimo arba trynimo operacija
K16_KODAS_6A_F char(12) Pirminė priėmimo operacija Jeigu nenurodytas K16_KODAS_6A_S, tai pagal K16_KODAS_6A_F surandama aktyvi priėmimo operacija. Aktyvių priėmimo operacijų turi būti ne daugiau 1, kitu atveju gaunama klaida.
K16_KODAS_6A_S char(12) Priėmimo operacija Lauką būtina užpildyti, kai parametro "oper" reikšmė = I; t.y. kai vykdoma įterpimo operacija
K16_KODAS_IS char(12) Padalinys Informacinis laukas, užsipildo automatiškai pagal informaciją iš priėmimo operacijos, nurodytos lauke KODAS_6A_S
K16_OP_DATE datetime Operacijos data Jeigu nieko nenurodoma, laukas užpilodmas automatiškai šiandienos data
K16_PAV varchar(200) Personalo vardas, pavardė Laukas apdorojime užsipildo automatiškai pagal informaciją iš priėmimo operacijos, nurodytos lauke KODAS_6A_S
K16_RUSIS numeric(1,0) Operacijos rūšis 1 - Dokumentas, 2 - prašymas. Jeigu nieko nenurodoma, laukas užpilodmas reikšme 1.
K16_SUT_NR char(12) Atostogų operacija Lauką būtina užpildyti, kai parametro "oper" reikšmė = I; t.y. kai vykdoma įterpimo operacija
K16_USERIS char(12) Administracinė informacija - kas sukūrė arba kas paskutinis koregavo operaciją
K16_PERKELTA numeric(1,0) Perkėlimo požymis:1-neperkelta,2-perkelta,3-koreguota
K16_ADDUSR char(50) Administracinė informacija - kas sukūrė operaciją
K16_R_DATE datetime Administracinė informacija - kada paskutinį kartą buvo koreguota operacija
K16_TIPAS numeric(3,0) Operacijos tipas Informacinis laukas, užsipildo automatiškai