Naujos inventorizacijos operacijos sukūrimas (kartu su papildoma informacija)
Informacija apie autorizaciją, bendruosius parametrus ir klaidų kodus: Rivile API v2 naudojimo pagrindai
method : EDIT_I47_FULLparams :
errorAction - klaidos parametras nurodantis koks veiksmas bus atliekamas įvykus klaidai papildomos informacijos formavimo metu, kai yra sukuriamas darbuotojas (I45) ir gaunama klaida vykdant veiksmus su papildomos informacijos eilutėmis (I46). Parametras gali turėti tris reikšmes: EXIT, CONTINUE, ROLLBACK (default reikšmė). Reikšmė turi būti paduodama dydžiosiomis raidėmis!user - vartotojo vardas (naudojamas dokumentų skaitliukams, parametrams ir kt.), veikia tik rakto prefix'ui įjungus parametrą RGI_USR_EDITdata: perduodami duomenys:
errorAction reikšmė turi būti paduodama didžiosiomis raidėmis!
errorAction reikšmių aprašymai:
| Reikšmė | Aprašymas |
|---|---|
| ROLLBACK (default reikšmė) | Įvykus klaidai tolimesnės procedūros nebus vykdamos, bus ištrinamas dokumentas (I47) ir grąžinama klaida. Klaidos statusas 400 |
| EXIT | Įvykus klaidai tolimesnės procedūros nebus vykdamos, bus grąžinamas sukurtas dokumentas (I47) ir klaidų sąrašas. Klaidos statusas 207 |
| CONTINUE | Įvykus klaidai procedūros bus vykdamos iki pabaigos, o klaidos dedamos į sąrašą. Grąžinamas sukurtas dokumentas (I47) ir klaidų sąrašas pabaigoje. Klaidos statusas 207 |
pvz application/xml:
<body>
<method>EDIT_I47_FULL</method>
<params>
<oper>I</oper>
</params>
<data>
<I47>
<I47_KODAS_IV>000R00000001</I47_KODAS_IV>
<I48>
<I48_KODAS_PS>001</I48_KODAS_PS>
</I48>
<I48>
<I48_KODAS_PS>002</I48_KODAS_PS>
</I48>
</I47>
</data>
</body>
pvz application/json:
{
"method": "EDIT_I47_FULL",
"params": {
"errorAction": "CONTINUE"
},
"data": {
"I47": {
"I47_KODAS_IV": "000R00000001",
"I48": [
{
"I48_KODAS_PS": "001"
},
{
"I48_KODAS_PS": "002"
}
]
}
}
}
Grąžinama informacija XML formate tarp tag'ų <RET_DOK>..</RET_DOK>.
pvz:
<RET_DOK>
<I47>
<Row_number>1</Row_number>
<I47_KODAS_IF>000R00000086</I47_KODAS_IF>
<I47_KODAS_IV>000R00000085</I47_KODAS_IV>
<I47_KODAS_IS>999999999999</I47_KODAS_IS>
<I47_OP_DATA>2025-01-09T00:00:00</I47_OP_DATA>
<I47_PASTABOS> </I47_PASTABOS>
<I47_PERKELTA>1</I47_PERKELTA>
<I47_USERIS>abcdef </I47_USERIS>
<I47_R_DATE>2025-01-09T08:52:45</I47_R_DATE>
<I47_ADDUSR>abcdef </I47_ADDUSR>
<I47_KODAS_SM> </I47_KODAS_SM>
<I47_BUSENA>1</I47_BUSENA>
<I48_IVFD>
<I48>
<I48_KODAS_IF>000R00000086</I48_KODAS_IF>
<I48_EIL_NR>1</I48_EIL_NR>
<I48_KODAS_PS>001 </I48_KODAS_PS>
<I48_PAV>Prekė 001 </I48_PAV>
<I48_KODAS_US>VNT </I48_KODAS_US>
<I48_FRAKCIJA>1</I48_FRAKCIJA>
<I48_KIEKIS>1</I48_KIEKIS>
<I48_KAINA>15.0000</I48_KAINA>
<I48_KODAS_OS> </I48_KODAS_OS>
<I48_SERIJA> </I48_SERIJA>
<I48_USERIS>abcdef </I48_USERIS>
<I48_R_DATE>2025-01-09T08:52:46</I48_R_DATE>
<I48_ADDUSR>abcdef </I48_ADDUSR>
</I48>
<I48>
<I48_KODAS_IF>000R00000086</I48_KODAS_IF>
<I48_EIL_NR>2</I48_EIL_NR>
<I48_KODAS_PS>002 </I48_KODAS_PS>
<I48_PAV>Stalas </I48_PAV>
<I48_KODAS_US>VNT </I48_KODAS_US>
<I48_FRAKCIJA>1</I48_FRAKCIJA>
<I48_KIEKIS>1</I48_KIEKIS>
<I48_KAINA>10.0000</I48_KAINA>
<I48_KODAS_OS> </I48_KODAS_OS>
<I48_SERIJA> </I48_SERIJA>
<I48_USERIS>abcdef </I48_USERIS>
<I48_R_DATE>2025-01-09T08:52:46</I48_R_DATE>
<I48_ADDUSR>abcdef </I48_ADDUSR>
</I48>
</I48_IVFD>
</I47>
</RET_DOK>
207 statusas gaunamas, kai procedūros yra vykdamos perduodant parametrą errorAction su reikšme EXIT arba CONTINUE ir gaunama klaida kažkurioje iš procedūrų, pvz.:
<RET_DOK>
<I47>
<I47_KODAS_IF>000R00000095</I47_KODAS_IF>
<I47_KODAS_IV>000R00000090</I47_KODAS_IV>
<I47_KODAS_IS>999999999999</I47_KODAS_IS>
<I47_OP_DATA>2025-01-09T00:00:00</I47_OP_DATA>
<I47_PASTABOS> </I47_PASTABOS>
<I47_PERKELTA>1</I47_PERKELTA>
<I47_USERIS>abcdef </I47_USERIS>
<I47_R_DATE>2025-01-09T09:45:02</I47_R_DATE>
<I47_ADDUSR>abcdef </I47_ADDUSR>
<I47_KODAS_SM> </I47_KODAS_SM>
<I47_BUSENA>1</I47_BUSENA>
<I48>
<I48_KODAS_IF>000R00000095</I48_KODAS_IF>
<I48_EIL_NR>1</I48_EIL_NR>
<I48_KODAS_PS>002 </I48_KODAS_PS>
<I48_PAV> </I48_PAV>
<I48_KODAS_US>VNT </I48_KODAS_US>
<I48_FRAKCIJA>1</I48_FRAKCIJA>
<I48_KIEKIS>0</I48_KIEKIS>
<I48_KAINA>0.0000</I48_KAINA>
<I48_KODAS_OS> </I48_KODAS_OS>
<I48_SERIJA> </I48_SERIJA>
<I48_USERIS>abcdef </I48_USERIS>
<I48_R_DATE>2025-01-09T09:45:02</I48_R_DATE>
<I48_ADDUSR>abcdef </I48_ADDUSR>
</I48>
<I48>
<I48_KODAS_IF>000R00000095</I48_KODAS_IF>
<I48_EIL_NR>2</I48_EIL_NR>
<I48_KODAS_PS>001 </I48_KODAS_PS>
<I48_PAV>Prekė 001 </I48_PAV>
<I48_KODAS_US>VNT </I48_KODAS_US>
<I48_FRAKCIJA>1</I48_FRAKCIJA>
<I48_KIEKIS>1</I48_KIEKIS>
<I48_KAINA>15.0000</I48_KAINA>
<I48_KODAS_OS> </I48_KODAS_OS>
<I48_SERIJA> </I48_SERIJA>
<I48_USERIS>abcdef </I48_USERIS>
<I48_R_DATE>2025-01-09T09:45:02</I48_R_DATE>
<I48_ADDUSR>abcdef </I48_ADDUSR>
</I48>
</I47>
<errors>
<error>
<data><I48><num_row>2</num_row><I48_KODAS_PS>0025</I48_KODAS_PS></I48></data>
<dataErrors>
<dataError>
<tag>I48_KODAS_PS</tag>
<code>19014</code>
<message>Nerastas prekės/paslaugos kodas</message>
</dataError>
<dataError>
<tag>I48_KODAS_US</tag>
<code>5030</code>
<message>Nenurodytas matavimo vienetas</message>
</dataError>
</dataErrors>
</error>
</errors>
</RET_DOK>
Klaida paduodant duomenis / SQL sintaksės klaidos / kitos duomenų klaidos
<?xml version='1.0' encoding='UTF-8'?>
<RET_DOK>
<id>4641133481.0bc3bb43.1736408738735</id>
<durationMs>52</durationMs>
<errorMessage>Nepavyko įvykdyti metodo</errorMessage>
<document/>
<errors>
<error>
<data><I48><num_row>2</num_row><I48_KODAS_PS>0025</I48_KODAS_PS></I48></data>
<dataErrors>
<dataError>
<tag>I48_KODAS_PS</tag>
<code>19014</code>
<message>Nerastas prekės/paslaugos kodas</message>
</dataError>
<dataError>
<tag>I48_KODAS_US</tag>
<code>5030</code>
<message>Nenurodytas matavimo vienetas</message>
</dataError>
</dataErrors>
</error>
</errors>
</RET_DOK>
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'ApiKey: AAAAA.12345',
'Content-Type: application/json',
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, '{
"method": "EDIT_I47_FULL",
"params": {
"errorAction": "CONTINUE"
},
"data": {
"I47": {
"I47_KODAS_IV": "000R00000001",
"I48": [
{
"I48_KODAS_PS": "001"
},
{
"I48_KODAS_PS": "002"
}
]
}
}
}');
$response = curl_exec($ch);
curl_close($ch);
Nuoroda į lentelės aprašymą: I47
Nuoroda į lentelės aprašymą: I48