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âmp | Tip | Descriere |
|---|---|---|
id | int | Identificatorul unic al schemei |
param_name | string | Denumirea parametrului (maximum 150 de caractere) |
param_type_id | int | Tipul valorii parametrului (vezi mai jos) |
param_schema_type_id | int | Domeniul de aplicare al schemei (vezi mai jos) |
param_schema_code | string | Codul unic al schemei (maximum 50 de caractere), opțional |
param_unit_id | int | Identificatorul unității de măsură, null dacă nu există unitate de măsură |
param_order | int | Ordinea de afișare |
param_schema_round_decimal | int | Numărul de zecimale pentru parametrii de tip număr (0-5) |
param_enum | string | Tabloul JSON al valorilor selectabile, sub formă de text (maximum 1000 de caractere), completat doar pentru param_type_id = 5, altfel null |
param_type_usable | int | Indicator de utilizabilitate în funcție de tip (0 = nu, 1 = da) |
param_fusion | int | Indicator 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_show | int | Dacă se afișează în casa de marcat (0 = nu, 1 = da) |
param_schema_column_id | int | Identificatorul coloanei de date a produsului de care este legată valoarea parametrului (completare automată, import). null dacă nu este specificat. |
category_id | int | Câmp moștenit, necompletat la schemele mai noi. Atribuirea la categorii este gestionată de câmpul category_ids. |
remove | int | Indicator de ștergere (0 = activ, 1 = șters) |
Valori posibile pentru param_type_id
| Valoare | Denumire | Descriere |
|---|---|---|
1 | Număr | Valoare numerică, opțional cu unitate de măsură (param_unit_id) și număr de zecimale (param_schema_round_decimal) |
2 | Text | Valoare text liberă |
3 | Logic | Valoare da / nu |
4 | Link text | Valoare text tratată ca hyperlink |
5 | Set de valori | Se pot alege mai multe dintre valorile posibile predefinite (param_enum) |
Valori posibile pentru param_schema_type_id
| Valoare | Denumire | Descriere |
|---|---|---|
1 | În funcție de categorie | Categoria produsului (și categoriile părinte) determină dacă parametrul se afișează (implicit) |
2 | Direct | Nu este legat de o categorie, trebuie adăugat explicit la produsul / grupul de produse respectiv |
3 | Global | Apare automat în fișa tuturor produselor, indiferent de categorie |
/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
| Parametru | Tip | Obligatoriu | Descriere |
|---|---|---|---|
id | int | Identificatorul 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
}
}
/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
| Parametru | Tip | Obligatoriu | Descriere |
|---|---|---|---|
list_offset | int | Numărul de rezultate omise (implicit: 0). Numărul de rezultate nu poate fi limitat. | |
list_condition[name] | string | Filtrare după denumirea schemei (potrivire parțială) | |
list_condition[parent_category_id] | int | Filtrare după o categorie de produse și toate subcategoriile ei: sunt returnate schemele atribuite acestei categorii sau uneia dintre descendentele ei | |
list_condition[category_ids] | array | Filtrare după schemele atribuite categoriilor de produse specificate | |
list_condition[category_id] | int | Filtru 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] | int | 1 = 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] | int | Schemele 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] | int | Ca la precedentul, dar pentru un produs concret. Dacă ambele sunt specificate, are prioritate varianta product_group_id. |
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âmp | Tip | Descriere |
|---|---|---|
param_type_name | string | Denumirea tipului de parametru |
unit_name_short | string | Denumirea scurtă a unității de măsură, null dacă nu există unitate de măsură |
category_ids | string | Identificatorii categoriilor de produse atribuite, separați prin virgulă (de ex. "3,8,12") |
category_name | string | Calea 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 }
}
/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âmp | Tip | Obligatoriu | Descriere |
|---|---|---|---|
id | int | 0 = schemă nouă, >0 = modificare | |
param_name | string | Denumirea parametrului (maximum 150 de caractere) | |
param_type_id | int | Tipul parametrului (1 = număr, 2 = text, 3 = logic, 4 = link text, 5 = set de valori) | |
param_schema_type_id | int | Domeniul de aplicare al schemei (1 = în funcție de categorie, 2 = direct, 3 = global). Implicit: 1 | |
param_schema_code | string | Codul schemei (maximum 50 de caractere) | |
param_unit_id | int | Identificatorul unității de măsură. Pentru valoarea 0 sau goală nu există unitate de măsură. | |
param_order | int | Ordinea de afișare (implicit: 0) | |
param_schema_round_decimal | int | Numărul de zecimale pentru parametrii de tip număr (param_type_id = 1), între 0 și 5 (implicit: 0) | |
param_enum | array | Tabloul 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_usable | int | Indicator de utilizabilitate în funcție de tip: 0 = nu, 1 = da (implicit: 0) | |
param_fusion | int | Indicator de unificare: 0 = nu, 1 = da (implicit: 0) | |
param_schema_cash_register_show | int | Dacă se afișează în casa de marcat: 0 = nu, 1 = da (implicit: 0) | |
param_schema_column_id | int | Identificatorul 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_ids | array | Tabloul 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ă. |
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
}
}
/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âmp | Tip | Obligatoriu | Descriere |
|---|---|---|---|
id | int | Identificatorul 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": {}
}
Ești interesat de software-ul nostru? Scrie-ne cu încredere!
Dacă nu găsești răspunsul și ai nevoie de asistență
Creează-ți contul acum,
plătește mai târziu!