API schemă parametru produs

Gestionarea schemei parametrilor personalizați care pot fi atribuiți produselor - obținere, listă, salvare și ștergere

URL de bază

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

Fiecare cerere returnează un răspuns JSON. În cazul unui răspuns cu succes result.code == 1, în caz de eroare result.code == 0. Schema determină ce parametri personalizați (de ex. caracteristici tehnice, dimensiuni) pot aparține produselor: denumire, tip, unitate de măsură, ordine și atribuirea la categorii. Valorile concrete ale parametrilor sunt gestionate de API parametru produs.

Câmpurile schemei

CâmpTipDescriere
idintIdentificatorul unic al schemei
param_namestringDenumirea parametrului (maximum 150 de caractere)
param_type_idintTipul valorii parametrului (vezi mai jos)
param_schema_type_idintDomeniul de aplicare al schemei (vezi mai jos)
param_schema_codestringCodul unic al schemei (maximum 50 de caractere), opțional
param_unit_idintIdentificatorul unității de măsură, null dacă nu există unitate de măsură
param_orderintOrdinea de afișare
param_schema_round_decimalintNumărul de zecimale pentru parametrii de tip număr (0-5)
param_enumstringTabloul JSON al valorilor selectabile, sub formă de text (maximum 1000 de caractere), completat doar pentru param_type_id = 5, altfel null
param_type_usableintIndicator de utilizabilitate în funcție de tip (0 = nu, 1 = da)
param_fusionintIndicator de unificare (0 = nu, 1 = da): pe baza valorii identice a acestor scheme, grupurile de produse pot fi unificate (de ex. la sincronizarea cu magazinul online)
param_schema_cash_register_showintDacă se afișează în casa de marcat (0 = nu, 1 = da)
param_schema_column_idintIdentificatorul coloanei de date a produsului de care este legată valoarea parametrului (completare automată, import). null dacă nu este specificat.
category_idintCâmp moștenit, necompletat la schemele mai noi. Atribuirea la categorii este gestionată de câmpul category_ids.
removeintIndicator de ștergere (0 = activ, 1 = șters)

Valori posibile pentru param_type_id

ValoareDenumireDescriere
1NumărValoare numerică, opțional cu unitate de măsură (param_unit_id) și număr de zecimale (param_schema_round_decimal)
2TextValoare text liberă
3LogicValoare da / nu
4Link textValoare text tratată ca hyperlink
5Set de valoriSe pot alege mai multe dintre valorile posibile predefinite (param_enum)

Valori posibile pentru param_schema_type_id

ValoareDenumireDescriere
1În funcție de categorieCategoria produsului (și categoriile părinte) determină dacă parametrul se afișează (implicit)
2DirectNu este legat de o categorie, trebuie adăugat explicit la produsul / grupul de produse respectiv
3GlobalApare automat în fișa tuturor produselor, indiferent de categorie
GET /api/product_param_schema/get

Obținerea unei singure scheme de parametru de produs pe baza identificatorului. Returnează și schema ștearsă (remove = 1), starea ei fiind indicată de câmpul remove. Dacă schema nu există, răspunsul este result.code == 0 cu mesajul Not found.

Parametri de interogare

ParametruTipObligatoriuDescriere
idintIdentificatorul unic al schemei parametrului

Exemplu de cerere

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

Exemplu de răspuns

