MGAMA_EDIT_K16_ATOST

Aprašymas

Personalo atostogų 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_ATOST
  • 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_ATOST</method>
    <params>
        <oper>I</oper>
    </params>
    <data>
        <K16>
            <K16_KODAS_6A_S>000000000001</K16_KODAS_6A_S>
            <K16_AT_RIBA>0</K16_AT_RIBA>
            <K16_BEG_DATE>2024-11-11T00:00:00</K16_BEG_DATE>
            <K16_DIENOS_SV>0.000</K16_DIENOS_SV>
            <K16_DIENU_SK>5.000</K16_DIENU_SK>
            <K16_DOK_NR>6AAT00001458</K16_DOK_NR>
            <K16_END_DATE>2024-11-15T00:00:00</K16_END_DATE>
            <K16_KAL>0</K16_KAL>
            <K16_KODAS_1A_19>           </K16_KODAS_1A_19>
            <K16_KODAS_1A_25>           </K16_KODAS_1A_25>
            <K16_KODAS_4A>001         </K16_KODAS_4A>
            <K16_KOR_POZ>0</K16_KOR_POZ>
            <K16_OP_DATE>2024-04-09T00:00:00</K16_OP_DATE>
            <K16_PAV>v1 p1(darbuotojas r1)                                       </K16_PAV>
            <K16_RUSIS>1</K16_RUSIS>
            <K16_SUT_NR>           </K16_SUT_NR>
            <K16_SUT_TIPAS>1</K16_SUT_TIPAS>
        </K16>
    </data>
</body>

JSON Request pvz.:

{
        "method": "MGAMA_EDIT_K16_ATOST",
        "params": {
            "oper": "I"
        },
        "data": {
            "K16": {
                "K16_KODAS_6A_S": "000000000001",
                "K16_AT_RIBA": "0",
                "K16_BEG_DATE": "2024-11-11T00:00:00",
                "K16_DIENOS_SV": "0.000",
                "K16_DIENU_SK": "5.000",
                "K16_DOK_NR": "6AAT00001458",
                "K16_END_DATE": "2024-11-15T00:00:00",
                "K16_KAL": "0",
                "K16_KODAS_1A_19": "",
                "K16_KODAS_1A_25": "",
                "K16_KODAS_4A": "001",
                "K16_KOR_POZ": "0",
                "K16_OP_DATE": "2024-04-09T00:00:00",
                "K16_PAV": "v1 p1(darbuotojas r1)",
                "K16_RUSIS": "1",
                "K16_SUT_NR": "",
                "K16_SUT_TIPAS": "1"
            }
        }
}
Response (status 200 OK)

XML response pvz.:

<RET_DOK>
    <K16_OPH>
        <K16_KODAS_6A>000R00015836</K16_KODAS_6A>
        <K16_KODAS_6A_S>000R00015831</K16_KODAS_6A_S>
        <K16_BEG_DATE>2024-11-11T00:00:00</K16_BEG_DATE>
        <K16_DIENOS_SV>11.000</K16_DIENOS_SV>
        <K16_DIENU_SK>9.000</K16_DIENU_SK>
        <K16_DOK_NR>6AKD00000169</K16_DOK_NR>
        <K16_END_DATE>2024-11-21T00:00:00</K16_END_DATE>
        <K16_KODAS_0A>555         </K16_KODAS_0A>
        <K16_KODAS_1A_24>           </K16_KODAS_1A_24>
        <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-09T00:00:00</K16_OP_DATE>
        <K16_PAV>v1 p1(darbuotojas r1)                                       </K16_PAV>
        <K16_RUSIS>1</K16_RUSIS>
        <K16_PERKELTA>1</K16_PERKELTA>
        <K16_ADDUSR>1234567     </K16_ADDUSR>
        <K16_R_DATE>2024-04-09T11:03:08</K16_R_DATE>
        <K16_USERIS>1234567     </K16_USERIS>
    </K16_OPH>
</RET_DOK>

JSON response pvz.:

