GET_VIEWS_LIST

Aprašymas

SQL view'o rezultato grąžinimas

Specifikacija

Address

POST https://api.manorivile.lt/client/v2

Header
  • 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. Grąžinamo rezultato (response) formatas
    • application/xml(default)
    • application/json (veikia nuo Manorivile-Gateway-1.1.0 versijos)
Body
  • method : GET_VIEWS_LIST
  • params :
    • view_name : view pavadinimas (turi prasidėti v_RGI). Privalomas
    • view_schema : view schema vardas, default dbo. Neprivalomas
    • fil : filtravimo sąlyga. T-SQL tipo where sąlygos užklausa iš lentelės nenurodant pačio where tag'o. Neprivaloma
    • columns: galima nurodyti norimus gauti stulpelius, jeigu nenurodoma - gražinama visi stulpeliai. Neprivaloma
    • pagenumber: įrašų puslapio numeris. GET_LIST metodai rezultatus grąžina puslapiais po 100 įrašų, pagenumber parametras nurodo kelintą puslapį grąžinti. Jei nenurodomas, tuomet grąžinamas pirmas puslapis su 100 naujausių įrašų. Neprivaloma
    • order_by: stulpelio (-ių) pavadinimas pagal kurį rūšiuoti, jeigu keli stulpeliai - atskyrimas per kablialį, pvz xdata desc, xsuma. Privalomas

View pavadinimas turi prasidėti v_RGI, pvz v_RGI_skolos

Negalimi stulpeliai kurių tipai: binary, text, varchar(max), xml

Jeigu numatoma, kad rezultatas talpins daugiau nei 100 įrašų ir atsakymas bus traukiamas nurodant puslapio numerį, kiekvienas įrašas privalo turėti unikalų stulpelį ir būti pagal jį išrūšiuotas (pavyzdžiui, operacijos id)

pvz application/xml:

<body>
    <method>GET_VIEWS_LIST</method>
    <params>
        <view_name>v_RGI_skolos</view_name>
        <fil>kodas_ks='11112222'</fil>
        <columns>kodas_ks,skol,mok_date</columns>
        <order_by>kodas_ks</order_by>
    </params>
</body>

pvz application/json:

{
    "method": "GET_VIEWS_LIST",
    "params": {
        "view_name": "v_RGI_skolos",
        "order_by": "kodas_ks"
    }
}
Response (status 200 OK)

Grąžinama informacija XML formate tarp tag'ų <RET_DOK>..</RET_DOK>.

Jeigu įrašų nerasta pagal užduotas sąlygas, tuomet grąžinama status=200 bei tuščias tag'as

pvz:

<?xml version='1.0' encoding='UTF-8' ?>
<RET_DOK>
    <v_RGI_skolos>
        <Row_number>1</Row_number>
        <kodas_ks>11112222</kodas_ks>
        <mok_date>2019-01-22T00:00:00</mok_date>
        <skola>48.40</skola>
    </v_RGI_skolos>
    <v_RGI_skolos>
        <Row_number>2</Row_number>
        <kodas_ks>11112222</kodas_ks>
        <mok_date>2019-11-01T00:00:00</mok_date>
        <skola>194.57</skola>
    </v_RGI_skolos>
    <v_RGI_skolos>
</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.493cb529.1587319316767</id>
    <durationMs>5</durationMs>
    <errorMessage>Invalid column name 'kodas_kss'.</errorMessage>
</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 502)

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>
Response (status 504)

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>
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>/v1</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": "GET_VIEWS_LIST",
    "params": {
        "view_name": "v_RGI_skolos",
        "order_by": "kodas_ks"
    }
}');
$response = curl_exec($ch);
curl_close($ch);