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/xmlapplication/json Accept: Neprivalomas. Gražinamo rezultato (response) formatas
application/xml(default)application/json (veikia nuo Manorivile-Gateway-1.1.0 versijos)method : EDIT_PAPdata: 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 KSN08kodas1: 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);