GET_N51_LIST

Aprašymas

Sutarčių sąrašas

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_N51_LIST
  • params :
    • list : H - grąžinama tik pagrindinė informacija (N51) (default). Jeigu A - grąžinama visa susijusi informacija (N51+N52+N56).
    • fil : filtravimo sąlyga. T-SQL tipo where sąlygos užklausa iš lentelės N51 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 naujausių įrašų. Neprivaloma

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_N51_LIST</method>
    <params>
        <list>H</list>
        <fil>n51_kodas_kt='SUT00001'</fil>
    </params>
</body>

pvz application/json:

{
    "method": "GET_N51_LIST",
    "params": {
        "list": "H",
        "fil": "n51_kodas_kt='SUT00001'"
    }
}
Response (status 200 OK)

Grąžinama informacija XML formate tarp tag'ų <RET_DOK>..</RET_DOK>. Esant daugiau nei vienam įrašui informacija rūšiuojama (order) pagal lentelės raktinį lauką N51_KODAS_KT

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

pvz, kai list='A':

<?xml version='1.0' encoding='UTF-8' ?>
<RET_DOK>
    <N51>
        <Row_number>1</Row_number>
        <N51_KODAS_KT>SUT00001</N51_KODAS_KT>
        <N51_PRIORITETAS>1.000</N51_PRIORITETAS>
        <N51_DOK_NR>20LPN 0020</N51_DOK_NR>
        <N51_OP_DATA>2020-02-27T00:00:00</N51_OP_DATA>
        <N51_PAV></N51_PAV>
        <N51_KODAS_KS>AAA</N51_KODAS_KS>
        <N51_TIPAS>2</N51_TIPAS>
        <N51_KODAS_MS></N51_KODAS_MS>
        <N51_POZ_SUMA>0</N51_POZ_SUMA>
        <N51_SUMA>50.00</N51_SUMA>
        ...
        <N52>
            <N52_KODAS_KT>SUT00001</N52_KODAS_KT>
            <N52_KODAS_K0>01</N52_KODAS_K0>
            <N52_DOK_NR></N52_DOK_NR>
            <N52_OP_DATA>2020-02-27T00:00:00</N52_OP_DATA>
            <N52_PAV>HDD</N52_PAV>
            <N52_POZ_SKOL>0</N52_POZ_SKOL>
            <N52_PRIORITETAS>1.000</N52_PRIORITETAS>
            <N52_RUSIS>1</N52_RUSIS>
            <N52_KODAS>005</N52_KODAS>
            <N52_PAV2>HDD</N52_PAV2>
            <N52_KODAS_MS></N52_KODAS_MS>
            <N52_POZ_SUMA>1</N52_POZ_SUMA>
            <N52_SUMA>100.00</N52_SUMA>
            <N52_POZ_KIEKIS>0</N52_POZ_KIEKIS>
            ...
            <N56>
                ...
            </N56>
        </N52>
    </N51>
</RET_DOK>

pvz, kai list='H'

<?xml version='1.0' encoding='UTF-8' ?>
<RET_DOK>
    <N51>
        <Row_number>1</Row_number>
        <N51_KODAS_KT>SUT00001</N51_KODAS_KT>
        <N51_PRIORITETAS>1.000</N51_PRIORITETAS>
        <N51_DOK_NR>20LPN 0020</N51_DOK_NR>
        <N51_OP_DATA>2020-02-27T00:00:00</N51_OP_DATA>
        <N51_PAV></N51_PAV>
        <N51_KODAS_KS>AAA</N51_KODAS_KS>
        <N51_TIPAS>2</N51_TIPAS>
        <N51_KODAS_MS></N51_KODAS_MS>
        <N51_POZ_SUMA>0</N51_POZ_SUMA>
        <N51_SUMA>50.00</N51_SUMA>
        ...
    </N51>
</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.569b1c8d.1586199678089</id>
    <durationMs>8</durationMs>
    <errorMessage>Invalid column name 'n51_kodass_kt'.</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>/v2</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_N51_LIST",
    "params": {
        "list": "H",
        "fil": "n51_kodas_kt=\'SUT00001\'"
    }
}');
$response = curl_exec($ch);
curl_close($ch);

Lentelės

N51

Sutarčių lentelė:

Laukas Tipas Aprašymas Pastabos
N51_KODAS_KT C(12) Sutarties kodas
N51_PRIORITETAS N(14,3) Sutarties prioritetas
N51_DOK_NR C(40) Dokumento numeris
N51_OP_DATA T(8) Operacijos data
N51_PAV C(40) Pavadinimas
N51_KODAS_KS C(12) Klientas
N51_TIPAS N(1) Tipas:1-Pirkimo,2-Pardavimo
N51_KODAS_MS C(12) Menedžeris
N51_POZ_SUMA N(1) Kontroliuoti sutarties sumą?
N51_SUMA N(12,2) Sutarties suma
N51_PASTABOS M(4) Pastabos
N51_POZ_DATE N(1) Terminuota
N51_BEG_DATE T(8) Pradžios data
N51_END_DATE T(8) Pabaigos data
N51_USERIS C(12) Kas koregavo
N51_ADDUSR C(12) Kas sukūrė
N51_R_DATE T(8) Kada koregavo
N51_VISKAS N(1) Sutartis: 0-aktyvi,1-neaktyvi
N51_POZ_KRED N(1) Kontroliuoti kredito limitą?
N51_LIMITAS N(12,2) Kredito limitas
N51_KODAS_TS C(12) Terminų kodas
N51_KODAS_LS_1 C(12) Logistikos kodas 1
N51_KODAS_LS_2 C(12) Logistikos kodas 2
N51_KODAS_LS_3 C(12) Logistikos kodas 3
N51_KODAS_LS_4 C(12) Logistikos kodas 4
N51_KODAS_SM C(12) Asmuo
N51_KODAS_LS_5 C(12) Logistikos kodas 5
N51_KODAS_LS_6 C(12) Logistikos kodas 6
N51_KODAS_LS_7 C(12) Logistikos kodas 7
N51_KODAS_LS_8 C(12) Logistikos kodas 8
N51_SUMA_P N(12,2)
N51_BUSENA N(3 ) Būsena

