API produktov

Správa produktov a položiek — získavanie, vytváranie, úprava a informácie o sklade

Základná URL

https://{tenant}.logzi.com/api/product/

Každá požiadavka vracia odpoveď vo formáte JSON. V prípade úspešnej odpovede je result.code == 1, v prípade chyby result.code == 0.

GET /api/product/get

Získanie jedného produktu na základe identifikátora, čísla položky, čiarového kódu alebo skupiny produktov, s úplnými podrobnosťami.

Parametre dopytu

Parameter Typ Povinné Popis
id int Jedinečný identifikátor produktu (alebo namiesto neho použite parameter partnumber)
partnumber string Vyhľadávanie podľa čísla položky (ak nie je zadané id)
barcode string Vyhľadávanie podľa čiarového kódu
product_group_id int Vyhľadávanie podľa ID skupiny produktov
store_id int Identifikátor skladu — na vrátenie informácií o sklade

Príklad požiadavky

GET /api/product/get?id=42&store_id=1
X-API-KEY: {vas_api_kluc}

Príklad odpovede

{
  "result": { "code": 1, "message": "success" },
  "data": {
    "id": 42,
    "type_id": 6,
    "product_group_id": 10,
    "partnumber": "TERM-0042",
    "name": "Minta termék",
    "product_name": "Minta termék",
    "product_unit_name": "db",
    "vtsz": "8471300000",
    "weight_netto": "0.500",
    "weight_brutto": "0.600",
    "active_id": 1,
    "price": 5000,
    "tax_id": 2,
    "currency_id": 1,
    "incoming_price": 3500,
    "incoming_currency_id": 1,
    "incoming_tax_id": 2
  }
}
GET /api/product/get_stock

Získanie informácií o sklade produktu podľa jednotlivých skladov.

Parametre dopytu

Parameter Typ Povinné Popis
id int Identifikátor produktu (alebo partnumber)
partnumber string Vyhľadávanie podľa čísla položky (alternatíva namiesto id)
list_condition[store_id] int Filtrovanie podľa konkrétneho skladu

Príklad požiadavky

GET /api/product/get_stock?id=42&list_condition[store_id]=1
X-API-KEY: {az_api_kulcsod}

Príklad odpovede

{
  "result": { "code": 1, "message": "success" },
  "data": {
    "id": 42,
    "partnumber": "TERM-0042",
    "quantity_phy": "120.000000",
    "quantity_acc": "5.000000"
  }
}
GET /api/product/get_extended

Získanie produktu s rozšírenými údajmi — vrátane informácií o dostupnosti a rezervovanom množstve.

Parametre dopytu

Parameter Typ Povinné Popis
id int Jedinečný identifikátor produktu (alebo partnumber)
partnumber string Vyhľadávanie podľa čísla položky
store_id int Filter skladu pre skladové zásoby

Príklad požiadavky

GET /api/product/get_extended?id=42
X-API-KEY: {az_api_kulcsod}
GET /api/product/list

Získanie stránkovaného zoznamu produktov s možnosťami filtrovania.

Parametre dopytu

Parameter Typ Povinné Popis
list_offset int Posun stránkovania (predvolene: 0)
list_count int Počet výsledkov na stránku (predvolene: 10)
list_condition[partnumber] string Filtrovanie podľa čísla položky (LIKE)
list_condition[name] string Filtrovanie podľa názvu produktu (LIKE)
list_condition[type_id] int Filtrovanie podľa typu produktu (1 – 6)
list_condition[product_category_id] int Filtrovanie podľa ID kategórie produktu
list_condition[active_id] int Filtrovanie podľa stavu (1 = aktívny, 0 = neaktívny)
list_condition[store_id] int Filtrovanie podľa skladovej zásoby — iba produkty dostupné v danom sklade

Príklad požiadavky

GET /api/product/list?list_offset=0&list_count=20&list_condition[active_id]=1
X-API-KEY: {az_api_kulcsod}

Príklad odpovede

