API Produs

Gestionarea produselor și articolelor — preluare, creare, modificare și informații despre stoc

URL de bază

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

Fiecare cerere returnează un răspuns JSON. În cazul unui răspuns cu succes result.code == 1, în caz de eroare result.code == 0.

GET /api/product/get

Preluarea unui singur produs pe baza identificatorului, codului de articol, codului de bare sau grupului de produse, cu toate detaliile.

Parametri de interogare

Parametru Tip Obligatoriu Descriere
id int Identificatorul unic al produsului (sau folosește parametrul partnumber în locul acestuia)
partnumber string Căutare după codul de articol (dacă id nu este specificat)
barcode string Căutare după codul de bare
product_group_id int Căutare după ID-ul grupului de produse
store_id int Identificatorul depozitului — pentru returnarea informațiilor despre stoc

Exemplu de cerere

GET /api/product/get?id=42&store_id=1
X-API-KEY: {cheia_dvs_api}

Exemplu de răspuns

{
  "result": { "code": 1, "message": "success" },
  "data": {
    "id": 42,
    "type_id": 6,
    "product_group_id": 10,
    "partnumber": "TERM-0042",
    "name": "Minta termék",
    "product_name": "Minta termék",
    "product_unit_name": "db",
    "vtsz": "8471300000",
    "weight_netto": "0.500",
    "weight_brutto": "0.600",
    "active_id": 1,
    "price": 5000,
    "tax_id": 2,
    "currency_id": 1,
    "incoming_price": 3500,
    "incoming_currency_id": 1,
    "incoming_tax_id": 2
  }
}
GET /api/product/get_stock

Preluarea informațiilor despre stocul produsului pe depozite.

Parametri de interogare

Parametru Tip Obligatoriu Descriere
id int Identificatorul produsului (sau partnumber)
partnumber string Căutare după codul de articol (alternativă la id)
list_condition[store_id] int Filtrare după un anumit depozit

Exemplu de cerere

GET /api/product/get_stock?id=42&list_condition[store_id]=1
X-API-KEY: {cheia_dvs_api}

Exemplu de răspuns

{
  "result": { "code": 1, "message": "success" },
  "data": {
    "id": 42,
    "partnumber": "TERM-0042",
    "quantity_phy": "120.000000",
    "quantity_acc": "5.000000"
  }
}
GET /api/product/get_extended

Preluarea produsului cu date extinse — informații despre disponibilitate și cantitate rezervată.

Parametri de interogare

Parametru Tip Obligatoriu Descriere
id int Identificatorul unic al produsului (sau partnumber)
partnumber string Căutare după codul de articol
store_id int Filtru de depozit pentru stoc

Exemplu de cerere

GET /api/product/get_extended?id=42
X-API-KEY: {cheia_dvs_api}
GET /api/product/list

Preluarea unei liste paginate de produse cu opțiuni de filtrare.

Parametri de interogare

Parametru Tip Obligatoriu Descriere
list_offset int Decalajul paginării (implicit: 0)
list_count int Numărul de rezultate pe pagină (implicit: 10)
list_condition[partnumber] string Filtrare după codul de articol (LIKE)
list_condition[name] string Filtrare după numele produsului (LIKE)
list_condition[type_id] int Filtrare după tipul de produs (1–6)
list_condition[product_category_id] int Filtrare după ID-ul categoriei de produs
list_condition[active_id] int Filtrare după status (1=activ, 0=inactiv)
list_condition[store_id] int Filtrare după stocul depozitului — doar produsele disponibile în depozitul respectiv

Exemplu de cerere

GET /api/product/list?list_offset=0&list_count=20&list_condition[active_id]=1
X-API-KEY: {cheia_dvs_api}

Exemplu de răspuns

{
  "result": { "code": 1, "message": "success" },
  "data": [
    {
      "id": 42,
      "type_id": 6,
      "partnumber": "TERM-0042",
      "name": "Minta termék",
      "product_name": "Minta termék",
      "product_unit_name": "db",
      "active_id": 1,
      "price": 5000,
      "incoming_price": 3500
    }
  ],
  "params": {
    "list_count": 20,
    "list_offset": 0,
    "list_all": 158
  }
}
GET /api/product/list_extended

Listă extinsă de produse — cu listă completă de prețuri, stoc și date asociate.

Parametri de interogare

Parametru Tip Obligatoriu Descriere
list_offset int Decalajul paginării (implicit: 0)
list_count int Numărul de rezultate pe pagină
list_condition array Tabloul condițiilor de filtrare (identic cu cel de la /list)
list_params array Parametri suplimentari

Exemplu de cerere

