Základná URL
https://{tenant}.logzi.com/api/product_param/
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. Toto API spravuje hodnoty parametrov priradených k produktom. Definíciu dostupných parametrov (názov, typ, merná jednotka, priradenie ku kategórii) obsahuje API schémy parametra produktu, hodnoty sa k nej viažu cez pole param_schema_id.
Hodnota na úrovni skupiny a na úrovni produktu
Hodnotu parametra je možné zadať na dvoch úrovniach:
| Úroveň | product_id | Popis |
|---|---|---|
| Na úrovni skupiny | null | Hodnota sa vzťahuje na všetky produkty skupiny produktov (product_group_id). Ide o obvyklú, predvolenú úroveň. |
| Na úrovni produktu | vyplnené | Hodnota sa vzťahuje na konkrétny produkt, v rámci zadanej skupiny produktov product_group_id. |
Koncový bod get a save pracuje podľa zadania product_id na príslušnej úrovni: bez product_id berie do úvahy iba hodnotu na úrovni skupiny.
Formát param_value podľa typu
Hodnotu je potrebné interpretovať podľa poľa param_type_id schémy. Uchováva sa ako text, najviac 1500 znakov.
param_type_id | Typ | Formát hodnoty |
|---|---|---|
1 | Číslo | Číslo zapísané s desatinnou bodkou ako text, napr. "12.50". Počet zobrazených desatinných miest určuje pole param_schema_round_decimal schémy, mernú jednotku pole param_unit_id. |
2 | Text | Voľný text, napr. "Červená" |
3 | Logická hodnota | "1" = áno, "0" = nie |
4 | Textový odkaz | Odkaz ako text, napr. "https://priklad.sk/technicky-list.pdf" |
5 | Súbor hodnôt | JSON pole vybraných hodnôt ako text, napr. "[\"Lepok\",\"Mlieko\"]". Položky pochádzajú zo zoznamu param_enum schémy. Pri ukladaní je možné param_value zadať priamo aj ako pole, API ho uloží ako text. |
Polia záznamu hodnoty
| Pole | Typ | Popis |
|---|---|---|
id | int | Jedinečný identifikátor záznamu hodnoty |
param_schema_id | int | Identifikátor schémy parametra (API schémy parametra produktu) |
param_value | string | Hodnota parametra (formát podľa tabuľky vyššie), najviac 1500 znakov |
product_group_id | int | Identifikátor skupiny produktov |
product_id | int | Identifikátor produktu pri hodnote na úrovni produktu, pri hodnote na úrovni skupiny null |
/api/product_param/get
Získanie jednej hodnoty parametra. Je možné zadať priamo identifikátor hodnoty (id), alebo kombináciu skupiny produktov a schémy. Je potrebné zadať aspoň jeden parameter, inak je odpoveď result.code == 0 a správa Not found.
Parametre dotazu
| Parameter | Typ | Povinné | Popis |
|---|---|---|---|
id | int | Identifikátor záznamu hodnoty | |
product_group_id | int | Identifikátor skupiny produktov | |
param_schema_id | int | Identifikátor schémy parametra | |
product_id | int | Identifikátor produktu. Pri zadaní hľadá hodnotu na úrovni produktu, inak iba na úrovni skupiny. |
id, alebo dvojicu product_group_id a param_schema_id.
Príklad požiadavky
GET /api/product_param/get?product_group_id=120¶m_schema_id=7
X-API-KEY: {vas_api_kluc}
Príklad odpovede
{
"result": { "code": 1, "message": "success" },
"data": {
"id": 3451,
"param_schema_id": 7,
"param_value": "12.50",
"product_group_id": 120,
"product_id": null
}
}
/api/product_param/list
Zoznam hodnôt parametrov doplnený o údaje schémy. Hodnoty patriace k odstráneným (remove = 1) schémam sa nezobrazujú. Ak nie je nájdený žiadny záznam, odpoveď je result.code == 0 a správa Not found.
Parametre dotazu
| Parameter | Typ | Povinné | Popis |
|---|---|---|---|
list_condition[product_group_id] | int | Filtrovanie podľa hodnôt jednej skupiny produktov | |
list_condition[product_id] | int | Filtrovanie podľa hodnôt jedného produktu na úrovni produktu | |
list_condition[param_schema_id] | int | Filtrovanie podľa jednej schémy parametra | |
list_condition[param_value_not_empty] | int | Pri hodnote 1 iba vyplnené (neprázdne) hodnoty | |
list_condition[category_id] | int | Zastaralý filter na staré pole category_id schémy (pri novších schémach nie je vyplnené, preto zvyčajne nevracia žiadny záznam) |
product_group_id alebo param_schema_id.
Doplnkové polia odpovede
Položky zoznamu obsahujú polia tabuľky Polia záznamu hodnoty, a navyše:
| Pole | Typ | Popis |
|---|---|---|
param_name | string | Názov parametra zo schémy |
param_type_id | int | Typ parametra (1 = číslo, 2 = text, 3 = logická hodnota, 4 = textový odkaz, 5 = súbor hodnôt) |
param_type_name | string | Názov typu parametra |
param_schema_round_decimal | int | Počet desatinných miest pri parametri typu číslo |
unit_name_short | string | Krátky názov mernej jednotky, null ak nie je merná jednotka |
category_id | int | Zastaralé pole, zvyčajne prázdne. Priradenie schémy ku kategórii udáva pole category_ids v API schémy parametra produktu. |
category_name | string | Zastaralé pole, zvyčajne prázdne |
Príklad požiadavky
GET /api/product_param/list?list_condition[product_group_id]=120&list_condition[param_value_not_empty]=1
X-API-KEY: {vas_api_kluc}
Príklad odpovede
{
"result": { "code": 1, "message": "success" },
"data": [
{
"id": 3451,
"param_schema_id": 7,
"param_value": "12.50",
"product_group_id": 120,
"product_id": null,
"param_name": "Hrubá hmotnosť",
"category_id": null,
"param_type_id": 1,
"param_schema_round_decimal": 2,
"unit_name_short": "kg",
"category_name": null,
"param_type_name": "Číslo"
},
{
"id": 3452,
"param_schema_id": 9,
"param_value": "[\"Lepok\",\"Mlieko\"]",
"product_group_id": 120,
"product_id": null,
"param_name": "Alergény",
"category_id": null,
"param_type_id": 5,
"param_schema_round_decimal": 0,
"unit_name_short": null,
"category_name": null,
"param_type_name": "Súbor hodnôt"
}
]
}
/api/product_param/save
Vytvorenie alebo úprava hodnoty parametra. Zadanie id nie je povinné: ak nie je zadané, systém vyhľadá existujúcu hodnotu na základe product_group_id, param_schema_id a (ak existuje) product_id a upraví ju, ak takáto neexistuje, vytvorí novú. Pri opakovanom odoslaní tej istej požiadavky tak nevznikne duplicitná hodnota.
POST polia - objekt data
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
id | int | Identifikátor existujúceho záznamu hodnoty. Ak je zadaný, ale neexistuje, požiadavka skončí chybou Not found. | |
param_schema_id | int | Identifikátor schémy parametra | |
product_group_id | int | Identifikátor skupiny produktov | |
param_value | string | array | Hodnota parametra vo formáte zodpovedajúcom jeho typu (pozri vyššie). Pri type súbor hodnôt je možné zadať aj pole. Platný je aj prázdny text (""), vtedy sa hodnota vymaže, ale záznam zostane zachovaný. | |
product_id | int | Identifikátor produktu na uloženie hodnoty na úrovni produktu. Ak chýba, uloží hodnotu na úrovni skupiny. |
product_id existujúceho záznamu nie je možné úpravou odstrániť ani vynulovať: záznam na úrovni produktu zostáva na úrovni produktu. Hodnotu na úrovni skupiny je možné upraviť bez zadania product_id.
POST polia - objekt params (voliteľný)
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
create_webhook | int | 1 = po uložení sa vytvorí udalosť nahrania produktu (webhook) pre aktívne integrácie, ktoré majú povolené nahrávanie produktov, takže zmena parametra sa prenesie aj do e-shopu. Udalosť sa vytvára pre synchronizovateľné produkty: pri hodnote na úrovni produktu pre daný produkt, pri hodnote na úrovni skupiny (bez product_id) pre všetky produkty skupiny. Ak pre produkt už existuje neodoslaná udalosť, duplikát sa nevytvorí. |
Príklad požiadavky - číselná hodnota na úrovni skupiny
POST /api/product_param/save
X-API-KEY: {vas_api_kluc}
Content-Type: application/json
{
"data": {
"param_schema_id": 7,
"product_group_id": 120,
"param_value": "12.50"
},
"params": {
"create_webhook": 1
}
}
Príklad požiadavky - hodnota na úrovni produktu
POST /api/product_param/save
X-API-KEY: {vas_api_kluc}
Content-Type: application/json
{
"data": {
"param_schema_id": 2,
"product_group_id": 120,
"product_id": 845,
"param_value": "Červená"
}
}
Príklad požiadavky - hodnota typu súbor hodnôt
POST /api/product_param/save
X-API-KEY: {vas_api_kluc}
Content-Type: application/json
{
"data": {
"param_schema_id": 9,
"product_group_id": 120,
"param_value": ["Lepok", "Mlieko"]
}
}
Príklad odpovede
{
"result": { "code": 1, "message": "success" },
"data": {
"id": 3451
}
}
/api/product_param/delete
Odstránenie hodnoty parametra na základe identifikátora. Odstránenie je trvalé: záznam sa odstráni (schémy parametra sa to netýka). Ak chcete iba vyprázdniť obsah hodnoty, použite koncový bod save s prázdnym param_value.
POST polia
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
id | int | Identifikátor záznamu hodnoty parametra určeného na odstránenie |
POST polia - objekt params (voliteľný)
| Pole | Typ | Povinné | Popis |
|---|---|---|---|
create_webhook | int | 1 = po odstránení sa vytvorí udalosť nahrania produktu (webhook) pre produkt odstránenej hodnoty, pri hodnote na úrovni skupiny pre všetky produkty skupiny (podrobnosti pri endpointe save). |
Príklad požiadavky
POST /api/product_param/delete
X-API-KEY: {vas_api_kluc}
Content-Type: application/json
{
"id": 3451,
"params": {
"create_webhook": 1
}
}
Príklad odpovede
{
"result": { "code": 1, "message": "success" },
"data": {}
}
Zaregistruj sa teraz,
zaplať neskôr!