{
  "result": { "code": 1, "message": "success" },
  "data": [
    {
      "id": 42,
      "type_id": 6,
      "partnumber": "TERM-0042",
      "name": "Minta termék",
      "product_name": "Minta termék",
      "product_unit_name": "db",
      "active_id": 1,
      "price": 5000,
      "incoming_price": 3500
    }
  ],
  "params": {
    "list_count": 20,
    "list_offset": 0,
    "list_all": 158
  }
}
GET /api/product/list_extended

Rozšírený zoznam produktov — s úplným cenníkom, skladovými zásobami a súvisiacimi údajmi.

Parametre dopytu

Parameter Typ Povinné Popis
list_offset int Posun stránkovania (predvolene: 0)
list_count int Počet výsledkov na stránku
list_condition array Pole filtračných podmienok (rovnaké ako pri /list)
list_params array Doplnkové parametre

Príklad požiadavky

GET /api/product/list_extended?list_offset=0&list_count=10
X-API-KEY: {az_api_kulcsod}
GET /api/product/list_group

Stránkovaný zoznam skupín produktov — údaje na úrovni skupiny s informáciami o sklade a cene.

Parametre dopytu

Parameter Typ Povinné Popis
list_offset int Posun stránkovania (predvolene: 0)
list_condition[active_id] int Filtrovanie podľa stavu (1 = aktívny, 0 = neaktívny)
list_condition[type_id] int Filtrovanie podľa typu produktu (1 – 6)

Príklad požiadavky

GET /api/product/list_group?list_offset=0&list_condition[active_id]=1
X-API-KEY: {az_api_kulcsod}

Príklad odpovede

{
  "result": { "code": 1, "message": "success" },
  "data": [
    {
      "id": 10,
      "product_group_id": 10,
      "name": "Minta termék csoport",
      "type_id": 1,
      "type_name": "Variációs termék",
      "active_id": 1,
      "partnumber_list": "TERM-001, TERM-002",
      "quantity_phy": "240.000000",
      "price": 5000,
      "incoming_price": 3500
    }
  ],
  "params": {
    "list_count": 10,
    "list_offset": 0,
    "list_all": 42
  }
}
GET /api/product/get_group

Získanie jednej skupiny produktov so všetkými jej variantmi a cenníkom.

Parametre dopytu

Parameter Typ Povinné Popis
product_group_id int Identifikátor skupiny produktov
language_id int Identifikátor jazyka (predvolene: 1 — maďarčina)

Príklad požiadavky

GET /api/product/get_group?product_group_id=10
X-API-KEY: {az_api_kulcsod}
POST /api/product/save

Vytvorenie alebo úprava produktu. Štruktúra údajov závisí od hodnoty type_id.

Typy produktov (type_id)

1Variantný produktViacero variantov — je potrebné zadať pole item[]
2SlužbaJednoduchý produkt
3Balíkový produktBalík jednoduchých produktov
4Virtuálny – VstupenkaPre typy vstupeniek
5Receptúrny produktVyrábaný zo zložiek
6Jednoduchý produktNajbežnejší typ

A) Polia na úrovni skupiny — platné pre všetky typy

Tieto polia sa týkajú tabuľky db_product_group. Pri úprave zostávajú nevyplnené polia nezmenené.

