Personalo atostogų 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_ATOST
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_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"
}
}
}
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"
}
}
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><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_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>
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_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
$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);
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 |