API parametra produktu

Správa hodnôt parametrov patriacich ku skupinám produktov a produktom - získanie, zoznam, uloženie a odstránenie

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_idPopis
Na úrovni skupinynullHodnota sa vzťahuje na všetky produkty skupiny produktov (product_group_id). Ide o obvyklú, predvolenú úroveň.
Na úrovni produktuvyplnené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_idTypFormá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.
2TextVoľný text, napr. "Červená"
3Logická hodnota"1" = áno, "0" = nie
4Textový odkazOdkaz ako text, napr. "https://priklad.sk/technicky-list.pdf"
5Súbor hodnôtJSON 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

PoleTypPopis
idintJedinečný identifikátor záznamu hodnoty
param_schema_idintIdentifikátor schémy parametra (API schémy parametra produktu)
param_valuestringHodnota parametra (formát podľa tabuľky vyššie), najviac 1500 znakov
product_group_idintIdentifikátor skupiny produktov
product_idintIdentifikátor produktu pri hodnote na úrovni produktu, pri hodnote na úrovni skupiny null
GET /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

ParameterTypPovinnéPopis
idintIdentifikátor záznamu hodnoty
product_group_idintIdentifikátor skupiny produktov
param_schema_idintIdentifikátor schémy parametra
product_idintIdentifikátor produktu. Pri zadaní hľadá hodnotu na úrovni produktu, inak iba na úrovni skupiny.
Filtre pôsobia vo vzťahu A a vracajú úplne prvý nájdený záznam. Na presný, jednoznačný výsledok použite id, alebo dvojicu product_group_id a param_schema_id.

Príklad požiadavky

GET /api/product_param/get?product_group_id=120&param_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
  }
}
GET /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

ParameterTypPovinnéPopis
list_condition[product_group_id]intFiltrovanie podľa hodnôt jednej skupiny produktov
list_condition[product_id]intFiltrovanie podľa hodnôt jedného produktu na úrovni produktu
list_condition[param_schema_id]intFiltrovanie podľa jednej schémy parametra
list_condition[param_value_not_empty]intPri hodnote 1 iba vyplnené (neprázdne) hodnoty
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)
Zoznam nie je stránkovateľný a bez filtra vracia všetky hodnoty parametrov tenanta. Pri veľkom objeme kmeňových údajov to môže byť veľká odpoveď, preto je vhodné použiť aspoň filter product_group_id alebo param_schema_id.

Doplnkové polia odpovede

Položky zoznamu obsahujú polia tabuľky Polia záznamu hodnoty, a navyše:

PoleTypPopis
param_namestringNázov parametra zo schémy
param_type_idintTyp parametra (1 = číslo, 2 = text, 3 = logická hodnota, 4 = textový odkaz, 5 = súbor hodnôt)
param_type_namestringNázov typu parametra
param_schema_round_decimalintPočet desatinných miest pri parametri typu číslo
unit_name_shortstringKrátky názov mernej jednotky, null ak nie je merná jednotka
category_idintZastaralé pole, zvyčajne prázdne. Priradenie schémy ku kategórii udáva pole category_ids v API schémy parametra produktu.
category_namestringZastaralé 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"
    }
  ]
}
POST /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

PoleTypPovinnéPopis
idintIdentifikátor existujúceho záznamu hodnoty. Ak je zadaný, ale neexistuje, požiadavka skončí chybou Not found.
param_schema_idintIdentifikátor schémy parametra
product_group_idintIdentifikátor skupiny produktov
param_valuestring | arrayHodnota 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_idintIdentifiká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ý)

PoleTypPovinnéPopis
create_webhookint1 = 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
  }
}
POST /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

PoleTypPovinnéPopis
idintIdentifikátor záznamu hodnoty parametra určeného na odstránenie

POST polia - objekt params (voliteľný)

PoleTypPovinnéPopis
create_webhookint1 = 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": {}
}

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!