Pole Typ Povinné Popis
id int 0 = nový produkt, >0 = úprava existujúceho produktu (product_id)
type_id int Typ produktu (1 – 6) — povinné pri novom produkte, pri úprave nie je potrebné
product_group_id int 0 = vytvorenie novej skupiny, >0 = úprava existujúcej skupiny
name string Názov produktu. Ak nie je zadaný, náhradné poradie: product_nameproduct_group_nameproduct_unit_name
product_name string Individuálny názov produktu (náhrada za name)
product_group_name string Názov skupiny (náhrada za name)
vtsz string Colné tarifné číslo KN/TESZOR (napr. 8471300000)
description string Krátky popis
description_long string Dlhý popis (HTML povolené)
meta_title string SEO title
meta_keyword string SEO kľúčové slová (oddelené čiarkou)
meta_description string SEO popis
packaging_note string Poznámka k baleniu
active_id int Aktívny stav (1 = aktívny, 0 = neaktívny — predvolene: 1)
partner_id int Identifikátor výrobcu/partnera
acquisition_partner_id int Identifikátor preferovaného dodávateľa
unnumber_id int Identifikátor UN čísla (nebezpečná látka)
category_id int Identifikátor hlavnej kategórie produktu
default_store_id int Identifikátor predvoleného skladu
default_store_locality_id int Identifikátor predvoleného umiestnenia v sklade
ledger_number_in_id int Identifikátor vstupného účtovného čísla
ledger_number_out_id int Identifikátor výstupného účtovného čísla
ledger_number_out_abroad_id int Identifikátor exportného účtovného čísla
acquisition_auto int Automatická objednávka (0/1)
serialnumber_required int Vyžaduje sériové číslo (0 = nie, 1 = áno)
stockable int Sleduje sklad (0/1 — predvolene: 1 ak type_id=1)
synchronizable int Synchronizácia s webshopom (0/1 — predvolene: 1)
integration_use_price_list int Aktualizácia predajnej ceny pri webovej objednávke (0/1)
drs int Povinný systém zálohovania DRS (0/1)
excisable int Produkt podliehajúci spotrebnej dani (0/1)
tax_inverse int Produkt s prenesenou daňovou povinnosťou (0/1)
service_intermediate int Sprostredkovaná služba (0/1)
erase_code int Kód na vymazanie údajov (0/1)
package int Obal/prepravný obal (0/1)
size_width decimal Šírka (cm)
size_height decimal Výška (cm)
size_depth decimal Hĺbka (cm)

B) Pole item[] — iba pre type_id = 1 (Variantný produkt)

Povinný je aspoň 1 prvok. Každý variant má vlastné číslo položky. Ceny sa zadávajú na úrovni variantu.

Pole Typ Povinné Popis
item[n][id] int 0 = nový variant, >0 = úprava existujúceho
item[n][partnumber] string Číslo položky — min. 3 znaky, v systéme jedinečné
item[n][product_unit_id] int Identifikátor mernej jednotky (napr. ks, kg, l)
item[n][product_unit_value] decimal Množstvo variantu (napr. 0.5, 1.0, 6.0)
item[n][product_unit_name] string Individuálny názov variantu (napr. „0,5l fľaša“)
item[n][product_url] string URL slug špecifický pre položku
item[n][quantity_min] decimal Minimálna úroveň zásob (upozorňovacia hranica)
item[n][quantity_opt] decimal Optimálna úroveň zásob
item[n][quantity_max] decimal Maximálna úroveň zásob
item[n][weight_netto] decimal Netto hmotnosť v kg (akceptuje čiarku ako desatinný oddeľovač)
item[n][weight_brutto] decimal Brutto hmotnosť v kg (vrátane obalu)
item[n][warranty_month] int Záruka v mesiacoch
item[n][remove] int 1 = označenie na odstránenie (soft delete)
CENOVÉ POLIA — na úrovni variantu
item[n][price] decimal Netto predajná cena
item[n][currency_id] int Identifikátor predajnej meny
item[n][tax_id] int Identifikátor sadzby DPH (predajná)
item[n][incoming_price] decimal Netto obstarávacia cena
item[n][incoming_currency_id] int Identifikátor obstarávacej meny
item[n][incoming_tax_id] int Identifikátor sadzby DPH (obstarávacia)
item[n][incoming_cost_price] decimal Vlastné náklady (nákladová cena)
item[n][price_on_sale] decimal Akciová predajná cena
item[n][price_on_sale_date_end] datetime Koniec platnosti akcie (YYYY-MM-DD HH:ii:ss)
item[n][price_discount] decimal Výška zľavy (%)
item[n][list_price] decimal Odporúčaná maloobchodná cena (RRP)
item[n][list_currency_id] int Identifikátor meny odporúčanej maloobchodnej ceny
item[n][list_tax_id] int Identifikátor sadzby DPH odporúčanej maloobchodnej ceny

