API schémy parametra produktu

Správa schémy vlastných parametrov priraditeľných k produktom - získanie, zoznam, uloženie a odstránenie

Základná URL

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

Každá požiadavka vracia odpoveď vo formáte JSON. Pri úspešnej odpovedi je result.code == 1, v prípade chyby result.code == 0. Schéma určuje, aké vlastné parametre (napr. technické vlastnosti, rozmery) môžu patriť k produktom: názov, typ, merná jednotka, poradie a priradenie ku kategórii. Konkrétne hodnoty parametrov spravuje API parametra produktu.

Polia schémy

PoleTypPopis
idintJedinečný identifikátor schémy
param_namestringNázov parametra (najviac 150 znakov)
param_type_idintTyp hodnoty parametra (pozri nižšie)
param_schema_type_idintRozsah platnosti schémy (pozri nižšie)
param_schema_codestringJedinečný kód schémy (najviac 50 znakov), nepovinný
param_unit_idintIdentifikátor mernej jednotky, null ak nie je merná jednotka
param_orderintPoradie zobrazenia
param_schema_round_decimalintPočet desatinných miest pri parametri typu číslo (0-5)
param_enumstringJSON pole vybrateľných hodnôt ako text (najviac 1000 znakov), vyplnené iba pri param_type_id = 5, inak null
param_type_usableintPríznak použiteľnosti podľa typu (0 = nie, 1 = áno)
param_fusionintPríznak zlúčenia (0 = nie, 1 = áno): na základe zhodnej hodnoty takýchto schém možno zlúčiť skupiny produktov (napr. pri synchronizácii s e-shopom)
param_schema_cash_register_showintČi sa zobrazuje v pokladnici (0 = nie, 1 = áno)
param_schema_column_idintIdentifikátor dátového stĺpca produktu, ku ktorému sa hodnota parametra viaže (automatické vyplnenie, import). null, ak nie je zadaný.
category_idintZastaralé pole, pri novších schémach nie je vyplnené. Priradenie ku kategórii spravuje pole category_ids.
removeintPríznak odstránenia (0 = aktívna, 1 = odstránená)

param_type_id možné hodnoty

HodnotaNázovPopis
1ČísloČíselná hodnota, voliteľne s mernou jednotkou (param_unit_id) a počtom desatinných miest (param_schema_round_decimal)
2TextVoľná textová hodnota
3Logická hodnotaHodnota áno / nie
4Textový odkazTextová hodnota spracúvaná ako odkaz
5Súbor hodnôtZ vopred zadaných možných hodnôt je možné vybrať aj viac (param_enum)

param_schema_type_id možné hodnoty

HodnotaNázovPopis
1Podľa kategórieO zobrazení parametra rozhoduje kategória produktu (a nadradené kategórie) (predvolené)
2PriamaNie je viazaná na kategóriu, je potrebné ju výslovne pridať ku konkrétnemu produktu / skupine produktov
3GlobálnaZobrazuje sa automaticky na karte každého produktu, bez ohľadu na kategóriu
GET /api/product_param_schema/get

Získanie jednej schémy parametra produktu na základe identifikátora. Vracia aj odstránenú (remove = 1) schému, jej stav signalizuje pole remove. Ak schéma neexistuje, odpoveď je result.code == 0 a správa Not found.

Parametre dotazu

ParameterTypPovinnéPopis
idintJedinečný identifikátor schémy parametra

Príklad požiadavky

GET /api/product_param_schema/get?id=7
X-API-KEY: {vas_api_kluc}

Príklad odpovede

{
  "result": { "code": 1, "message": "success" },
  "data": {
    "id": 7,
    "category_id": null,
    "param_type_id": 1,
    "param_name": "Hrubá hmotnosť",
    "param_type_usable": 0,
    "param_fusion": 0,
    "param_enum": null,
    "remove": 0,
    "param_schema_cash_register_show": 0,
    "param_order": 1,
    "param_schema_column_id": null,
    "param_unit_id": 4,
    "param_schema_type_id": 1,
    "param_schema_code": "WEIGHT_GROSS",
    "param_schema_round_decimal": 2
  }
}
GET /api/product_param_schema/list

