Personalo atostogų atšaukimo operacijų dokumentų sukūrimas, koregavimas, trynimas.
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)method
: MGAMA_EDIT_K16_ATATS
params
:
oper
:I
- naujo įrašo sukūrimas (numatytasis)U
- dokumento koregavimasD
- dokumento ištrynimasdata
: 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"
}
}
}
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"
}
}
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><K16><num_row>1</num_row></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>
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>
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>
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>
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 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
$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);
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 |