C) Polia na úrovni produktu — pre type_id = 2, 3, 4, 5, 6

Pri týchto typoch sa polia zadávajú na koreňovej úrovni (nie v poli item[]). Ceny sa taktiež ukladajú na koreňovej úrovni.

Pole Typ Povinné Popis
partnumber string Číslo položky — min. 3 znaky, v systéme jedinečné
weight_netto decimal Netto hmotnosť v kg
weight_brutto decimal Brutto hmotnosť v kg (vrátane obalu)
warranty_month int Záruka v mesiacoch
product_url string URL slug produktu
CENOVÉ POLIA — na koreňovej úrovni
price decimal Netto predajná cena
currency_id int Identifikátor predajnej meny
tax_id int Identifikátor sadzby DPH (predajná)
incoming_price decimal Netto obstarávacia cena
incoming_currency_id int Identifikátor obstarávacej meny
incoming_tax_id int Identifikátor sadzby DPH (obstarávacia)
incoming_cost_price decimal Vlastné náklady (nákladová cena)
price_on_sale decimal Akciová predajná cena
price_on_sale_date_end datetime Koniec platnosti akcie (YYYY-MM-DD HH:ii:ss)
price_discount decimal Výška zľavy (%)
list_price decimal Odporúčaná maloobchodná cena (RRP)
list_currency_id int Identifikátor meny odporúčanej maloobchodnej ceny
list_tax_id int Identifikátor sadzby DPH odporúčanej maloobchodnej ceny

Príklad požiadavky — TYPE 1 (Variantný produkt, s poľom item[])

POST /api/product/save
X-API-KEY: {az_api_kulcsod}
Content-Type: application/json

{
  "data": {
    "id": 0,
    "type_id": 1,
    "product_group_id": 0,
    "name": "Ásványvíz",
    "vtsz": "2201100090",
    "description": "Természetes ásványvíz",
    "active_id": 1,
    "stockable": 1,
    "synchronizable": 1,
    "category_id": 5,
    "item": [
      {
        "id": 0,
        "partnumber": "ASVANY-05L",
        "product_unit_id": 3,
        "product_unit_value": 0.5,
        "product_unit_name": "0,5l palack",
        "remove": 0,
        "price": 120,
        "currency_id": 1,
        "tax_id": 2,
        "incoming_price": 75,
        "incoming_currency_id": 1,
        "incoming_tax_id": 2
      },
      {
        "id": 0,
        "partnumber": "ASVANY-15L",
        "product_unit_id": 3,
        "product_unit_value": 1.5,
        "product_unit_name": "1,5l palack",
        "remove": 0,
        "price": 250,
        "currency_id": 1,
        "tax_id": 2,
        "incoming_price": 160,
        "incoming_currency_id": 1,
        "incoming_tax_id": 2
      }
    ]
  }
}

Príklad požiadavky — TYPE 6 (Jednoduchý produkt)

POST /api/product/save
X-API-KEY: {az_api_kulcsod}
Content-Type: application/json

{
  "data": {
    "id": 0,
    "type_id": 6,
    "product_group_id": 0,
    "name": "Irodai szék",
    "partnumber": "SZEK-001",
    "vtsz": "9401300000",
    "description": "Ergonomikus irodai szék",
    "active_id": 1,
    "weight_netto": 12.5,
    "weight_brutto": 14.0,
    "warranty_month": 24,
    "price": 45000,
    "currency_id": 1,
    "tax_id": 2,
    "incoming_price": 28000,
    "incoming_currency_id": 1,
    "incoming_tax_id": 2
  }
}

Príklad odpovede

