EDIT_I20_FULL

Aprašymas

Naujos perkainavimo operacijos sukūrimas (kartu su detaliomis eilutėmis)

Specifikacija

Informacija apie autorizaciją, bendruosius parametrus ir klaidų kodus: Rivile API v2 naudojimo pagrindai

Body
  • method : EDIT_I20_FULL
  • params :
    • errorAction - klaidos parametras nurodantis koks veiksmas bus atliekamas įvykus klaidai perkainavimo operacijos formavimo metu, kai yra sukuriama operacija (I20) ir gaunama klaida vykdant veiksmus su detaliomis eilutėmis (I21, I28, I29, I34, I14). 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_EDIT
  • data: perduodami duomenys:
    • I20 - atitinkamos lentelės laukai (i20)
    • I21 - atitinkamos lentelės laukai (i21)
    • I28 - atitinkamos lentelės laukai (i28)
    • I29 - atitinkamos lentelės laukai (i29)
    • I34 - atitinkamos lentelės laukai (i34)
    • I14 - atitinkamos lentelės laukai (i14)

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 (I20) ir grąžinama klaida. Klaidos statusas 400
EXIT Įvykus klaidai tolimesnės procedūros nebus vykdamos, bus grąžinamas sukurtas dokumentas (I20) 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 (I20) ir klaidų sąrašas pabaigoje. Klaidos statusas 207
XML request
<body>
    <method>EDIT_I20_FULL</method>
    <params>
        <errorAction>CONTINUE</errorAction>
    </params>
    <data>
        <I20>
            <I20_TIPAS>1</I20_TIPAS>
            <I20_OP_DATE>2024.01.01</I20_OP_DATE>
            <I20_DOK_NR>PERK001</I20_DOK_NR>
            <I20_KODAS_IS>01</I20_KODAS_IS>
            <I21>
                <I21_KODAS_PS>PREKE1</I21_KODAS_PS>
                <I21_KAINA_N>1.1900</I21_KAINA_N>
            </I21>
            <I21>
                <I21_KODAS_PS>PREKE2</I21_KODAS_PS>
                <I21_KAINA_N>1.0900</I21_KAINA_N>
            </I21>
        </I20>    
    </data>
</body>
JSON request
{
    "method": "EDIT_I20_FULL",
    "params": {
        "errorAction": "CONTINUE"
    },
    "data": {
        "I20": {
            "I20_TIPAS": 1,
            "I20_OP_DATE": "2024.01.01",
            "I20_DOK_NR": "PERK001",
            "I20_KODAS_IS": "01",
            "I21":[
                {
                "I21_KODAS_PS": "PREKE1",
                "I21_KAINA_N": 1.19
                },
                {
                "I21_KODAS_PS": "PREKE2",
                "I21_KAINA_N": 1.09
                }
            ]
        }
    }
}
Response (status 200 OK)
XML response
<RET_DOK>
    <I20>
        <I20_KODAS_PK>010R00000001</I20_KODAS_PK>
        <I20_DOK_NR>PERK001</I20_DOK_NR>
        <I20_TIPAS>1</I20_TIPAS>
        <I20_OP_DATE>2024-01-01T00:00:00</I20_OP_DATE>
        <I20_APRAS></I20_APRAS>
        <I20_KODAS_IS>01</I20_KODAS_IS>
        ...
        <I21_PERD>
            <I21>
                <I21_KODAS_PK>010R00000001</I21_KODAS_PK>
                <I21_EIL_NR>1</I21_EIL_NR>
                <I21_KODAS_PS>PREKE1</I21_KODAS_PS>
                <I21_KODAS_US>VNT</I21_KODAS_US>
                ...
            </I21>
            <I21>
                <I21_KODAS_PK>010R00000001</I21_KODAS_PK>
                <I21_EIL_NR>2</I21_EIL_NR>
                <I21_KODAS_PS>PREKE2</I21_KODAS_PS>
                <I21_KODAS_US>VNT</I21_KODAS_US>
                ...
            </I21>
        </I21_PERD>
    </I20>
</RET_DOK>
Response (status 207)

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>
    <I20>
        <I20_KODAS_PK>010R00000001</I20_KODAS_PK>
        <I20_DOK_NR>PERK001</I20_DOK_NR>
        <I20_TIPAS>1</I20_TIPAS>
        <I20_OP_DATE>2024-01-01T00:00:00</I20_OP_DATE>
        <I20_APRAS></I20_APRAS>
        <I20_KODAS_IS>01          </I20_KODAS_IS>
        ...
        <I21_PERD>
            <I21>
                <I21_KODAS_PK>010R00000001</I21_KODAS_PK>
                <I21_EIL_NR>1</I21_EIL_NR>
                <I21_KODAS_PS>PREKE1</I21_KODAS_PS>
                <I21_KODAS_US>VNT</I21_KODAS_US>
                ...
            </I21>
        </I21_PERD>
    </I20>
    <errors>
        <error>
            <data>&lt;I21>&lt;num_row>1&lt;/num_row>&lt;i21_kaina_n>1.1900&lt;/i21_kaina_n>&lt;i21_kodas_ps>PREKES_NERA&lt;/i21_kodas_ps>&lt;/I21></data>
            <dataErrors>
                <dataError>
                    <tag>I21_KODAS_PS</tag>
                    <code>19014</code>
                    <message>Nerastas prekės/paslaugos kodas</message>
                </dataError>
            </dataErrors>
        </error>
    </errors>
</RET_DOK>
Response (status 400)

Klaida paduodant duomenis / SQL sintaksės klaidos / kitos duomenų klaidos

<?xml version='1.0' encoding='UTF-8'?>
<RET_DOK>
    <id/>
    <durationMs>0</durationMs>
    <errorMessage>Nepavyko įvykdyti metodo</errorMessage>
    <document/>
    <errors>
        <error>
            <data>&lt;I20>&lt;i20_op_date>2024-01-01T00:00:00&lt;/i20_op_date>&lt;i20_tipas>1&lt;/i20_tipas>&lt;i20_dok_nr>PERK001&lt;/i20_dok_nr>&lt;i20_kodas_is>0100000&lt;/i20_kodas_is>&lt;/I20></data>
            <dataErrors>
                <dataError>
                    <tag>I20_KODAS_IS</tag>
                    <code>34015</code>
                    <message>Nerastas padalinio kodas</message>
                </dataError>
            </dataErrors>
        </error>
    </errors>
</RET_DOK>

Lentelės

I20

Nuoroda į lentelės aprašymą: i20

I21

Nuoroda į lentelės aprašymą: i21

I28

Nuoroda į lentelės aprašymą: i28

I29

Nuoroda į lentelės aprašymą: i29

I34

Nuoroda į lentelės aprašymą: i34

I14

Nuoroda į lentelės aprašymą: i14