{
  "result": { "code": 1, "message": "success" },
  "data": {
    "id": 7,
    "category_id": null,
    "param_type_id": 1,
    "param_name": "Greutate brută",
    "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

Lista schemelor de parametri de produs (fără schemele șterse), ordonată după ordinea de afișare și identificator. Pe lângă câmpurile schemei, răspunsul conține și datele tipului de parametru, ale unității de măsură și ale categoriilor atribuite. În lipsa rezultatelor, răspunsul este result.code == 0 cu mesajul Not found.

Parametri de interogare

ParametruTipObligatoriuDescriere
list_offsetintNumărul de rezultate omise (implicit: 0). Numărul de rezultate nu poate fi limitat.
list_condition[name]stringFiltrare după denumirea schemei (potrivire parțială)
list_condition[parent_category_id]intFiltrare după o categorie de produse și toate subcategoriile ei: sunt returnate schemele atribuite acestei categorii sau uneia dintre descendentele ei
list_condition[category_ids]arrayFiltrare după schemele atribuite categoriilor de produse specificate
list_condition[category_id]intFiltru moștenit pentru vechiul câmp category_id al schemei (necompletat la schemele mai noi, de aceea de obicei nu returnează rezultate). Pentru filtrarea după categorie folosiți filtrul category_ids sau parent_category_id.
list_condition[param_schema_cash_register_show]int1 = doar schemele care se afișează în casa de marcat, 2 = doar schemele care nu se afișează în casa de marcat
list_condition[param_schema_type_id_fixer_product_group_id]intSchemele aparținând unui grup de produse: schemele globale (param_schema_type_id = 3), precum și schemele în funcție de categorie și cele directe care au o valoare nevidă la grupul de produse respectiv
list_condition[param_schema_type_id_fixer_product_id]intCa la precedentul, dar pentru un produs concret. Dacă ambele sunt specificate, are prioritate varianta product_group_id.
Filtrele category_ids și cele două filtre *_fixer_* sunt legate între ele prin SAU, celelalte filtre funcționează prin ȘI.

Câmpuri suplimentare în răspuns

Elementele listei conțin toate câmpurile din tabelul Câmpurile schemei de mai sus, și în plus:

CâmpTipDescriere
param_type_namestringDenumirea tipului de parametru
unit_name_shortstringDenumirea scurtă a unității de măsură, null dacă nu există unitate de măsură
category_idsstringIdentificatorii categoriilor de produse atribuite, separați prin virgulă (de ex. "3,8,12")
category_namestringCalea categoriilor de produse atribuite, separată prin caracterul |

Câmpul params al răspunsului conține valorile list_count, list_offset și list_all (numărul de rezultate).

Exemplu de cerere

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

Exemplu de răspuns

{
  "result": { "code": 1, "message": "success" },
  "data": [
    {
      "id": 7,
      "category_id": null,
      "param_type_id": 1,
      "param_name": "Greutate brută",
      "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": "Număr",
      "unit_name_short": "kg",
      "category_ids": "3,8",
      "category_name": "Alimente | Alimente/Panificație"
    },
    {
      "id": 9,
      "category_id": null,
      "param_type_id": 5,
      "param_name": "Alergeni",
      "param_type_usable": 0,
      "param_fusion": 0,
      "param_enum": "[\"Gluten\",\"Lapte\",\"Ouă\"]",
      "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": "Set de valori",
      "unit_name_short": null,
      "category_ids": "3",
      "category_name": "Alimente"
    }
  ],
  "params": { "list_count": 999999, "list_offset": 0, "list_all": 2 }
}
POST /api/product_param_schema/save

Crearea sau modificarea unei scheme de parametru de produs. Pentru o schemă nouă se specifică data[id] = 0, pentru modificare se specifică identificatorul existent.

Câmpuri POST - obiectul data

CâmpTipObligatoriuDescriere
idint0 = schemă nouă, >0 = modificare
param_namestringDenumirea parametrului (maximum 150 de caractere)
param_type_idintTipul parametrului (1 = număr, 2 = text, 3 = logic, 4 = link text, 5 = set de valori)
param_schema_type_idintDomeniul de aplicare al schemei (1 = în funcție de categorie, 2 = direct, 3 = global). Implicit: 1
param_schema_codestringCodul schemei (maximum 50 de caractere)
param_unit_idintIdentificatorul unității de măsură. Pentru valoarea 0 sau goală nu există unitate de măsură.
param_orderintOrdinea de afișare (implicit: 0)
param_schema_round_decimalintNumărul de zecimale pentru parametrii de tip număr (param_type_id = 1), între 0 și 5 (implicit: 0)
param_enumarrayTabloul valorilor selectabile. Se salvează doar pentru param_type_id = 5 (stocat ca JSON, maximum 1000 de caractere), pentru alte tipuri sistemul îl șterge.
param_type_usableintIndicator de utilizabilitate în funcție de tip: 0 = nu, 1 = da (implicit: 0)
param_fusionintIndicator de unificare: 0 = nu, 1 = da (implicit: 0)
param_schema_cash_register_showintDacă se afișează în casa de marcat: 0 = nu, 1 = da (implicit: 0)
param_schema_column_idintIdentificatorul coloanei de date a produsului. La modificare suprascrie valoarea anterioară doar cu o valoare mai mare ca 0, referința nu poate fi ștearsă prin modificare.
category_idsarrayTabloul identificatorilor categoriilor de produse cărora le aparține schema. Dacă este specificat, atribuirile anterioare ale schemei la categorii sunt înlocuite integral (un tablou gol le șterge pe toate). Dacă câmpul lipsește, atribuirile nu se modifică.
Modificarea suprascrie toate datele schemei: câmpurile opționale omise revin la valoarea lor implicită (de ex. param_order = 0, param_schema_type_id = 1, param_schema_code = null). De aceea, la modificare trimiteți întotdeauna toate câmpurile schemei.

Exemplu de cerere - parametru de tip număr

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

{
  "data": {
    "id": 0,
    "param_name": "Greutate brută",
    "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]
  }
}

Exemplu de cerere - parametru de tip set de valori

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

{
  "data": {
    "id": 0,
    "param_name": "Alergeni",
    "param_type_id": 5,
    "param_enum": ["Gluten", "Lapte", "Ouă"],
    "param_schema_type_id": 3,
    "param_schema_cash_register_show": 1,
    "param_order": 2
  }
}

Exemplu de răspuns

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

Ștergerea unei scheme de parametru de produs pe baza identificatorului. Ștergerea este logică: schema primește marcajul remove = 1, după care lista nu o mai returnează. Atribuirile schemei la categorii și valorile parametrilor aferenți rămân, dar valorile schemei șterse nu mai apar nici în lista API parametru produs.

Câmpuri POST

CâmpTipObligatoriuDescriere
idintIdentificatorul schemei de parametru de șters

Exemplu de cerere

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

{
  "id": 9
}

Exemplu de răspuns

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

Ia legătura cu noi

Ești interesat de software-ul nostru? Scrie-ne cu încredere!

Ai nevoie de ajutor?

Dacă nu găsești răspunsul și ai nevoie de asistență

Creează-ți contul acum,
plătește mai târziu!

Încearcă gratuit timp de 3 zile, fără riscuri și fără obligații!