{
  "result": { "code": 1, "message": "success" },
  "data": {
    "product_group_id": 15,
    "product_id": 48,
    "partnumber": "SZEK-001"
  }
}
POST /api/product/delete

Odstránenie produktu. Odstrániť možno iba produkt, ku ktorému nie je priradený žiadny skladový pohyb.

POST polia — objekt data

Pole Typ Povinné Popis
id int Identifikátor skupiny produktov, ktorá sa má odstrániť (product_group_id)

Príklad požiadavky

POST /api/product/delete
X-API-KEY: {az_api_kulcsod}
Content-Type: application/json

{
  "data": {
    "id": 15
  }
}

Príklad odpovede

{
  "result": { "code": 1, "message": "success" },
  "data": {}
}
POST /api/product/save_weight

Aktualizácia netto a brutto hmotnosti produktu na základe čísla položky. Zaznamenáva verziu v tabuľke db_product_data.

POST polia — objekt data

Pole Typ Povinné Popis
partnumber string Číslo položky produktu (jedinečný identifikátor)
weight_netto decimal Netto hmotnosť v kg
weight_brutto decimal Brutto hmotnosť v kg (vrátane obalu)

Príklad požiadavky

POST /api/product/save_weight
X-API-KEY: {az_api_kulcsod}
Content-Type: application/json

{
  "data": {
    "partnumber": "TERM-0042",
    "weight_netto": 0.48,
    "weight_brutto": 0.62
  }
}

Príklad odpovede

{
  "result": { "code": 1, "message": "success" },
  "data": {}
}
POST /api/product/save_warehouse_info

Aktualizácia skladových informácií a brutto hmotnosti produktu. Zaznamenáva verziu v tabuľkách db_product_data aj db_product_group_data.

POST polia — objekt data

Pole Typ Povinné Popis
partnumber string Číslo položky produktu
weight_brutto decimal Brutto hmotnosť v kg
store_id int Identifikátor predvoleného skladu
store_locality_id int Identifikátor predvoleného umiestnenia v sklade

Príklad požiadavky

POST /api/product/save_warehouse_info
X-API-KEY: {az_api_kulcsod}
Content-Type: application/json

{
  "data": {
    "partnumber": "TERM-0042",
    "weight_brutto": 0.62,
    "store_id": 1,
    "store_locality_id": 14
  }
}

Príklad odpovede

{
  "result": { "code": 1, "message": "success" },
  "data": {}
}
POST /api/product/save_extra

Aktualizácia rozmerov, umiestnenia v sklade a čiarového kódu produktu na základe čísla položky. Ak zadaný čiarový kód ešte neexistuje, systém ho automaticky vytvorí.

POST polia — objekt data

Pole Typ Povinné Popis
partnumber string Číslo položky produktu
size_width decimal Šírka (cm)
size_height decimal Výška (cm)
size_depth decimal Hĺbka (cm)
weight_brutto decimal Brutto hmotnosť v kg
store_id int Identifikátor predvoleného skladu
store_locality_id int Identifikátor predvoleného umiestnenia
barcode string EAN/čiarový kód — ak ešte neexistuje, automaticky sa vytvorí v tabuľke db_product_barcode

Príklad požiadavky

POST /api/product/save_extra
X-API-KEY: {az_api_kulcsod}
Content-Type: application/json

{
  "data": {
    "partnumber": "TERM-0042",
    "size_width": 30.5,
    "size_height": 20.0,
    "size_depth": 15.0,
    "weight_brutto": 0.62,
    "store_id": 1,
    "store_locality_id": 14,
    "barcode": "5901234123457"
  }
}

Príklad odpovede

{
  "result": { "code": 1, "message": "success" },
  "data": {}
}

Kontaktuj nás

Zaujíma ťa náš softvér? Pokojne nám napíš!

Potrebuješ pomoc?

Ak nevieš nájsť odpoveď a potrebuješ pomoc

Zaregistruj sa teraz,
zaplať neskôr!

Vyskúšaj 3 dni zadarmo, bez rizika a záväzkov!