API: Skirtumas tarp puslapio versijų

Iš Lobasoft ERP apskaitos sistema.
Jump to navigation Jump to search
4 eilutė: 4 eilutė:
  
 
* Autentifikavimas atliekamas ''basic authentication'' būdu.
 
* Autentifikavimas atliekamas ''basic authentication'' būdu.
* Užklausose turėtų būti naudojamas puslapiavimas - imama ne daugiau nei po 500 įrašų. Įrašų kiekis gali būti apribotas. Pavyzdžiui, trečio puslapio įrašų paėmimui siunčiama užklausa: <code>base_url/Items?$skip=1000&$top=500</code> (t.y. praleidžiama 2 puslapiai po 500 įrašų ir imami 500 įrašų iš trečio puslapio).
+
* Užklausose turėtų būti naudojamas puslapiavimas - imama ne daugiau nei po 500 įrašų. Įrašų kiekis gali būti apribotas. Pvz.: prekių sąrašo trečio puslapio įrašų paėmimui siunčiama užklausa: <code>base_url/Items?$skip=1000&$top=500</code> (t.y. praleidžiama 2 puslapiai po 500 įrašų ir imami 500 įrašų iš trečio puslapio).
* Užklausose turi būti nurodomi reikalingi laukai naudojant $select operatorių. Pvz: jeigu iš prekių sąrašo reikalingas tik prekės kodas ir pavadinimas, siunčiama tokia užklausa: <code>base_url/Items?$skip=1000&$top=500&$select=Key,Name,UpdatedAt</code>.
+
* Užklausose turi būti nurodomi reikalingi laukai naudojant $select operatorių. Pvz.: jeigu iš prekių sąrašo reikalingas tik prekės kodas ir pavadinimas, siunčiama tokia užklausa: <code>base_url/Items?$skip=1000&$top=500&$select=Key,Name,UpdatedAt</code>.
 +
* Susijusių įrašų paėmimui naudojamas $expand opreatorius. Pvz.: norint kartu su prekės duomenimis gauti informaciją apie prekės grupę, kuriai ta prekė priklauso, siunčiama užklausa <code>base_url/Items?$skip=1000&$top=500&$select=Key,Name&$expand=ItemGroup($select=Name)</code>.
 +
* Įrašų filtravimui naudojamas $filter operatorius. Pvz.: prekių, kurios buvo koreguotos po 2021-01-01 d. paėmimui siunčiama užklausa <code>base_url/Items?$select=Key,Name,UpdatedAt&$filter=UpdatedAt+ge+2021-01-01</code>.
 +
** Visos duomenų aibės turi lauką UpdatedAt, kurio pagalba galima paimti tik tuos įrašus, kurie yra pasikeitę.
 +
 
 +
== Dažniausiai naudojamos užklausos==
 +
* Prekių sąrašas <code>base_url/Items?$select=Key,Name,Barcode,UpdatedAt</code>.
 +
* Einamieji atsargų likučiai <code>base_url/InventoryBalances</code>.
 +
* Einamieji atsargų likučiai <code>base_url/SalesPrices?$expand=Item($select=Key,Name,Barcode),SalesPriceList($select=Name)&$select=UnitPrice,UpdatedAt</code>.

17:48, 2 rugsėjo 2021 versija

Prieiga per API

Sistemos REST API įgyvendintas pagal OData standartą (žr. https://www.odata.org/getting-started/basic-tutorial/). OData metadatuomenys preinami adresu base_url/$metadata, kur base_url - bazinis bazės adresas.

  • Autentifikavimas atliekamas basic authentication būdu.
  • Užklausose turėtų būti naudojamas puslapiavimas - imama ne daugiau nei po 500 įrašų. Įrašų kiekis gali būti apribotas. Pvz.: prekių sąrašo trečio puslapio įrašų paėmimui siunčiama užklausa: base_url/Items?$skip=1000&$top=500 (t.y. praleidžiama 2 puslapiai po 500 įrašų ir imami 500 įrašų iš trečio puslapio).
  • Užklausose turi būti nurodomi reikalingi laukai naudojant $select operatorių. Pvz.: jeigu iš prekių sąrašo reikalingas tik prekės kodas ir pavadinimas, siunčiama tokia užklausa: base_url/Items?$skip=1000&$top=500&$select=Key,Name,UpdatedAt.
  • Susijusių įrašų paėmimui naudojamas $expand opreatorius. Pvz.: norint kartu su prekės duomenimis gauti informaciją apie prekės grupę, kuriai ta prekė priklauso, siunčiama užklausa base_url/Items?$skip=1000&$top=500&$select=Key,Name&$expand=ItemGroup($select=Name).
  • Įrašų filtravimui naudojamas $filter operatorius. Pvz.: prekių, kurios buvo koreguotos po 2021-01-01 d. paėmimui siunčiama užklausa base_url/Items?$select=Key,Name,UpdatedAt&$filter=UpdatedAt+ge+2021-01-01.
    • Visos duomenų aibės turi lauką UpdatedAt, kurio pagalba galima paimti tik tuos įrašus, kurie yra pasikeitę.

Dažniausiai naudojamos užklausos

  • Prekių sąrašas base_url/Items?$select=Key,Name,Barcode,UpdatedAt.
  • Einamieji atsargų likučiai base_url/InventoryBalances.
  • Einamieji atsargų likučiai base_url/SalesPrices?$expand=Item($select=Key,Name,Barcode),SalesPriceList($select=Name)&$select=UnitPrice,UpdatedAt.