Neperkelto kvito parametrų (kliento, asmens, Sąskaitos faktūros) koregavimas. Koregavimas vyksta pagal kvito numerį.
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_I61_OPT
data
: perduodami duomenys:
I61_KODAS_KK
- POS kodas (privaloma);I61_DOK_NR
- Kvito numeris (privaloma);I61_KODAS_KS
- Kliento kodas;I61_SASK_NR
- Sąskaitos faktūros numeris;I61_KODAS_SM
- Asmuo;GEN_S_F_RIVILE
- jeigu parametro reikšmė lygi 1, tuomet Sąskaitos faktūros numeris generuojamas pagal Rivile GAMA aprašytą skaitliuką. Tokiu atveju nereikia naudoti parametro I61_SASK_NR.Vienu metu veiksmai atliekami tik su vienu dokumentu.
Pirmi 7 ApiKey simboliai (pvz USERABC.JQKPG1d7Pkjxj37ObsgdfEkvfEfvF1oL7h7UMOLo
-> USERABC
) yra vartotojo vardas Rivile GAMA programoje, kuriuo bus kuriami ar koreguojami įrašai.
pvz application/xml
:
<body>
<method>EDIT_I61_OPT</method>
<data>
<I61>
<I61_KODAS_KK>POS001</I61_KODAS_KK>
<I61_DOK_NR>POS000000137</I61_DOK_NR>
<I61_KODAS_KS>121411842</I61_KODAS_KS>
<I61_SASK_NR>SF001</I61_SASK_NR>
<I61_KODAS_SM>PAVARDENIS</I61_KODAS_SM>
</I61>
</data>
</body>
pvz application/json
:
{
"method": "EDIT_I61_OPT",
"data": {
"I61": {
"I61_KODAS_KK": "POS001",
"I61_DOK_NR": "POS000000137",
"I61_KODAS_KS": "121411842",
"I61_SASK_NR": "SF001",
"I61_KODAS_SM": "PAVARDENIS"
}
}
}
Grąžinama informacija XML formate tarp tag'ų <RET_DOK>..</RET_DOK>
.
pvz response:
<?xml version='1.0'?>
<RET_DOK>
<I61_POSH>
<I61_KODAS_WW>010000000137</I61_KODAS_WW>
<I61_KODAS_KK>POS001 </I61_KODAS_KK>
<I61_TIPAS>1</I61_TIPAS>
<I61_DOK_NR>POS000000137</I61_DOK_NR>
<I61_OP_DATA>2021-05-03T10:13:16</I61_OP_DATA>
<I61_KODAS_MS> </I61_KODAS_MS>
...
</I61_POSH>
</RET_DOK>
Sąskaitos faktūros numerio generavimas pagal skaitliuką
<body>
<method>EDIT_I61_OPT</method>
<data>
<I61>
<I61_KODAS_KK>POS001</I61_KODAS_KK>
<I61_DOK_NR>POS000000137</I61_DOK_NR>
<GEN_S_F_RIVILE>1</GEN_S_F_RIVILE>
</I61>
</data>
</body>
Klaida paduodant duomenis / SQL sintaksės klaidos / kitos DB klaidos, pvz:
<?xml version='1.0' encoding='UTF-8'?>
<RET_DOK>
<id>11395037911.ac4f3e99.1620027916303</id>
<durationMs>30</durationMs>
<errorMessage>Nepavyko įvykdyti metodo</errorMessage>
<document/>
<errors>
<error>
<data><I61><GEN_S_F_RIVILE>1</GEN_S_F_RIVILE><I61_KODAS_KK>POS001</I61_KODAS_KK><I61_DOK_NR>POS000000138</I61_DOK_NR></I61></data>
<dataErrors>
<dataError>
<tag>I61_KODAS_WW</tag>
<code>8003</code>
<message>Tokio įrašo nėra</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>0</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, $payload);
$response = curl_exec($ch);
curl_close($ch);