GET /api/product/list_extended?list_offset=0&list_count=10
X-API-KEY: {cheia_dvs_api}
GET /api/product/list_group

Listă paginată de grupuri de produse — date la nivel de grup cu informații despre stoc și preț.

Parametri de interogare

Parametru Tip Obligatoriu Descriere
list_offset int Decalajul paginării (implicit: 0)
list_condition[active_id] int Filtrare după status (1=activ, 0=inactiv)
list_condition[type_id] int Filtrare după tipul de produs (1–6)

Exemplu de cerere

GET /api/product/list_group?list_offset=0&list_condition[active_id]=1
X-API-KEY: {cheia_dvs_api}

Exemplu de răspuns

{
  "result": { "code": 1, "message": "success" },
  "data": [
    {
      "id": 10,
      "product_group_id": 10,
      "name": "Minta termék csoport",
      "type_id": 1,
      "type_name": "Variációs termék",
      "active_id": 1,
      "partnumber_list": "TERM-001, TERM-002",
      "quantity_phy": "240.000000",
      "price": 5000,
      "incoming_price": 3500
    }
  ],
  "params": {
    "list_count": 10,
    "list_offset": 0,
    "list_all": 42
  }
}
GET /api/product/get_group

Preluarea unui singur grup de produse cu toate variantele și lista de prețuri a acestuia.

Parametri de interogare

Parametru Tip Obligatoriu Descriere
product_group_id int Identificatorul grupului de produse
language_id int Identificatorul limbii (implicit: 1 — maghiară)

Exemplu de cerere

GET /api/product/get_group?product_group_id=10
X-API-KEY: {cheia_dvs_api}
POST /api/product/save

Crearea sau modificarea unui produs. Structura datelor depinde de valoarea type_id.

Tipuri de produs (type_id)

1Produs cu varianteMai multe variante — este obligatorie specificarea tabloului item[]
2ServiciuProdus simplu
3Produs pachetPachet de produse simple
4Virtual – Bilet de intrarePentru tipuri de bilete
5Produs cu rețetăFabricat din ingrediente
6Produs simpluCel mai comun tip

A) Câmpuri la nivel de grup — valabile pentru toate tipurile

Aceste câmpuri afectează tabelul db_product_group. La modificare, valoarea câmpurilor necompletate rămâne neschimbată.

Câmp Tip Obligatoriu Descriere
id int 0 = produs nou, >0 = modificarea unui produs existent (product_id)
type_id int Tipul produsului (1–6) — obligatoriu pentru produs nou, nu este necesar la modificare
product_group_id int 0 = crearea unui grup nou, >0 = modificarea unui grup existent
name string Numele produsului. Dacă nu este specificat, ordinea de rezervă: product_nameproduct_group_nameproduct_unit_name
product_name string Denumire specifică produsului (rezervă pentru name)
product_group_name string Denumire grup (rezervă pentru name)
vtsz string Cod tarifar vamal KN/TESZOR (ex. 8471300000)
description string Descriere scurtă
description_long string Descriere lungă (HTML permis)
meta_title string Titlu SEO
meta_keyword string Cuvinte cheie SEO (separate prin virgulă)
meta_description string Descriere SEO
packaging_note string Notă de ambalare
active_id int Status activ (1=activ, 0=inactiv — implicit: 1)
partner_id int Identificatorul producătorului/partenerului
acquisition_partner_id int Identificatorul furnizorului preferat
unnumber_id int Identificatorul numărului UN (substanță periculoasă)
category_id int Identificatorul categoriei principale a produsului
default_store_id int Identificatorul depozitului implicit
default_store_locality_id int Identificatorul codului de locație implicit din depozit
ledger_number_in_id int Identificatorul numărului de cont contabil de intrare
ledger_number_out_id int Identificatorul numărului de cont contabil de ieșire
ledger_number_out_abroad_id int Identificatorul numărului de cont contabil de export
acquisition_auto int Comandă automată (0/1)
serialnumber_required int Supus numerotării individuale (0=nu, 1=da)
stockable int Gestionează stoc (0/1 — implicit: 1 dacă type_id=1)
synchronizable int Sincronizare webshop (0/1 — implicit: 1)
integration_use_price_list int Actualizarea prețului de vânzare la comanda web (0/1)
drs int Sistem de returnare obligatoriu DRS (0/1)
excisable int Produs accizabil (0/1)
tax_inverse int Produs cu taxare inversă (0/1)
service_intermediate int Serviciu intermediat (0/1)
erase_code int Cod de ștergere date (0/1)
package int Ambalaj/recipient de ambalare (0/1)
size_width decimal Lățime (cm)
size_height decimal Înălțime (cm)
size_depth decimal Adâncime (cm)