Zoznam schém parametrov produktov (bez odstránených schém), zoradený podľa poradia zobrazenia a identifikátora. Odpoveď okrem polí schémy obsahuje aj údaje o type parametra, mernej jednotke a priradených kategóriách. Ak nie je nájdený žiadny záznam, odpoveď je result.code == 0 a správa Not found.

Parametre dotazu

ParameterTypPovinnéPopis
list_offsetintPočet vynechaných záznamov (predvolené: 0). Počet záznamov nie je možné obmedziť.
list_condition[name]stringFiltrovanie podľa názvu schémy (čiastočná zhoda)
list_condition[parent_category_id]intFiltrovanie podľa jednej kategórie produktov a všetkých jej podkategórií: vrátia sa schémy, ktoré sú priradené k tejto kategórii alebo k niektorému jej potomkovi
list_condition[category_ids]arrayFiltrovanie schém priradených k zadaným kategóriám produktov
list_condition[category_id]intZastaralý filter na staré pole category_id schémy (pri novších schémach nie je vyplnené, preto zvyčajne nevracia žiadny záznam). Na filtrovanie podľa kategórie použite filter category_ids alebo parent_category_id.
list_condition[param_schema_cash_register_show]int1 = iba schémy zobrazované v pokladnici, 2 = iba schémy nezobrazované v pokladnici
list_condition[param_schema_type_id_fixer_product_group_id]intSchémy patriace k jednej skupine produktov: globálne (param_schema_type_id = 3) schémy, ako aj schémy podľa kategórie a priame schémy, ktoré majú pri danej skupine produktov neprázdnu hodnotu
list_condition[param_schema_type_id_fixer_product_id]intAko predchádzajúci, ale pre konkrétny produkt. Ak sú zadané oba, uplatní sa variant product_group_id.
Filter category_ids a oba filtre *_fixer_* sú medzi sebou vo vzťahu ALEBO, ostatné filtre pôsobia vo vzťahu A.

Doplnkové polia odpovede

Položky zoznamu obsahujú všetky polia tabuľky Polia schémy vyššie, a navyše:

PoleTypPopis
param_type_namestringNázov typu parametra
unit_name_shortstringKrátky názov mernej jednotky, null ak nie je merná jednotka
category_idsstringIdentifikátory priradených kategórií produktov oddelené čiarkou (napr. "3,8,12")
category_namestringCesty priradených kategórií produktov oddelené znakom |

Pole params odpovede obsahuje hodnoty list_count, list_offset a list_all (počet záznamov).

Príklad požiadavky

GET /api/product_param_schema/list?list_condition[parent_category_id]=3
X-API-KEY: {vas_api_kluc}

Príklad odpovede

{
  "result": { "code": 1, "message": "success" },
  "data": [
    {
      "id": 7,
      "category_id": null,
      "param_type_id": 1,
      "param_name": "Hrubá hmotnosť",
      "param_type_usable": 0,
      "param_fusion": 0,
      "param_enum": null,
      "remove": 0,
      "param_schema_cash_register_show": 0,
      "param_order": 1,
      "param_schema_column_id": null,
      "param_unit_id": 4,
      "param_schema_type_id": 1,
      "param_schema_code": "WEIGHT_GROSS",
      "param_schema_round_decimal": 2,
      "param_type_name": "Číslo",
      "unit_name_short": "kg",
      "category_ids": "3,8",
      "category_name": "Potraviny | Potraviny/Pekárske výrobky"
    },
    {
      "id": 9,
      "category_id": null,
      "param_type_id": 5,
      "param_name": "Alergény",
      "param_type_usable": 0,
      "param_fusion": 0,
      "param_enum": "[\"Lepok\",\"Mlieko\",\"Vajcia\"]",
      "remove": 0,
      "param_schema_cash_register_show": 1,
      "param_order": 2,
      "param_schema_column_id": null,
      "param_unit_id": null,
      "param_schema_type_id": 1,
      "param_schema_code": null,
      "param_schema_round_decimal": 0,
      "param_type_name": "Súbor hodnôt",
      "unit_name_short": null,
      "category_ids": "3",
      "category_name": "Potraviny"
    }
  ],
  "params": { "list_count": 999999, "list_offset": 0, "list_all": 2 }
}
POST /api/product_param_schema/save

