EDIT_A07

Aprašymas

Darbuotojo padalinių koregavimas.

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 : EDIT_A07
  • params :
    • oper :
      • I - naujo įrašo sukūrimas
      • U - įrašo koregavimas
      • D - įrašo ištrynimas
  • data: perduodami duomenys:
    • A07 - atitinkamos lentelės laukai (A07)

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.

Kadangi darbuotojų kortelėse gali būti saugoma konfidenciali informacija, jau egzistuojančių įrašų nuskaitymui ir koregavimui būtinas papildomas leidimas per Rivile Gama parametrą RGI_A06_FIL. Šiame parametre įvedamas papildomas filtravimas, galimų reikšmių pavyzdžiai: 1=1 (visos darbuotojų kortelės), A06_KODAS_LS_1='L1' (tik darbuotojų kortelės su pirmu logistikos kodu 'L1'). Filtravimo sąlygose galima naudoti visus lentelių A06, A07 ir A08 laukus.

pvz application/xml:

<body>
    <method>EDIT_A07</method>
    <params>
        <oper>I</oper>
    </params>
    <data>
        <A07>
            <A07_KODAS_TB>TST01       </A07_KODAS_TB>
            <A07_KODAS_IS>999999999999</A07_KODAS_IS>
            <A07_PAREIGOS>Darbuotojas</A07_PAREIGOS>
            <A07_KODAS_LA>S_SISTEMINIS</A07_KODAS_LA>
            <A07_KODAS_DS>AL001</A07_KODAS_DS>
            <A07_TIPAS></A07_TIPAS>
            <A07_KVAL></A07_KVAL>
            <A07_TB_FOR></A07_TB_FOR>
            <A07_V_KAL></A07_V_KAL>
            <A07_PASTABOS></A07_PASTABOS>
            <A07_KODAS_LE></A07_KODAS_LE>
            <a07_sk_virsv>0</a07_sk_virsv>
        </A07>
    </data>
</body>

pvz application/json:

{
    "method": "EDIT_A07",
    "params": {
        "oper": "I"
    },
    "data": {
        "A07": {
            "A07_KODAS_TB": "TST01",
            "A07_KODAS_IS": "999999999999",
            "A07_PAREIGOS": "Darbuotojas",
            "A07_KODAS_LA": "S_SISTEMINIS",
            "A07_KODAS_DS": "AL001",
            "A07_TIPAS": "",
            "A07_KVAL": "",
            "A07_TB_FOR": "",
            "A07_V_KAL": "",
            "A07_PASTABOS": "",
            "A07_KODAS_LE": "",
            "a07_sk_virsv": "0"
        }
    }
}
Response (status 200 OK)

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

pvz:

<RET_DOK>
    <A07>
        <A07_KODAS_TB>TST01       </A07_KODAS_TB>
        <A07_KODAS_IS>999999999999</A07_KODAS_IS>
        <A07_PAREIGOS>Darbuotojas                                                 </A07_PAREIGOS>
        <A07_KODAS_LA>S_SISTEMINIS</A07_KODAS_LA>
        <A07_KODAS_DS>AL001       </A07_KODAS_DS>
        <A07_TIPAS>1</A07_TIPAS>
        <A07_KVAL>1</A07_KVAL>
        <A07_TB_FOR>0</A07_TB_FOR>
        <A07_V_KAL>1</A07_V_KAL>
        <A07_PASTABOS> </A07_PASTABOS>
        <A07_USERIS>AAAAAAA     </A07_USERIS>
        <A07_R_DATE>2024-10-29T08:59:11</A07_R_DATE>
        <A07_KODAS_LE>555         </A07_KODAS_LE>
        <a07_sk_virsv>0</a07_sk_virsv>
    </A07>
</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>4641133481.8ec4537a.1716271246499</id>
    <durationMs>569</durationMs>
    <errorMessage>Nepavyko įvykdyti metodo</errorMessage>
    <document/>
    <errors>
        <error>
            <data>&lt;A07>&lt;/A07></data>
            <dataErrors>
                <dataError>
                    <tag>A07_KODAS_IS</tag>
                    <code>552159</code>
                    <message>Toks darbuotojo padalinys jau yra</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 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>
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_A07</method>
    <params>
        <oper>U</oper>
    </params>
    <data>
            <A07>
                <A07_KODAS_TB>TST01</A07_KODAS_TB>
                <A07_KODAS_IS>999999999999</A07_KODAS_IS>
                <A07_PASTABOS>Koreguota informacija</A07_PASTABOS>
            </A07>
    </data>
</body>

pvz išmetimas:

<body>
    <method>EDIT_A07</method>
    <params>
        <oper>D</oper>
    </params>
    <data>
        <A07>
            <A07_KODAS_TB>TST01</A07_KODAS_TB>
            <A07_KODAS_IS>999999999999</A07_KODAS_IS>
        </A07>
    </data>
</body>

PHP pvz

<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
      'ApiKey: 9999999.12345678910',
      'Content-Type: application/json',
      ]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{
        "method": "EDIT_A07",
        "params": {
            "oper": "I"
        },
        "data": {
            "A07": {
                "A07_KODAS_TB": "TST01",
                "A07_KODAS_IS": "999999999999",
                "A07_PAREIGOS": "Darbuotojas",
                "A07_KODAS_LA": "S_SISTEMINIS",
                "A07_KODAS_DS": "AL001"
            }
    }
    }');
$response = curl_exec($ch);
curl_close($ch);

Lentelės

A07

Darbuotojo padalinių informacija

Laukas Tipas Aprašymas
A07_KODAS_TB char(12) Tabelinis Nr.
A07_KODAS_IS char(12) Padalinys
A07_PAREIGOS char(60) Pareigų pavadinimas
A07_KODAS_LA char(12) Kalendorius
A07_KODAS_DS char(12) Sąskaitų ryšys.
A07_TIPAS numeric(1,0) Tipas: 1-tarnautojas; 2-darbuotojas.
A07_KVAL numeric(1,0) Kvalifikacijos grupė
A07_TB_FOR numeric(1,0) Tabelio formavimas: 0-formuoti,1-ne
A07_V_KAL numeric(1,0) Įtraukti į kalendoriaus laiko vidurkį:1-taip 0-ne
A07_PASTABOS varchar(max) Pastabos
A07_USERIS char(12) Kas koregavo
A07_R_DATE datetime Kada koregavo
A07_KODAS_LE char(12) Pareigos
A07_APRASYMAS1 char(150) Aprašymas 1
A07_APRASYMAS2 char(150) Aprašymas 2
A07_APRASYMAS3 char(150) Aprašymas 3
A07_APRASYMAS4 char(150) Aprašymas 4
A07_SK_VIRSV numeric(1,0) Skaičiuoti viršvalandžius: 0-ne; 1-taip