Termék paraméter API

Termékcsoportokhoz és termékekhez tartozó paraméter értékek kezelése - lekérés, lista, mentés és törlés

Alap URL

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

Minden kérés JSON választ ad vissza. Sikeres válasz esetén result.code == 1, hiba esetén result.code == 0. Ez az API a termékekhez rendelt paraméterek értékeit kezeli. Az elérhető paraméterek definícióját (név, típus, mértékegység, kategória hozzárendelés) a Termék paraméter séma API tartalmazza, az értékek a param_schema_id mezőn keresztül kapcsolódnak hozzá.

Csoport szintű és termék szintű érték

Egy paraméter értéke két szinten adható meg:

Szintproduct_idLeírás
Csoport szintűnullAz érték a termékcsoport (product_group_id) minden termékére vonatkozik. Ez a megszokott, alapértelmezett szint.
Termék szintűkitöltöttAz érték egy konkrét termékre vonatkozik, a megadott product_group_id termékcsoporton belül.

A get és a save végpont a product_id megadásától függően a megfelelő szinten dolgozik: product_id nélkül csak a csoport szintű értéket veszi figyelembe.

param_value formátuma típusonként

Az érték a séma param_type_id mezője szerint értelmezendő. Tárolása szövegként történik, legfeljebb 1500 karakter.

param_type_idTípusAz érték formátuma
1SzámTizedes ponttal írt szám szövegként, pl. "12.50". A megjelenített tizedesjegyek számát a séma param_schema_round_decimal mezője adja, a mértékegységet a param_unit_id.
2SzövegSzabad szöveg, pl. "Piros"
3Logikai"1" = igen, "0" = nem
4Szöveges linkHivatkozás szövegként, pl. "https://pelda.hu/adatlap.pdf"
5ÉrtékkészletA kiválasztott értékek JSON tömbje szövegként, pl. "[\"Glutén\",\"Tej\"]". Az elemek a séma param_enum listájából valók. Mentéskor a param_value közvetlenül tömbként is megadható, az API szövegesen tárolja.

Az érték rekord mezői

MezőTípusLeírás
idintAz érték rekord egyedi azonosítója
param_schema_idintA paraméter séma azonosítója (Termék paraméter séma API)
param_valuestringA paraméter értéke (formátuma a fenti táblázat szerint), legfeljebb 1500 karakter
product_group_idintA termékcsoport azonosítója
product_idintA termék azonosítója termék szintű értéknél, csoport szintű értéknél null
GET /api/product_param/get

Egyetlen paraméter érték lekérése. Megadható közvetlenül az érték azonosítója (id), vagy a termékcsoport és a séma kombinációja. Legalább egy paramétert meg kell adni, egyébként result.code == 0 és Not found üzenet a válasz.

Query paraméterek

ParaméterTípusKötelezőLeírás
idintAz érték rekord azonosítója
product_group_idintA termékcsoport azonosítója
param_schema_idintA paraméter séma azonosítója
product_idintA termék azonosítója. Megadásakor a termék szintű értéket keresi, egyébként csak a csoport szintűt.
A szűrők ÉS kapcsolatban működnek, és a legelső találatot adják vissza. A pontos, egyedi találathoz használd az id-t, vagy a product_group_id és param_schema_id párost.

Példa kérés

GET /api/product_param/get?product_group_id=120&param_schema_id=7
X-API-KEY: {az_api_kulcsod}

Példa válasz

{
  "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

Paraméter értékek listája a séma adataival kiegészítve. A törölt (remove = 1) sémákhoz tartozó értékek nem jelennek meg. Találat hiányában result.code == 0 és Not found üzenet a válasz.

Query paraméterek

ParaméterTípusKötelezőLeírás
list_condition[product_group_id]intSzűrés egy termékcsoport értékeire
list_condition[product_id]intSzűrés egy termék szintű értékeire
list_condition[param_schema_id]intSzűrés egy paraméter sémára
list_condition[param_value_not_empty]int1 esetén csak a kitöltött (nem üres) értékek
list_condition[category_id]intÖrökölt szűrő a séma régi category_id mezőjére (az újabb sémáknál nincs kitöltve, ezért általában nem ad találatot)
A lista nem lapozható, és szűrő nélkül a tenant összes paraméter értékét visszaadja. Nagy törzsadatnál ez nagy méretű válasz lehet, ezért érdemes legalább a product_group_id vagy a param_schema_id szűrőt használni.

Kiegészítő válaszmezők

A lista elemei az Az érték rekord mezői táblázat mezőit tartalmazzák, ezen felül:

MezőTípusLeírás
param_namestringA paraméter megnevezése a sémából
param_type_idintA paraméter típusa (1 = szám, 2 = szöveg, 3 = logikai, 4 = szöveges link, 5 = értékkészlet)
param_type_namestringA paraméter típusának megnevezése
param_schema_round_decimalintTizedesjegyek száma szám típusú paraméternél
unit_name_shortstringA mértékegység rövid neve, null ha nincs mértékegység
category_idintÖrökölt mező, általában üres. A séma kategória hozzárendelését a Termék paraméter séma API category_ids mezője adja.
category_namestringÖrökölt mező, általában üres

Példa kérés

GET /api/product_param/list?list_condition[product_group_id]=120&list_condition[param_value_not_empty]=1
X-API-KEY: {az_api_kulcsod}

Példa válasz

{
  "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": "Bruttó tömeg",
      "category_id": null,
      "param_type_id": 1,
      "param_schema_round_decimal": 2,
      "unit_name_short": "kg",
      "category_name": null,
      "param_type_name": "Szám"
    },
    {
      "id": 3452,
      "param_schema_id": 9,
      "param_value": "[\"Glutén\",\"Tej\"]",
      "product_group_id": 120,
      "product_id": null,
      "param_name": "Allergének",
      "category_id": null,
      "param_type_id": 5,
      "param_schema_round_decimal": 0,
      "unit_name_short": null,
      "category_name": null,
      "param_type_name": "Értékkészlet"
    }
  ]
}
POST /api/product_param/save