B) Tabloul item[] — exclusiv pentru type_id = 1 (Produs cu variante)

Este obligatoriu cel puțin 1 element. Fiecare variantă are propriul cod de articol. Prețurile se specifică la nivel de variantă.

Câmp Tip Obligatoriu Descriere
item[n][id] int 0 = variantă nouă, >0 = modificarea uneia existente
item[n][partnumber] string Cod de articol — minim 3 caractere, unic în sistem
item[n][product_unit_id] int Identificatorul unității de măsură (ex. buc, kg, l)
item[n][product_unit_value] decimal Cantitatea variantei (ex. 0.5, 1.0, 6.0)
item[n][product_unit_name] string Denumire specifică a variantei (ex. „sticlă de 0,5l”)
item[n][product_url] string Slug URL specific articolului
item[n][quantity_min] decimal Nivel minim de stoc (prag de alertă)
item[n][quantity_opt] decimal Nivel optim de stoc
item[n][quantity_max] decimal Nivel maxim de stoc
item[n][weight_netto] decimal Greutate netă în kg (acceptă virgula ca separator zecimal)
item[n][weight_brutto] decimal Greutate brută în kg (cu ambalaj)
item[n][warranty_month] int Garanție în luni
item[n][remove] int 1 = marcaj de ștergere (soft delete)
CÂMPURI DE PREȚ — la nivel de variantă
item[n][price] decimal Preț de vânzare net
item[n][currency_id] int Identificatorul valutei de vânzare
item[n][tax_id] int Identificatorul cotei de TVA (vânzare)
item[n][incoming_price] decimal Preț de achiziție net
item[n][incoming_currency_id] int Identificatorul valutei de achiziție
item[n][incoming_tax_id] int Identificatorul cotei de TVA (achiziție)
item[n][incoming_cost_price] decimal Preț de cost
item[n][price_on_sale] decimal Preț de vânzare promoțional
item[n][price_on_sale_date_end] datetime Expirarea promoției (YYYY-MM-DD HH:ii:ss)
item[n][price_discount] decimal Procentul de reducere (%)
item[n][list_price] decimal Preț de vânzare recomandat (RRP)
item[n][list_currency_id] int Identificatorul valutei prețului de vânzare recomandat
item[n][list_tax_id] int Identificatorul TVA-ului prețului de vânzare recomandat

C) Câmpuri la nivel de produs — pentru type_id = 2, 3, 4, 5, 6

La aceste tipuri, câmpurile se specifică la nivel rădăcină (nu în tabloul item[]). Prețurile se salvează, de asemenea, la nivel rădăcină.

Câmp Tip Obligatoriu Descriere
partnumber string Cod de articol — minim 3 caractere, unic în sistem
weight_netto decimal Greutate netă în kg
weight_brutto decimal Greutate brută în kg (cu ambalaj)
warranty_month int Garanție în luni
product_url string Slug URL al produsului
CÂMPURI DE PREȚ — la nivel rădăcină
price decimal Preț de vânzare net
currency_id int Identificatorul valutei de vânzare
tax_id int Identificatorul cotei de TVA (vânzare)
incoming_price decimal Preț de achiziție net
incoming_currency_id int Identificatorul valutei de achiziție
incoming_tax_id int Identificatorul cotei de TVA (achiziție)
incoming_cost_price decimal Preț de cost
price_on_sale decimal Preț de vânzare promoțional
price_on_sale_date_end datetime Expirarea promoției (YYYY-MM-DD HH:ii:ss)
price_discount decimal Procentul de reducere (%)
list_price decimal Preț de vânzare recomandat (RRP)
list_currency_id int Identificatorul valutei prețului de vânzare recomandat
list_tax_id int Identificatorul TVA-ului prețului de vânzare recomandat

Exemplu de cerere — TYPE 1 (Produs cu variante, cu tablou item[])

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

{
  "data": {
    "id": 0,
    "type_id": 1,
    "product_group_id": 0,
    "name": "Ásványvíz",
    "vtsz": "2201100090",
    "description": "Természetes ásványvíz",
    "active_id": 1,
    "stockable": 1,
    "synchronizable": 1,
    "category_id": 5,
    "item": [
      {
        "id": 0,
        "partnumber": "ASVANY-05L",
        "product_unit_id": 3,
        "product_unit_value": 0.5,
        "product_unit_name": "0,5l palack",
        "remove": 0,
        "price": 120,
        "currency_id": 1,
        "tax_id": 2,
        "incoming_price": 75,
        "incoming_currency_id": 1,
        "incoming_tax_id": 2
      },
      {
        "id": 0,
        "partnumber": "ASVANY-15L",
        "product_unit_id": 3,
        "product_unit_value": 1.5,
        "product_unit_name": "1,5l palack",
        "remove": 0,
        "price": 250,
        "currency_id": 1,
        "tax_id": 2,
        "incoming_price": 160,
        "incoming_currency_id": 1,
        "incoming_tax_id": 2
      }
    ]
  }
}

