Pirkimų, pardavimų dokumento kopijavimas ir keitimas.
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_I06_KOP
data
: perduodami duomenys:
I06
- Pardavimo/pirkimo antraštė (i06) Kopijuojant ar keičiant dokumentą yra privalomi laukai: P_OPER
, OLD_I06_KODAS_PO
, NEW_I06_OP_TIP
ir NEW_I06_DOK_NR
.
Tagas | Aprašymas |
---|---|
P_OPER | 1 - kopijuoti, 2 - keisti. Privalomas |
OLD_I06_KODAS_PO | Operacijos numeris iš kurio bus daroma kopija arba koregavimas. Privalomas |
NEW_I06_OP_TIP | Operacijos tipas kaip ir I06_OP_TIP i06. Privalomas |
NEW_I06_DOK_NR | Dokumento numeris. Privalomas |
NEW_I06_OP_DATA | Nauja operacijos data kaip ir I06_OP_DATA i06 |
NEW_I06_DOK_DATA | Nauja dokumento data kaip ir I06_DOK_DATA i06 |
NEW_I07_KODAS_IS | Nurodomas visų detalių eilučių padalinys kaip ir I07_KODAS_IS i07 |
NEW_I07_KODAS_OS | Nurodomas visų detalių eilučių objektas kaip ir I07_KODAS_OS i07 |
NEW_I07_KODAS_OS_C | Nurodomas visų detalių eilučių centras kaip ir I07_KODAS_OS_C i07 |
NEW_I07_SERIJA | Nurodomas visų detalių eilučių serija kaip ir I07_SERIJA i07 |
errorAction | Klaidos parametras nurodantis koks veiksmas bus atliekamas įvykus klaidai dokumento kopijavimo / keitimo metu, kai yra sukuriama operacija (I06) ir gaunama klaida kopijuojant / keičiant detalias eilutes (I07, I08, I13). Parametras gali turėti tris reikšmes: EXIT, ROLLBACK, CONTINUE (default reikšmė). Reikšmė turi būti paduodama dydžiosiomis raidėmis! |
Jei Rvilės programoje dokumentas yra perkeltas tai jo keisti negalima.
Kai nurodoma bent viena NEW_I07 tago reikšmė, tuomet yra pakeičiami visų detalių eilučių laukai atitinkantis tuos tagus.
Pirmi 7 ApiKey simboliai (pvz USERABC.JQKPG1d7Pkjxj37ObsgdfEkvfEfvF1oL7h7UMOLo
-> USERABC
) yra vartotojo vardas Rivile GAMA programoje, kuriuo bus kuriami ar koreguojami įrašai.
Vienu metu veiksmai atliekami tik su vienu įrašu.
errorAction
reikšmė turi būti paduodama didžiosiomis raidėmis!
errorAction
reikšmių aprašymai:
Reikšmė | Aprašymas |
---|---|
ROLLBACK | Įvykus klaidai tolimesnės procedūros nebus vykdamos, bus ištrinamas dokumentas (I06) ir grąžinama klaida. |
EXIT | Įvykus klaidai tolimesnės procedūros nebus vykdamos, bus grąžinamas sukurtas dokumentas (I06) ir klaidų sąrašas. |
CONTINUE (default reikšmė) | Įvykus klaidai procedūros bus vykdamos iki pabaigos, o klaidos dedamos į sąrašą. Grąžinamas sukurtas dokumentas (I06) ir klaidų sąrašas pabaigoje. |
<body>
<method>EDIT_I06_KOP</method>
<data>
<I06>
<P_OPER>1</P_OPER><!-- 1 - kopijuoti, 2 - keisti -->
<OLD_I06_KODAS_PO>010000001293</OLD_I06_KODAS_PO>
<NEW_I06_OP_TIP>1</NEW_I06_OP_TIP>
<NEW_I06_DOK_NR>D20200409-6</NEW_I06_DOK_NR>
<NEW_I06_OP_DATA>2020-04-21</NEW_I06_OP_DATA>
<NEW_I07_KODAS_IS>02</NEW_I07_KODAS_IS>
<NEW_I07_KODAS_OS>OBJ01</NEW_I07_KODAS_OS>
<NEW_I07_KODAS_OS_C>CENT02</NEW_I07_KODAS_OS_C>
<NEW_I07_SERIJA>ABC123</NEW_I07_SERIJA>
<errorAction>CONTINUE</errorAction>
</I06>
</data>
</body>
{
"method": "EDIT_I06_KOP",
"data": {
"I06": {
"P_OPER": "1",
"OLD_I06_KODAS_PO": "010000001293",
"NEW_I06_OP_TIP": "1",
"NEW_I06_DOK_NR": "D20200409-6",
"NEW_I06_OP_DATA": "2020-04-21",
"NEW_I07_KODAS_IS": "02",
"NEW_I07_KODAS_OS": "OBJ01",
"NEW_I07_KODAS_OS_C": "CENT02",
"NEW_I07_SERIJA": "ABC123",
"errorAction": "CONTINUE"
}
}
}
<?xml version='1.0' encoding='UTF-8' ?>
<RET_DOK>
<I06>
<I06_KODAS_PO>010R00000038</I06_KODAS_PO>
<I06_OP_TIP>1</I06_OP_TIP>
<I06_VAL_POZ>0</I06_VAL_POZ>
<I06_PVM_TIP>0</I06_PVM_TIP>
<I06_OP_STORNO>0</I06_OP_STORNO>
<I06_DOK_NR>D20200409-7</I06_DOK_NR>
<I06_OP_DATA>2020-04-21T00:00:00</I06_OP_DATA>
<I06_DOK_DATA>2020-04-21T00:00:00</I06_DOK_DATA>
<I06_KODAS_MS></I06_KODAS_MS>
<I06_KODAS_KS>121411842</I06_KODAS_KS>
<I06_KODAS_SS></I06_KODAS_SS>
<I06_PAV>UAB "Rivilė"</I06_PAV>
<I06_ADR>Geležinio Vilko 5-48, Vilnius</I06_ADR>
<I06_ATSTOVAS></I06_ATSTOVAS>
<I06_KODAS_VS></I06_KODAS_VS>
<I06_PAV2>UAB "Rivilė"</I06_PAV2>
<I06_ADR2>Geležinio Vilko 5-48, Vilnius</I06_ADR2>
<I06_ADR3></I06_ADR3>
<I06_KODAS_VL></I06_KODAS_VL>
<I06_KODAS_XS>PVM</I06_KODAS_XS>
<I06_KODAS_SS_P></I06_KODAS_SS_P>
<I06_PASTABOS></I06_PASTABOS>
<I06_MOK_DOK></I06_MOK_DOK>
<I06_MOK_SUMA>0.00</I06_MOK_SUMA>
<I06_KODAS_SS_M></I06_KODAS_SS_M>
<I06_SUMA_VAL>0.00</I06_SUMA_VAL>
<I06_SUMA>9.00</I06_SUMA>
<I06_SUMA_PVM>1.89</I06_SUMA_PVM>
<I06_KURSAS>0.000000000000000</I06_KURSAS>
<I06_PERKELTA>1</I06_PERKELTA>
<I06_ADDUSR>B1NOONQ</I06_ADDUSR>
<I06_R_DATE>2020-04-21T21:17:49</I06_R_DATE>
<I06_USERIS>B1NOONQ </I06_USERIS>
<I06_KODAS_AU></I06_KODAS_AU>
<I06_KODAS_SM></I06_KODAS_SM>
<I06_INTRASTAT>0</I06_INTRASTAT>
<I06_KODAS_AK></I06_KODAS_AK>
<I06_SUMA_WK>-10.89</I06_SUMA_WK>
<I06_VAL_POZ_PVM>0</I06_VAL_POZ_PVM>
<I06_PVM_VAL>0.00</I06_PVM_VAL>
<I06_WEB_POZ>0</I06_WEB_POZ>
<I06_WEB_ATAS></I06_WEB_ATAS>
<I06_WEB_PERKELTA>1</I06_WEB_PERKELTA>
<I06_WEB_PERKELTA_I>1</I06_WEB_PERKELTA_I>
<I06_BUSENA>1</I06_BUSENA>
<i06_pvm_skol>1</i06_pvm_skol>
</I06>
</RET_DOK>
Klaida paduodant duomenis / SQL sintaksės klaidos / kitos duomenų klaidos
<?xml version='1.0' encoding='UTF-8'?>
<RET_DOK>
<id>21313695680.1594f9da.1587494227502</id>
<durationMs>11</durationMs>
<errorMessage>nepavyko įvykdyti metodo</errorMessage>
<errors>
<error>
<data><I06><OLD_I06_KODAS_PO>01000000129</OLD_I06_KODAS_PO><NEW_I06_OP_DATA>2020-04-21</NEW_I06_OP_DATA><NEW_I07_SERIJA>ABC123</NEW_I07_SERIJA><NEW_I06_OP_TIP>1</NEW_I06_OP_TIP><NEW_I07_KODAS_IS>02</NEW_I07_KODAS_IS><USERIS>M</USERIS><NEW_I07_KODAS_OS>OBJ01</NEW_I07_KODAS_OS><P_OPER>1</P_OPER><NEW_I06_DOK_NR>D20200409-7</NEW_I06_DOK_NR><NEW_I07_KODAS_OS_C>CENT02</NEW_I07_KODAS_OS_C></I06></data>
<dataErrors>
<dataError>
<tag>I07_KODAS_PO</tag>
<code>21001</code>
<message>Nėra operacijos</message>
</dataError>
<dataError>
<tag>I06_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>
<?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, '{
"method": "EDIT_I06_KOP",
"data": {
"I06": {
"P_OPER": "1",
"OLD_I06_KODAS_PO": "010000001293",
"NEW_I06_OP_TIP": "1",
"NEW_I06_DOK_NR": "D20200409-6",
"NEW_I06_OP_DATA": "2020-04-21",
"NEW_I07_KODAS_IS": "02",
"NEW_I07_KODAS_OS": "OBJ01",
"NEW_I07_KODAS_OS_C": "CENT02",
"NEW_I07_SERIJA": "ABC123"
}
}
}');
$response = curl_exec($ch);
curl_close($ch);