Paraméter érték létrehozása vagy módosítása. Az id megadása nem kötelező: ha nincs megadva, a rendszer a product_group_id, param_schema_id és (ha van) product_id alapján megkeresi a meglévő értéket, és azt módosítja, ha pedig nincs ilyen, újat hoz létre. Így ugyanazt a kérést többször elküldve nem keletkezik duplikált érték.

POST mezők - data objektum

MezőTípusKötelezőLeírás
idintMeglévő érték rekord azonosítója. Ha meg van adva, de nem létezik, a kérés Not found hibával tér vissza.
param_schema_idintA paraméter séma azonosítója
product_group_idintA termékcsoport azonosítója
param_valuestring | arrayA paraméter értéke a típusának megfelelő formátumban (lásd fent). Értékkészlet típusnál tömb is megadható. Üres szöveg ("") is érvényes, ilyenkor az érték törlődik, de a rekord megmarad.
product_idintA termék azonosítója termék szintű érték mentéséhez. Ha kimarad, csoport szintű értéket ment.
A product_id egy meglévő rekordnál nem törölhető és nem is nullázható módosítással: a termék szintű rekord termék szintű marad. A csoport szintű értéket a product_id megadása nélkül lehet módosítani.

POST mezők - params objektum (opcionális)

MezőTípusKötelezőLeírás
create_webhookint1 = mentés után termék feltöltési esemény (webhook) jön létre azokhoz az aktív integrációkhoz, ahol a termék feltöltés engedélyezett, így a paraméter módosítás a webáruházba is átkerül. Az esemény a szinkronizálható termékekhez jön létre: termék szintű értéknél az adott termékhez, csoport szintű értéknél (product_id nélkül) a termékcsoport összes termékéhez. Ha az adott termékhez már van el nem küldött esemény, nem keletkezik duplikált.

Példa kérés - csoport szintű szám érték

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

{
  "data": {
    "param_schema_id": 7,
    "product_group_id": 120,
    "param_value": "12.50"
  },
  "params": {
    "create_webhook": 1
  }
}

Példa kérés - termék szintű érték

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

{
  "data": {
    "param_schema_id": 2,
    "product_group_id": 120,
    "product_id": 845,
    "param_value": "Piros"
  }
}

Példa kérés - értékkészlet típusú érték

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

{
  "data": {
    "param_schema_id": 9,
    "product_group_id": 120,
    "param_value": ["Glutén", "Tej"]
  }
}

Példa válasz

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

Paraméter érték törlése azonosító alapján. A törlés végleges: a rekord eltávolításra kerül (a paraméter sémát ez nem érinti). Ha csak az érték tartalmát szeretnéd üríteni, használd a save végpontot üres param_value-val.

POST mezők

MezőTípusKötelezőLeírás
idintA törlendő paraméter érték rekord azonosítója

POST mezők - params objektum (opcionális)

MezőTípusKötelezőLeírás
create_webhookint1 = törlés után termék feltöltési esemény (webhook) jön létre a törölt érték termékéhez, csoport szintű értéknél a termékcsoport összes termékéhez (a részleteket lásd a save végpontnál).

Példa kérés

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

{
  "id": 3451,
  "params": {
    "create_webhook": 1
  }
}

Példa válasz

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

Vedd fel a kapcsolatot velünk

Érdeklődsz a szoftverünkkel kapcsolatban, írj bátran!

Segítségre van szükséged?

Ha nem találod a választ és szükséged van segítségre

Regisztrációdat hozd létre most,
fizess később!

Próbáld ki 3 napig ingyen, kockázatok és kötöttségek nélkül!