Exemplu de cerere — TYPE 6 (Produs simplu)

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

{
  "data": {
    "id": 0,
    "type_id": 6,
    "product_group_id": 0,
    "name": "Irodai szék",
    "partnumber": "SZEK-001",
    "vtsz": "9401300000",
    "description": "Ergonomikus irodai szék",
    "active_id": 1,
    "weight_netto": 12.5,
    "weight_brutto": 14.0,
    "warranty_month": 24,
    "price": 45000,
    "currency_id": 1,
    "tax_id": 2,
    "incoming_price": 28000,
    "incoming_currency_id": 1,
    "incoming_tax_id": 2
  }
}

Exemplu de răspuns

{
  "result": { "code": 1, "message": "success" },
  "data": {
    "product_group_id": 15,
    "product_id": 48,
    "partnumber": "SZEK-001"
  }
}
POST /api/product/delete

Ștergerea unui produs. Poate fi șters doar un produs căruia nu îi este asociată nicio mișcare de stoc.

Câmpuri POST — obiectul data

Câmp Tip Obligatoriu Descriere
id int Identificatorul grupului de produse de șters (product_group_id)

Exemplu de cerere

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

{
  "data": {
    "id": 15
  }
}

Exemplu de răspuns

{
  "result": { "code": 1, "message": "success" },
  "data": {}
}
POST /api/product/save_weight

Actualizarea greutății nete și brute a produsului pe baza codului de articol. Înregistrează o versiune în tabelul db_product_data.

Câmpuri POST — obiectul data

Câmp Tip Obligatoriu Descriere
partnumber string Codul de articol al produsului (identificator unic)
weight_netto decimal Greutate netă în kg
weight_brutto decimal Greutate brută în kg (împreună cu ambalajul)

Exemplu de cerere

POST /api/product/save_weight
X-API-KEY: {cheia_dvs_api}
Content-Type: application/json

{
  "data": {
    "partnumber": "TERM-0042",
    "weight_netto": 0.48,
    "weight_brutto": 0.62
  }
}

Exemplu de răspuns

{
  "result": { "code": 1, "message": "success" },
  "data": {}
}
POST /api/product/save_warehouse_info

Actualizarea informațiilor de depozit și a greutății brute a produsului. Înregistrează o versiune atât în tabelul db_product_data, cât și în db_product_group_data.

Câmpuri POST — obiectul data

Câmp Tip Obligatoriu Descriere
partnumber string Codul de articol al produsului
weight_brutto decimal Greutate brută în kg
store_id int Identificatorul depozitului implicit
store_locality_id int Identificatorul codului de locație implicit din depozit

Exemplu de cerere

POST /api/product/save_warehouse_info
X-API-KEY: {cheia_dvs_api}
Content-Type: application/json

{
  "data": {
    "partnumber": "TERM-0042",
    "weight_brutto": 0.62,
    "store_id": 1,
    "store_locality_id": 14
  }
}

Exemplu de răspuns

{
  "result": { "code": 1, "message": "success" },
  "data": {}
}
POST /api/product/save_extra

Actualizarea datelor de dimensiune, a amplasării în depozit și a codului de bare al produsului pe baza codului de articol. Dacă codul de bare specificat nu există încă, îl creează automat.

Câmpuri POST — obiectul data

Câmp Tip Obligatoriu Descriere
partnumber string Codul de articol al produsului
size_width decimal Lățime (cm)
size_height decimal Înălțime (cm)
size_depth decimal Adâncime (cm)
weight_brutto decimal Greutate brută în kg
store_id int Identificatorul depozitului implicit
store_locality_id int Identificatorul codului de locație implicit
barcode string Cod EAN/de bare — dacă nu există încă, îl creează automat în tabelul db_product_barcode

Exemplu de cerere

POST /api/product/save_extra
X-API-KEY: {cheia_dvs_api}
Content-Type: application/json

{
  "data": {
    "partnumber": "TERM-0042",
    "size_width": 30.5,
    "size_height": 20.0,
    "size_depth": 15.0,
    "weight_brutto": 0.62,
    "store_id": 1,
    "store_locality_id": 14,
    "barcode": "5901234123457"
  }
}

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!