Debitorinių/Kreditorinių operacijų detalios informacijos koregavimas
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
: EDIT_I32
params
:
oper
:
I
- naujo įrašo sukūrimasU
- įrašo koregavimasD
- įrašo ištrynimasdata
: perduodami duomenys:
I32
- atitinkamos lentelės laukai (i32) 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.
Koreguoti galima tik to paties API vartotojo sukurtas operacijas. Teisės valdomos parametru RGI_ALL_EDIT
Yra galimybė dirbti su papildomomis dimensijomis, jeigu tokios naudojamos Rivile GAMA sistemoje. Tam naudojami tag'ai <I49_DIM01> ... <I49_DIM15>
Jegu dirbama su rinkinias, tuomet <I32_KODAS_OS>
atitinka rinkinio kodą. Taip pat yra galimybė rinkinio kodą paduoti dalimis - tam naudojami tag'ai <K45_RIN01> ... <K45_RIN15>
. Jeigu bus paduotI ir <I32_KODAS_OS>
ir <K45_RIN01> ... <K45_RIN15>
tag'ai, aukštesnį prioritetą turi <I32_KODAS_OS>
. Rinkinio kodo iš anksto kurti nereikia, jis bus sukurtas automatiškai.
Norint atnaujinti rinkinio kodą, naujas kodas pateikiamas naudojant tag'ą <I32_KODAS_OS>
. Jeigu norima naują rinkinio kodą paduoti dalimis - būtina paduoti tuščią tagą <I32_KODAS_OS>
ir tada atskiras dalis naudojant tag'us <K45_RIN01> ... <K45_RIN15>
.
pvz application/xml
:
<body>
<method>EDIT_I32</method>
<params>
<oper>I</oper>
</params>
<data>
<I32>
<I32_KODAS_KR>000R00000005</I32_KODAS_KR>
<I32_KODAS_KS>121411842</I32_KODAS_KS>
<I32_KODAS_SS_K>271</I32_KODAS_SS_K>
<I32_KODAS_SS>4430</I32_KODAS_SS>
<I32_DOK_NR>DOK0051</I32_DOK_NR>
</I32>
</data>
</body>
pvz application/json
:
{
"method": "EDIT_I32",
"params": {
"errorAction": "CONTINUE"
},
"data": {
"I32": {
"I32_KODAS_KR": "000R00000005",
"I32_KODAS_KS": "121411842",
"I32_KODAS_SS_K": "271",
"I32_KODAS_SS": "4430",
"I32_DOK_NR": "DOK0052"
}
}
}
Grąžinama informacija XML formate tarp tag'ų <RET_DOK>..</RET_DOK>
.
pvz:
<?xml version='1.0'?>
<RET_DOK>
<i32>
<I32_KODAS_KR>000R00000005</I32_KODAS_KR>
<I32_EIL_NR>1</I32_EIL_NR>
<I32_KODAS_KS>121411842 </I32_KODAS_KS>
<I32_KODAS_SS>4430 </I32_KODAS_SS>
<I32_DOK_NR>DOK0051 </I32_DOK_NR>
<I32_OP_DOK> </I32_OP_DOK>
<I32_OP_TIPAS>1</I32_OP_TIPAS>
<I32_DOK_DATA>2022-07-20T00:00:00</I32_DOK_DATA>
<I32_NUO_DATA>2022-07-20T00:00:00</I32_NUO_DATA>
<I32_NUO_PROC>0.00</I32_NUO_PROC>
<I32_MOK_DATA>2022-07-20T00:00:00</I32_MOK_DATA>
<I32_KODAS_IS> </I32_KODAS_IS>
<I32_KODAS_OS> </I32_KODAS_OS>
<I32_KODAS_OS_C> </I32_KODAS_OS_C>
<I32_KODAS_MS> </I32_KODAS_MS>
<I32_DEB_SUMA>0.00</I32_DEB_SUMA>
<I32_CRE_SUMA>0.00</I32_CRE_SUMA>
<I32_PVM>0.00</I32_PVM>
<I32_KODAS_VL>EUR </I32_KODAS_VL>
<I32_SUMA_VAL>0.00</I32_SUMA_VAL>
<I32_KODAS_SS_K>271 </I32_KODAS_SS_K>
<I32_SAVIKAINA>0.00</I32_SAVIKAINA>
<I32_PERKELTA>1</I32_PERKELTA>
<I32_USERIS>XXAW2VW </I32_USERIS>
<I32_ADDUSR>XXAW2VW </I32_ADDUSR>
<I32_R_DATE>2022-07-20T17:46:38</I32_R_DATE>
<I32_KODAS_KT> </I32_KODAS_KT>
<I32_KODAS_K0> </I32_KODAS_K0>
<I32_SUMA_WK>0.00</I32_SUMA_WK>
</i32>
</RET_DOK>
Klaida paduodant duomenis / SQL sintaksės klaidos / kitos DB klaidos
<?xml version='1.0' encoding='UTF-8'?>
<?xml version='1.0' encoding='UTF-8'?>
<RET_DOK>
<id>615386280.df9eb1f2.1658328645064</id>
<durationMs>15</durationMs>
<errorMessage>Nepavyko įvykdyti metodo</errorMessage>
<document/>
<errors>
<error>
<data><I32><I32_KODAS_KS>121411842eeeee</I32_KODAS_KS><I32_KODAS_SS_K>271</I32_KODAS_SS_K><I32_KODAS_KR>000R00000005</I32_KODAS_KR><I32_KODAS_SS>4430</I32_KODAS_SS><I32_DOK_NR>DOK0051</I32_DOK_NR></I32></data>
<dataErrors>
<dataError>
<tag>I32_KODAS_KS</tag>
<code>2001</code>
<message>Nėra tokio kliento</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>
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>
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, išmetimas vyksta pagal lentelės raktą (Primary Key)
Koreguojant informaciją bus koreguojami tik perduodami laukai.
pvz koregavimas:
<body>
<method>EDIT_I32</method>
<params>
<oper>U</oper>
</params>
<data>
<I32>
<I32_KODAS_KR>000R00000005</I32_KODAS_KR>
<I32_EIL_NR>1</I32_EIL_NR>
<I32_DOK_NR>DOK55555</I32_DOK_NR>
</I32>
</data>
</body>
pvz išmetimas:
<body>
<method>EDIT_I32</method>
<params>
<oper>D</oper>
</params>
<data>
<I32>
<I32_KODAS_KR>000R00000005</I32_KODAS_KR>
<I32_EIL_NR>1</I32_EIL_NR>
</I32>
</data>
</body>
<body>
<method>EDIT_I32</method>
<params>
<oper>U</oper>
</params>
<data>
<I32>
<I32_KODAS_KR>000R00000005</I32_KODAS_KR>
<I32_EIL_NR>1</I32_EIL_NR>
<K45_RIN01>RINKINYS</K45_RIN01>
</I32>
</data>
</body>
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'ApiKey: uUCz6UD.sKVrjaWRDJAH1c7l4qL2nOoN2K0jARkvuHDdYsss',
'Content-Type: application/json',
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
$response = curl_exec($ch);
curl_close($ch);
Nuoroda į lentelės aprašymą: I32