{
    "K16_OPH": {
        "K16_KODAS_6A": "000R00015837",
        "K16_KODAS_6A_S": "000R00015831",
        "K16_BEG_DATE": "2024-11-11T00:00:00",
        "K16_DIENOS_SV": 11,
        "K16_DIENU_SK": 9,
        "K16_DOK_NR": "6AKD00000170",
        "K16_END_DATE": "2024-11-21T00:00:00",
        "K16_KODAS_0A": 555,
        "K16_KODAS_1A_24": "",
        "K16_KODAS_1A_25": "",
        "K16_KODAS_4A": "001",
        "K16_KODAS_5A": "",
        "K16_KODAS_IS": 999999999999,
        "K16_OP_DATE": "2024-04-09T00:00:00",
        "K16_PAV": "v1 p1(darbuotojas r1)",
        "K16_RUSIS": 1,
        "K16_PERKELTA": 1,
        "K16_ADDUSR": "1234567",
        "K16_R_DATE": "2024-04-09T11:05:42",
        "K16_USERIS": "1234567"
    }
}
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.d2a886f7.1714466892448</id>
    <durationMs>175</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_END_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>
            </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_ATOST</method>
    <params>
        <oper>U</oper>
    </params>
    <data>
        <K16>
            <K16_KODAS_6A>000000000001</K16_KODAS_6A>
            <K16_apr>REDAGUOTAS</K16_apr>
        </K16>
    </data>
</body>

Pvz. trynimas:

<body>
    <method>MGAMA_EDIT_K16_ATOST</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_ATOST ",
    "params": {
        "oper": "I"
    },
    "data": {
"K16": {
                "K16_KODAS_6A_S": "000000000001",
                "K16_AT_RIBA": "0",
                "K16_BEG_DATE": "2024-11-11T00:00:00",
                "K16_DIENOS_SV": "0.000",
                "K16_DIENU_SK": "5.000",
                "K16_DOK_NR": "6AAT00001458",
                "K16_END_DATE": "2024-11-15T00:00:00",
                "K16_KAL": "0",
                "K16_KODAS_1A_19": "",
                "K16_KODAS_1A_25": "",
                "K16_KODAS_4A": "001",
                "K16_KOR_POZ": "0",
                "K16_OP_DATE": "2024-04-09T00:00:00",
                "K16_PAV": "v1 p1(darbuotojas r1)",
                "K16_RUSIS": "1",
                "K16_SUT_NR": "",
                "K16_SUT_TIPAS": "1"
            }

    }
}');
$response = curl_exec($ch);
curl_close($ch);

Lentelės

K16

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

Kodas Tipas Aprašymas Pastabos naudojant EDIT metodus
K16_APR C(200) Aprašymas
K16_AT_RIBA N(3,0) Po kelintos dienos koreguoti periodą
K16_BEG_DATE T(8) Atostogų pradžia Būtinas, kai oper=”I”
K16_DIENOS_SV N(12,3) Nedarbo dienų skaičius
K16_DIENU_SK N(12,3) Dienų skaičius
K16_DOK_NR C(12) Dokumento numeris Būtinas, jeigu neaprašytas personalo atostogų operacijų skaitliukas
K16_END_DATE T(8) Atostogų pabaiga Būtinas, kai oper=”I”
K16_KAL N(1,0) Atostogų rūšis
K16_KODAS_1A_19 C(12) Atostogų tipas
K16_KODAS_1A_25 C(12) Algos klasifikatorius
K16_KODAS_4A C(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_6A C(12) Operacijos Numeris Būtinas, kai oper=”U” arba “D”
K16_KODAS_6A_F C(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 C(12) Priėmimo operacija Būtinas, kai oper=”I”
K16_KOR_POZ N(1,0) Koreguojamų atostogų grupė (darbo/kalend. d.)
K16_OP_DATE T(8) Operacijos Data
K16_PAV C(200) Personalo vardas/pavardė
K16_RUSIS N(1,0) Operacijos rūšis
K16_SUT_NR C(12) Atostogų grafikas
K16_SUT_TIPAS N(1,0) Koreguojamų atostogų grupė [A; H]
K16_TIPAS N(3,0) Operacijos tipas