EDIT_PAP

Aprašymas

Papildomų laukų koregavimas

Specifikacija

Address

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)
Body
  • method : EDIT_PAP
  • data: perduodami duomenys:
    • PAP :
    • forma: formos adresas, šį adresą galima sužinoti Rivilėje per papildomų laukų koregavimą. Koreguoti papildomu laukus galima tik prisijungus į Rivilės programą su MASTER vartotoju ir ant papildomų laukų mygtuko paspaudus dešinį pelės klavišą Šablono koregavimas. Pvz.: klientų sąrašo N08 papildomų laukų formos adresas yra KSN08
    • kodas1: raktas pagal kurį žinome, kurio įrašo papildomus laukus koreguoti. Raktų kiekis priklauso nuo formų, gali būti nuo 1 iki 5 raktų. Pvz.: klientų forma turi tik vieną raktą, todėl kodas2, kodas3, kodas4, kodas5 perduoti nereikia
    • kodas2: raktas, privalomas ar ne, priklauso nuo formos raktų kiekio
    • kodas3: raktas, privalomas ar ne, priklauso nuo formos raktų kiekio
    • kodas4: raktas, privalomas ar ne, priklauso nuo formos raktų kiekio
    • kodas5: raktas, privalomas ar ne, priklauso nuo formos raktų kiekio
    • papXML: perduodama papildomų laukų informacija XML formate. Privaloma perduoti lauko name arba id, nes pagal šiuos raktus atpažįstamas laukas.

papXML pvz:

<![CDATA[
    <lpap>
        <pap>
            <id>1</id> <!-- Lauko eilės numeris -->
            <value>Testas</value>
        </pap>
        <pap>
            <name>Skola</name> <!-- Lauko pavadinimas -->
            <value>100.55</value>
        </pap>
    </lpap>
]]>

!Pateiktame papXML pavyzdyje pateikiami du galimi lauko atpažinimo būdai pagal name ir id

pvz application/xml:

<body>
    <method>EDIT_PAP</method>
    <data>
        <PAP>
            <forma>KSN08</forma>
            <kodas1>121411842</kodas1>
            <papXML>
                <![CDATA[
                    <lpap>
                        <pap>
                            <id>1</id>
                            <value>Testas</value>
                        </pap>
                        <pap>
                            <name>Skola</name>
                            <value>100.55</value>
                        </pap>
                    </lpap>
                ]]>
            </papXML>
        </PAP>
    </data>
</body>

pvz application/json:

{
    "method": "EDIT_PAP",
    "data": {
        "PAP": {
            "forma": "KSN08",
            "kodas1": "121411842",
            "papXML": "<lpap><pap><id>1</id><value>Testas</value></pap><pap><name>Skola</name><value>100.55</value></pap></lpap>"
        } 
    }
}

Prekių kortelių papildomų laukų koregavimo atveju reikia nurodyti formos adresą PSN17, raktas taip pat vienas kodas1, jo reikšmė yra prekės kodas. Laukai naujinami pagal name arba id tag'ą papXML parametre

Response (status 200 OK)

Grąžinama informacija XML formate tarp tag'ų <RET_DOK>..</RET_DOK>. Jeigu įrašų nerasta pagal užduotas sąlygas, tuomet gražinama status=200 bei tuščias tag'as

<?xml version='1.0' encoding='UTF-8' ?>
<RET_DOK>
    <lpap>
        <forma>KSN08       </forma>
        <kodas1>121411842   </kodas1>
        <pap>
            <id>1</id>
            <name>Vardas</name>
            <value>Testas</value>
            <type>C</type>
            <mask>XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</mask>
        </pap>
        <pap>
            <id>2</id>
            <name>Skola</name>
            <value>100.55</value>
            <type>N</type>
            <mask>9999999999.99</mask>
        </pap>
        <pap>
            <id>3</id>
            <name>Data</name>
            <value>2020.06.15</value>
            <type>D</type>
            <mask></mask>
        </pap>
        <pap>
            <id>4</id>
            <name>Data laikas</name>
            <value>2020.06.15 12:30</value>
            <type>T</type>
            <mask></mask>
        </pap>
        <pap>
            <id>5</id>
            <name>Prekė</name>
            <value>1           </value>
            <type>C</type>
            <mask>!!!!!!!!!!!!</mask>
        </pap>
        <pap>
            <id>6</id>
            <name>Ilgas tekstas</name>
            <value>Ilgas testas tekstas</value>
            <type>M</type>
            <mask></mask>
        </pap>
        <pap>
            <id>7</id>
            <name>Pasirinkimas</name>
            <value>1</value>
            <type>R</type>
            <mask>Vilnius,Kaunas</mask>
        </pap>
        <pap>
            <id>8</id>
            <name>Varnelė</name>
            <value>1</value>
            <type>L</type>
            <mask></mask>
        </pap>
    </lpap>
</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>21313695680.d774aad8.1592560551894</id>
    <durationMs>4</durationMs>
    <errorMessage>Nepavyko įvykdyti metodo</errorMessage>
    <errors>
        <error>
            <data>&lt;PAP>&lt;FORMA>KSN08&lt;/FORMA>&lt;PAPXML>

                    &amp;lt;lpap&amp;gt;
                        &amp;lt;pap&amp;gt;
                            &amp;lt;value&amp;gt;Testas&amp;lt;/value&amp;gt;
                        &amp;lt;/pap&amp;gt;
                        &amp;lt;pap&amp;gt;
                            &amp;lt;name&amp;gt;Skola&amp;lt;/name&amp;gt;
                            &amp;lt;value&amp;gt;100.55&amp;lt;/value&amp;gt;
                        &amp;lt;/pap&amp;gt;
                    &amp;lt;/lpap&amp;gt;

            &lt;/PAPXML>&lt;KODAS1>121411842&lt;/KODAS1>&lt;/PAP></data>
            <dataErrors>
                <dataError>
                    <tag>@papXML</tag>
                    <code>10002</code>
                    <message>Nenurodytas eilutės numeris</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 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>

PHP pvz

<?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_PAP",
    "data": {
        "PAP": {
            "forma": "KSN08",
            "kodas1": "121411842",
            "papXML": "<lpap><pap><id>1</id><value>Testas</value></pap><pap><name>Skola</name><value>100.55</value></pap></lpap>"
        } 
    }
}');
$response = curl_exec($ch);
curl_close($ch);