Vytvorenie alebo úprava schémy parametra produktu. Pre novú schému zadajte data[id] = 0, pri úprave zadajte existujúci identifikátor.

POST polia - objekt data

PoleTypPovinnéPopis
idint0 = nová schéma, >0 = úprava
param_namestringNázov parametra (najviac 150 znakov)
param_type_idintTyp parametra (1 = číslo, 2 = text, 3 = logická hodnota, 4 = textový odkaz, 5 = súbor hodnôt)
param_schema_type_idintRozsah platnosti schémy (1 = podľa kategórie, 2 = priama, 3 = globálna). Predvolené: 1
param_schema_codestringKód schémy (najviac 50 znakov)
param_unit_idintIdentifikátor mernej jednotky. Pri hodnote 0 alebo prázdnej hodnote nie je merná jednotka.
param_orderintPoradie zobrazenia (predvolené: 0)
param_schema_round_decimalintPočet desatinných miest pri parametri typu číslo (param_type_id = 1), v rozsahu 0-5 (predvolené: 0)
param_enumarrayPole vybrateľných hodnôt. Uloží sa iba pri param_type_id = 5 (uchovávané ako JSON, najviac 1000 znakov), pri iných typoch ho systém zmaže.
param_type_usableintPríznak použiteľnosti podľa typu: 0 = nie, 1 = áno (predvolené: 0)
param_fusionintPríznak zlúčenia: 0 = nie, 1 = áno (predvolené: 0)
param_schema_cash_register_showintČi sa má zobrazovať v pokladnici: 0 = nie, 1 = áno (predvolené: 0)
param_schema_column_idintIdentifikátor dátového stĺpca produktu. Pri úprave prepíše predchádzajúcu hodnotu iba hodnotou väčšou ako 0, väzbu nie je možné úpravou odstrániť.
category_idsarrayPole identifikátorov kategórií produktov, ku ktorým schéma patrí. Pri zadaní sa predchádzajúce priradenia schémy ku kategóriám úplne nahradia (prázdne pole odstráni všetky). Ak pole chýba, priradenia sa nezmenia.
Úprava prepíše všetky údaje schémy: vynechané nepovinné polia sa vrátia na svoju predvolenú hodnotu (napr. param_order = 0, param_schema_type_id = 1, param_schema_code = null). Pri úprave preto vždy odošlite všetky polia schémy.

Príklad požiadavky - parameter typu číslo

POST /api/product_param_schema/save
X-API-KEY: {vas_api_kluc}
Content-Type: application/json

{
  "data": {
    "id": 0,
    "param_name": "Hrubá hmotnosť",
    "param_type_id": 1,
    "param_schema_type_id": 1,
    "param_schema_code": "WEIGHT_GROSS",
    "param_unit_id": 4,
    "param_order": 1,
    "param_schema_round_decimal": 2,
    "category_ids": [3, 8]
  }
}

Príklad požiadavky - parameter typu súbor hodnôt

POST /api/product_param_schema/save
X-API-KEY: {vas_api_kluc}
Content-Type: application/json

{
  "data": {
    "id": 0,
    "param_name": "Alergény",
    "param_type_id": 5,
    "param_enum": ["Lepok", "Mlieko", "Vajcia"],
    "param_schema_type_id": 3,
    "param_schema_cash_register_show": 1,
    "param_order": 2
  }
}

Príklad odpovede

{
  "result": { "code": 1, "message": "success" },
  "data": {
    "id": 9
  }
}
POST /api/product_param_schema/delete

Odstránenie schémy parametra produktu na základe identifikátora. Odstránenie je logické: schéma dostane označenie remove = 1, následne ju zoznam nevracia. Priradenia schémy ku kategóriám a k nej patriace hodnoty parametrov zostanú zachované, ale hodnoty odstránenej schémy sa nezobrazujú ani v zozname API parametra produktu.

POST polia

PoleTypPovinnéPopis
idintIdentifikátor schémy parametra určenej na odstránenie

Príklad požiadavky

POST /api/product_param_schema/delete
X-API-KEY: {vas_api_kluc}
Content-Type: application/json

{
  "id": 9
}

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!