N52

Sutarčių priedų lentelė:

Laukas Tipas Aprašymas Pastabos
N52_KODAS_KT C(12) Sutarties kodas
N52_KODAS_K0 C(12) Priedo Numeris
N52_DOK_NR C(12) Rezervas
N52_OP_DATA T(8) Priedo data
N52_PAV C(40) Pavadinimas
N52_POZ_SKOL N(1) Ar priedą atvaizduoti skolose?
N52_PRIORITETAS N(14,3) Priedo prioritetas
N52_RUSIS N(2) Rūšis:1-Prekė,2-Paslauga,3-Prekių gr.,4-Paslaugų gr.,5-Klientas,6-Tiekėjas
N52_KODAS C(12) Rūšies kodas
N52_PAV2 C(40) Rūšies pavadinimas
N52_KODAS_MS C(12) Priedo menedžeris
N52_POZ_SUMA N(1) Kontroliuoti sumą?
N52_SUMA N(12,2) Suma
N52_POZ_KIEKIS N(1) Kontroliuoti kiekį?
N52_KODAS_US C(12) Matavimo vienetas
N52_FRAKCIJA N(4) Frakcija
N52_KIEKIS N(14) Kiekis
N52_POZ_KAINA N(1) Kainos parinkimas
N52_KODAS_US2 C(12) Pardavimo kainos mat.vnt.
N52_KAINA N(12,4) Kaina
N52_TIPAS1 C(1) Kainynas 1
N52_TIPAS2 C(1) Kainynas 2
N52_TIPAS3 C(1) Kainynas 3
N52_TIPAS4 C(1) Kainynas 4
N52_TIPAS5 C(1) Kainynas 5
N52_TIPAS6 C(1) Kainynas 6
N52_TERM1 N(3) Max atidėjimo terminas 1
N52_TERM2 N(3) Max atidėjimo terminas 2
N52_TERM3 N(3) Max atidėjimo terminas 3
N52_TERM4 N(3) Max atidėjimo terminas 4
N52_TERM5 N(3) Max atidėjimo terminas 5
N52_TERM6 N(3) Max atidėjimo terminas 6
N52_POZ_TERM N(1) Negalima viršyti atidėjimo nurodyto priede
N52_POZ_TERM_KS N(1) Negalima viršyti atidėjimo nurodyto tiekėjo sutartyje
N52_POZ_KS N(1) Vedant pardavimo sutartį turi būti tiekėjo sutartis
N52_PASTABOS M(4) Pastabos
N52_USERIS C(12) Kas koregavo
N52_ADDUSR C(12) Kas sukūrė
N52_R_DATE T(8) Kada koregavo
N52_VISKAS N(1) Priedas: 0-aktyvus,1-neaktyvus
N52_POZ_DATE N(1) Priedas turi terminą
N52_BEG_DATE T(8) Priedo pradžios data
N52_END_DATE T(8) Priedo pabaigos data
N52_KODAS_US3 C(12) Pardavimo kainos mat. vnt. 2
N52_KAINA3 N(12,4) Pardavimo kaina 2
N52_KODAS_US4 C(12) Pardavimo kainos mat. vnt. 3
N52_KAINA4 N(12,4) Pardavimo kaina 3
N52_KODAS_VL C(12) Pardavimo/pirkimo kainos valiuta
N52_KODAS_VL3 C(12) Pardavimo/pirkimo 2 kainos valiuta
N52_KODAS_VL4 C(12) Pardavimo/pirkimo 3 kainos valiuta
N52_NUOLAIDA N(6,2) Nuolaidos procentas
N52_REZERVAS C(40) Rezervas
N52_POZ_NUOLAIDA N(1) Ar priskirti nuolaidą
N52_SUMA_P N(12,2) Pradinė suma
N52_KIEKIS_P N(14) Pradinis kiekis

N56

Sutarties priedų kainų lentelė:

Laukas Tipas Aprašymas Pastabos
N52_KODAS_KT C(12) Sutarties kodas
N52_KODAS_K0 C(12) Priedo Numeris
N56_KODAS_US C(12) Matavimo vienetas
N56_KAINA N(12,4) Kaina
N56_KODAS_VL C(12) Valiutos kodas
N56_REZERVAS C(20) Rezervas
N56_USERIS C(12) Kas koregavo
N56_R_DATE T(8) Kada koregavo
N56_ADDUSR C(12) Kas sukūrė
N56_O_KAINA N(12,4) Sena kaina