GET_CLIENTS_TIME

Aprašymas

Metodas grąžina informaciją apie klientą, remiantis koregavimo data. Grąžinama klientų informacija ir jų alternatyvūs adresai.

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. Gražinamo rezultato (response) formatas
    • application/xml(default)
    • application/json (veikia nuo Manorivile-Gateway-1.1.0 versijos)
Body
  • method : GET_CLIENTS_TIME
  • params :
    • list: H - grąžina tik pasikeitimus, A - grąžina visą informaciją, jei pasikeitimas buvo bent vienoje su prekės aprašymu susijusioje vietoje
    • fil : filtravimo sąlyga. T-SQL tipo where sąlygos užklausa iš lentelės N08 nenurodant pačio where tag'o. 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 įrašų. Neprivaloma.
    • lastDate: data nurodanti nuo kurio laiko grąžinti korekcijas. Jei nenurodoma informacija grąžinama nuo '1900-01-01'. Neprivaloma.
    • fil_pos_padal: 0 –nuskaitomi visa informacija, 1 –nuskaitoma informacija tik tų padalinių, kurie naudojami POS įrenginių aprašymuose.
    • fields_n08: nurodomas parametras norint atsakymą papildyti laukais iš N08 lentos. Jei parametras neperduodamas, tuomet grąžinama tik pagrindinė informacija iš lentos N08.
    • fields_n33: nurodomas parametras norint atsakymą papildyti laukais iš N33 lentos. Jei parametras neperduodamas, tuomet grąžinama tik pagrindinė informacija iš lentos N33.

Norint dirbti su metodu turi būti inicijuoti atitinkami duomenų bazės pakeitimai. Reikalinga paleisti metodą INIT_TRIGGER

Metodas naudojamas norint gauti informaciją tik apie klientus, kurių informacija pasikeitė nuo tam tikros datos ir laiko.

Rezultate prie kliento nurodomas statusas <status> gali turėti dvi reikšmes - R - koreguota, D - ištrinta.

Sąraše su daugiau nei 1 įrašu informacija visada grąžinama surūšiuota pagal atitinkamos lentelės raktą (Primary Key)

GET_LIST metodų apribojima 100 įrašų, todėl norint gauti visą sąrašą, turite naudoti filtrus, kurie grąžins rezultatą dalimis per kelis kartus, filtruojant pagal paskutinio gauto įrašo rakto reikšmę.

pvz application/xml:

<body>
    <method>GET_CLIENTS_TIME</method>
    <params>
        <list>A</list>
        <fil>N08_KODAS_KS='121411842'</fil>
        <pagenumber>1</pagenumber>
        <lastdate>2022-01-31</lastdate>
        <fields_n08>n08_kodas_ls_1,n08_kodas_ls_2</fields_n08>
        <fil_pos_padal>1</fil_pos_padal>
    </params>
</body>

pvz application/json:

{
    "method": "GET_CLIENTS_TIME",
    "params": {
        "list": "A",
        "fil": "N08_KODAS_KS='121411842'",
        "pagenumber": "1",
        "lastdate": "2022-01-31",
        "fields_n08": "n08_kodas_ls_1,n08_kodas_ls_2",
        "fil_pos_padal": "1"
    }
}
Response (status 200 OK)

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

pvz:

<?xml version='1.0' encoding='UTF-8' ?>
<RET_DOK>
    <N08>
        <Row_number>1</Row_number>
        <r_date>2022-07-21T13:22:32.627</r_date>
        <Status>R</Status>
        <N08_KODAS_KS>121411842   </N08_KODAS_KS>
        <N08_RUSIS>2</N08_RUSIS>
        <N08_PVM_KODAS>LT214118411              </N08_PVM_KODAS>
        <N08_IM_KODAS>121411842    </N08_IM_KODAS>
        <N08_PAV>UAB "Rivilė"                                                                                                                                          </N08_PAV>
        <N08_ADR>Geležinio Vilko 5-48, Vilnius                                                                                                                         </N08_ADR>
        <N08_KODAS_VS>           </N08_KODAS_VS>
        <N08_PASTAS>03131    </N08_PASTAS>
        <N08_ATSTOVAS>                                                                                                                                                     </N08_ATSTOVAS>
        <N08_E_MAIL>rivile@rivile.lt                                                                                                                                      </N08_E_MAIL>
        <N08_FAX_NUM>8 5 2653134                             </N08_FAX_NUM>
        <N08_TEL>8 5 2395535                             </N08_TEL>
        <N08_MOB_TEL>                                       </N08_MOB_TEL>
        <N08_POZ_DATE>0</N08_POZ_DATE>
        <N08_BEG_DATE>2008-01-31T00:00:00</N08_BEG_DATE>
        <N08_END_DATE>2008-01-31T00:00:00</N08_END_DATE>
        <n08_kodas_ls_1>           </n08_kodas_ls_1>
        <n08_kodas_ls_2>           </n08_kodas_ls_2>
        <N33_KBAN>
            <N33>
                <N33_KODAS_KS>121411842   </N33_KODAS_KS>
                <N33_EIL_NR>1</N33_EIL_NR>
                <N33_PAV>UAB "Rivilė"                                                                                                                                          </N33_PAV>
                <N33_ADRESAS>Geležinio Vilko 5-48, Vilnius                                                                                                                         </N33_ADRESAS>
                <N33_KODAS_VS>           </N33_KODAS_VS>
                <N33_FAX>8 5 2653134                             </N33_FAX>
                <N33_TEL>8 5 2395535                             </N33_TEL>
                <N33_PAST_KODAS>03131    </N33_PAST_KODAS>
                <N33_SHIP_VIA>              </N33_SHIP_VIA>
                <N33_SHIP_FOB>              </N33_SHIP_FOB>
                <N33_NUTYL>1</N33_NUTYL>
            </N33>
            <N33>
                <N33_KODAS_KS>121411842   </N33_KODAS_KS>
                <N33_EIL_NR>2</N33_EIL_NR>
                <N33_PAV>Kitas adresas                                                                                                                                         </N33_PAV>
                <N33_ADRESAS>                                                                                                                                                     </N33_ADRESAS>
                <N33_KODAS_VS>           </N33_KODAS_VS>
                <N33_FAX>                                       </N33_FAX>
                <N33_TEL>                                       </N33_TEL>
                <N33_PAST_KODAS>        </N33_PAST_KODAS>
                <N33_SHIP_VIA>              </N33_SHIP_VIA>
                <N33_SHIP_FOB>              </N33_SHIP_FOB>
                <N33_NUTYL>0</N33_NUTYL>
            </N33>
        </N33_KBAN>
    </N08>
</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>615386280.c1867c33.1658401056910</id>
    <durationMs>16</durationMs>
    <errorMessage>Invalid column name 'n08_kodas_ls1'.</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>0</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_CLIENTS_TIME",
    "params": {
        "list": "A",
        "fil": "N08_KODAS_KS='121411842'",
        "pagenumber": "1",
        "lastdate": "2022-01-31",
        "fields_08": "n08_kodas_ls_1,n08_kodas_ls_2",
        "fil_pos_padal": "1"
    }
}');
$response = curl_exec($ch);
curl_close($ch);