Papildomų laukų 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_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 nereikiakodas2
: raktas, privalomas ar ne, priklauso nuo formos raktų kiekiokodas3
: raktas, privalomas ar ne, priklauso nuo formos raktų kiekiokodas4
: raktas, privalomas ar ne, priklauso nuo formos raktų kiekiokodas5
: raktas, privalomas ar ne, priklauso nuo formos raktų kiekiopapXML
: 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
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
<?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>
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><PAP><FORMA>KSN08</FORMA><PAPXML>
&lt;lpap&gt;
&lt;pap&gt;
&lt;value&gt;Testas&lt;/value&gt;
&lt;/pap&gt;
&lt;pap&gt;
&lt;name&gt;Skola&lt;/name&gt;
&lt;value&gt;100.55&lt;/value&gt;
&lt;/pap&gt;
&lt;/lpap&gt;
</PAPXML><KODAS1>121411842</KODAS1></PAP></data>
<dataErrors>
<dataError>
<tag>@papXML</tag>
<code>10002</code>
<message>Nenurodytas eilutės numeris</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_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);