URL de bază
https://{tenant}.logzi.com/api/product_param/
Fiecare cerere returnează un răspuns JSON. În cazul unui răspuns cu succes result.code == 1, în caz de eroare result.code == 0. Acest API gestionează valorile parametrilor atribuiți produselor. Definiția parametrilor disponibili (denumire, tip, unitate de măsură, atribuire la categorii) se găsește în API schemă parametru produs, valorile fiind legate de aceasta prin câmpul param_schema_id.
Valoare la nivel de grup și la nivel de produs
Valoarea unui parametru poate fi specificată la două niveluri:
| Nivel | product_id | Descriere |
|---|---|---|
| La nivel de grup | null | Valoarea se aplică tuturor produselor din grupul de produse (product_group_id). Acesta este nivelul obișnuit, implicit. |
| La nivel de produs | completat | Valoarea se aplică unui produs concret, în cadrul grupului de produse product_group_id specificat. |
Endpoint-urile get și save lucrează la nivelul corespunzător, în funcție de specificarea product_id: fără product_id iau în considerare doar valoarea la nivel de grup.
Formatul param_value în funcție de tip
Valoarea se interpretează conform câmpului param_type_id al schemei. Se stochează ca text, maximum 1500 de caractere.
param_type_id | Tip | Formatul valorii |
|---|---|---|
1 | Număr | Număr scris cu punct zecimal, sub formă de text, de ex. "12.50". Numărul de zecimale afișate este dat de câmpul param_schema_round_decimal al schemei, unitatea de măsură de param_unit_id. |
2 | Text | Text liber, de ex. "Roșu" |
3 | Logic | "1" = da, "0" = nu |
4 | Link text | Hyperlink sub formă de text, de ex. "https://exemplu.ro/fisa-tehnica.pdf" |
5 | Set de valori | Tabloul JSON al valorilor selectate, sub formă de text, de ex. "[\"Gluten\",\"Lapte\"]". Elementele provin din lista param_enum a schemei. La salvare, param_value poate fi specificat direct și ca tablou, API-ul îl stochează ca text. |
Câmpurile înregistrării de valoare
| Câmp | Tip | Descriere |
|---|---|---|
id | int | Identificatorul unic al înregistrării de valoare |
param_schema_id | int | Identificatorul schemei parametrului (API schemă parametru produs) |
param_value | string | Valoarea parametrului (formatul conform tabelului de mai sus), maximum 1500 de caractere |
product_group_id | int | Identificatorul grupului de produse |
product_id | int | Identificatorul produsului în cazul unei valori la nivel de produs, null în cazul unei valori la nivel de grup |
/api/product_param/get
Obținerea valorii unui singur parametru. Se poate specifica direct identificatorul valorii (id) sau combinația dintre grupul de produse și schemă. Trebuie specificat cel puțin un parametru, în caz contrar răspunsul este result.code == 0 cu mesajul Not found.
Parametri de interogare
| Parametru | Tip | Obligatoriu | Descriere |
|---|---|---|---|
id | int | Identificatorul înregistrării de valoare | |
product_group_id | int | Identificatorul grupului de produse | |
param_schema_id | int | Identificatorul schemei parametrului | |
product_id | int | Identificatorul produsului. Dacă este specificat, caută valoarea la nivel de produs, altfel doar pe cea la nivel de grup. |
id, sau perechea product_group_id și param_schema_id.
Exemplu de cerere
GET /api/product_param/get?product_group_id=120¶m_schema_id=7
X-API-KEY: {cheia_dvs_api}
Exemplu de răspuns
{
"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
Lista valorilor parametrilor, completată cu datele schemei. Valorile aferente schemelor șterse (remove = 1) nu apar. În lipsa rezultatelor, răspunsul este result.code == 0 cu mesajul Not found.
Parametri de interogare
| Parametru | Tip | Obligatoriu | Descriere |
|---|---|---|---|
list_condition[product_group_id] | int | Filtrare după valorile unui grup de produse | |
list_condition[product_id] | int | Filtrare după valorile la nivel de produs ale unui produs | |
list_condition[param_schema_id] | int | Filtrare după o schemă de parametru | |
list_condition[param_value_not_empty] | int | Pentru 1, doar valorile completate (nevide) | |
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) |
product_group_id sau param_schema_id.
Câmpuri suplimentare în răspuns
Elementele listei conțin câmpurile din tabelul Câmpurile înregistrării de valoare, și în plus:
| Câmp | Tip | Descriere |
|---|---|---|
param_name | string | Denumirea parametrului, din schemă |
param_type_id | int | Tipul parametrului (1 = număr, 2 = text, 3 = logic, 4 = link text, 5 = set de valori) |
param_type_name | string | Denumirea tipului de parametru |
param_schema_round_decimal | int | Numărul de zecimale pentru parametrii de tip număr |
unit_name_short | string | Denumirea scurtă a unității de măsură, null dacă nu există unitate de măsură |
category_id | int | Câmp moștenit, de obicei gol. Atribuirea schemei la categorii este dată de câmpul category_ids din API schemă parametru produs. |
category_name | string | Câmp moștenit, de obicei gol |
Exemplu de cerere
GET /api/product_param/list?list_condition[product_group_id]=120&list_condition[param_value_not_empty]=1
X-API-KEY: {cheia_dvs_api}
Exemplu de răspuns
{
"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": "Greutate brută",
"category_id": null,
"param_type_id": 1,
"param_schema_round_decimal": 2,
"unit_name_short": "kg",
"category_name": null,
"param_type_name": "Număr"
},
{
"id": 3452,
"param_schema_id": 9,
"param_value": "[\"Gluten\",\"Lapte\"]",
"product_group_id": 120,
"product_id": null,
"param_name": "Alergeni",
"category_id": null,
"param_type_id": 5,
"param_schema_round_decimal": 0,
"unit_name_short": null,
"category_name": null,
"param_type_name": "Set de valori"
}
]
}
/api/product_param/save
Crearea sau modificarea unei valori de parametru. Specificarea id este opțională: dacă nu este specificat, sistemul caută valoarea existentă pe baza product_group_id, param_schema_id și (dacă există) product_id și o modifică, iar dacă nu există, creează una nouă. Astfel, trimiterea repetată a aceleiași cereri nu generează valori duplicate.
Câmpuri POST - obiectul data
| Câmp | Tip | Obligatoriu | Descriere |
|---|---|---|---|
id | int | Identificatorul unei înregistrări de valoare existente. Dacă este specificat, dar nu există, cererea returnează eroarea Not found. | |
param_schema_id | int | Identificatorul schemei parametrului | |
product_group_id | int | Identificatorul grupului de produse | |
param_value | string | array | Valoarea parametrului în formatul corespunzător tipului său (vezi mai sus). La tipul set de valori se poate specifica și un tablou. Un text gol ("") este de asemenea valid, în acest caz valoarea se șterge, dar înregistrarea rămâne. | |
product_id | int | Identificatorul produsului, pentru salvarea unei valori la nivel de produs. Dacă lipsește, salvează o valoare la nivel de grup. |
product_id nu poate fi șters și nici setat la zero prin modificare: o înregistrare la nivel de produs rămâne la nivel de produs. Valoarea la nivel de grup poate fi modificată fără specificarea product_id.
Câmpuri POST - obiectul params (opțional)
| Câmp | Tip | Obligatoriu | Descriere |
|---|---|---|---|
create_webhook | int | 1 = după salvare se creează un eveniment de încărcare produs (webhook) pentru integrările active la care încărcarea produselor este activată, astfel modificarea parametrului este trimisă și în magazinul online. Evenimentul se creează pentru produsele sincronizabile: pentru o valoare la nivel de produs, pentru produsul respectiv; pentru o valoare la nivel de grup (fără product_id), pentru toate produsele grupului. Dacă pentru produs există deja un eveniment netrimis, nu se creează un duplicat. |
Exemplu de cerere - valoare numerică la nivel de grup
POST /api/product_param/save
X-API-KEY: {cheia_dvs_api}
Content-Type: application/json
{
"data": {
"param_schema_id": 7,
"product_group_id": 120,
"param_value": "12.50"
},
"params": {
"create_webhook": 1
}
}
Exemplu de cerere - valoare la nivel de produs
POST /api/product_param/save
X-API-KEY: {cheia_dvs_api}
Content-Type: application/json
{
"data": {
"param_schema_id": 2,
"product_group_id": 120,
"product_id": 845,
"param_value": "Roșu"
}
}
Exemplu de cerere - valoare de tip set de valori
POST /api/product_param/save
X-API-KEY: {cheia_dvs_api}
Content-Type: application/json
{
"data": {
"param_schema_id": 9,
"product_group_id": 120,
"param_value": ["Gluten", "Lapte"]
}
}
Exemplu de răspuns
{
"result": { "code": 1, "message": "success" },
"data": {
"id": 3451
}
}
/api/product_param/delete
Ștergerea unei valori de parametru pe baza identificatorului. Ștergerea este definitivă: înregistrarea este eliminată (schema parametrului nu este afectată). Dacă doriți doar să goliți conținutul valorii, folosiți endpoint-ul save cu param_value gol.
Câmpuri POST
| Câmp | Tip | Obligatoriu | Descriere |
|---|---|---|---|
id | int | Identificatorul înregistrării de valoare de parametru de șters |
Câmpuri POST - obiectul params (opțional)
| Câmp | Tip | Obligatoriu | Descriere |
|---|---|---|---|
create_webhook | int | 1 = după ștergere se creează un eveniment de încărcare produs (webhook) pentru produsul valorii șterse, iar în cazul unei valori la nivel de grup, pentru toate produsele grupului (detalii la endpoint-ul save). |
Exemplu de cerere
POST /api/product_param/delete
X-API-KEY: {cheia_dvs_api}
Content-Type: application/json
{
"id": 3451,
"params": {
"create_webhook": 1
}
}
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!