API inventarizácie

Správa inventarizačných hárkov — získavanie, vytváranie, úprava, uzatváranie, sťahovanie dokumentov a dopyty na úrovni položiek

Základné URL adresy

https://{tenant}.logzi.com/api/inventory/ https://{tenant}.logzi.com/api/inventory_item/

Každá požiadavka vracia JSON odpoveď. Pri úspešnej odpovedi je result.code == 1, pri chybe result.code == 0.

GET /api/inventory/get

Získanie jedného inventarizačného hárka podľa identifikátora, spolu s príslušnými položkami.

Query parametre

Parameter Typ Povinné Popis
id int Jedinečný identifikátor inventarizačného hárka

Príklad požiadavky

GET /api/inventory/get?id=5
X-API-KEY: {vas_api_kluc}

Príklad odpovede

{
  "result": { "code": 1, "message": "success" },
  "data": {
    "id": 5,
    "identify": "INV-2024-0005",
    "date_create": "2024-05-08 09:00:00",
    "date_perform": "2024-05-08",
    "status_id": 1,
    "store_id": 1,
    "company_user_name": "Kovács Péter",
    "item": [
      {
        "product_id": 12,
        "quantity_stock": 100,
        "quantity_found": 97,
        "store_locality_id": null
      }
    ]
  }
}
GET /api/inventory/list

Stránkované získanie zoznamu inventarizačných hárkov s možnosťami filtrovania.

Query parametre

Parameter Typ Povinné Popis
list_offset int Posun stránkovania (predvolené: 0)
list_condition[identify] string Filtrovanie podľa identifikátora (LIKE)
list_condition[status_id] int Filtrovanie podľa stavu (1=otvorený, 2=uzatvorený)
list_condition[status_ids] array Filtrovanie podľa viacerých stavov naraz
list_condition[company_user_id] int Filtrovanie podľa ID zodpovedného pracovníka
list_condition[date_create_from] date Dátum vytvorenia — od (YYYY-MM-DD)
list_condition[date_create_to] date Dátum vytvorenia — do (YYYY-MM-DD)
list_condition[date_perform_from] date Dátum plnenia — od (YYYY-MM-DD)
list_condition[date_perform_to] date Dátum plnenia — do (YYYY-MM-DD)
list_condition[comment_bottom] string Filtrovanie podľa internej poznámky (LIKE)

Príklad požiadavky

GET /api/inventory/list?list_offset=0&list_condition[status_id]=1
X-API-KEY: {vas_api_kluc}

Príklad odpovede

{
  "result": { "code": 1, "message": "success" },
  "data": [
    {
      "id": 5,
      "identify": "INV-2024-0005",
      "date_create": "2024-05-08",
      "status_name": "Nyitott",
      "company_user_name": "Kovács Péter"
    }
  ],
  "params": {
    "list_count": 10,
    "list_offset": 0,
    "list_all": 3
  }
}
POST /api/inventory/save

Vytvorenie alebo úprava inventarizačného hárka. Pre každú položku je potrebné zaznamenať evidované (quantity_stock) a fyzicky spočítané (quantity_found) množstvo. Pre nový inventarizačný hárok data[id] = 0.

POST polia — objekt data

Pole Typ Povinné Popis
id int 0 = nový inventarizačný hárok, >0 = úprava
company_id int Identifikátor firmy
company_user_id int ID zodpovedného pracovníka
store_id int Identifikátor skladu, ktorý sa inventarizuje
currency_id int Identifikátor meny
currency_exchange decimal Kurz cudzej meny
project_id int Identifikátor projektu
source_receipt_id int Identifikátor zdrojového dokladu
source_receipt_type_id int Identifikátor typu zdrojového dokladu
item array Pole položiek — aspoň jedna položka je povinná (pozri nižšie)

Polia položky — data[item][]

Pole Typ Povinné Popis
id int 0 = nová položka, >0 = úprava existujúcej položky
product_id int Identifikátor produktu
quantity_stock decimal Evidované (systémové) množstvo
quantity_found decimal Fyzicky spočítané množstvo
store_locality_id int Identifikátor skladovacieho miesta
remove int 1 = odstránenie položky pri úprave

POST polia — objekt params (voliteľné)

Pole Typ Povinné Popis
close int 1 = automatické uzatvorenie po uložení

Príklad požiadavky

POST /api/inventory/save
X-API-KEY: {vas_api_kluc}
Content-Type: application/json

{
  "data": {
    "id": 0,
    "company_id": 1,
    "company_user_id": 3,
    "store_id": 1,
    "item": [
      {
        "id": 0,
        "product_id": 12,
        "quantity_stock": 100,
        "quantity_found": 97
      },
      {
        "id": 0,
        "product_id": 15,
        "quantity_stock": 50,
        "quantity_found": 50,
        "store_locality_id": 3
      }
    ]
  },
  "params": {
    "close": 0
  }
}

Príklad odpovede

{
  "result": { "code": 1, "message": "success" },
  "data": {
    "id": 6,
    "identify": "INV-2024-0006"
  }
}
POST /api/inventory/delete

Vymazanie inventarizačného hárka. Vymazať možno iba doklad so status_id = 1 (otvorený) alebo status_id = 2 (uzatvorený).

POST polia — objekt data

Pole Typ Povinné Popis
receipt_id int Identifikátor inventarizačného hárka určeného na vymazanie

Príklad požiadavky

POST /api/inventory/delete
X-API-KEY: {vas_api_kluc}
Content-Type: application/json

{
  "data": {
    "receipt_id": 5
  }
}

Príklad odpovede

{
  "result": { "code": 1, "message": "success" },
  "data": {}
}
POST /api/inventory/close

Uzatvorenie otvoreného inventarizačného hárka. Uzatvorenie vykoná vyrovnanie zásob na základe rozdielu hodnôt quantity_stock a quantity_found. Uzavrieť možno iba doklad so status_id = 1 (otvorený).

POST polia — objekt data

Pole Typ Povinné Popis
receipt_id int Identifikátor inventarizačného hárka určeného na uzatvorenie

Príklad požiadavky

POST /api/inventory/close
X-API-KEY: {vas_api_kluc}
Content-Type: application/json

{
  "data": {
    "receipt_id": 5
  }
}

Príklad odpovede

{
  "result": { "code": 1, "message": "success" },
  "data": {}
}
GET /api/inventory/download

Generovanie dokumentu inventarizačného hárka v rôznych formátoch (PDF, base64 reťazec, stream).

Query parametre

Parameter Typ Povinné Popis
receipt_id int Identifikátor inventarizačného hárka
file_type string Výstupný formát (pozri nižšie)
language string Názov jazykového priečinka šablóny (napr. hungarian)
language_id int Identifikátor jazyka (predvolené: 1)
template_id int ID vlastnej tlačovej šablóny

Možné hodnoty file_type

Hodnota Popis
pdf Vrátenie PDF kódovaného v base64 s metadátami
pdf-string Rovnaké ako pdf — base64 reťazec + metadáta
pdf-string-sample Generovanie náhľadového PDF
stream Priamy súborový stream (stiahnutie v prehliadači)

Príklad požiadavky

GET /api/inventory/download?receipt_id=5&file_type=pdf
X-API-KEY: {vas_api_kluc}

Príklad odpovede (file_type=pdf)

{
  "result": { "code": 1, "message": "success" },
  "data": {
    "name": "INV-2024-0005.pdf",
    "content": "JVBERi0xLjQK...",
    "receipt": { ... }
  }
}

Koncové body položiek

Koncové body /api/inventory_item/ slúžia na podrobné dopytovanie položiek daného inventarizačného hárka. Zápis a vymazanie položiek prebieha prostredníctvom uloženia inventarizačného hárka (/api/inventory/save).

GET /api/inventory_item/get

Získanie jednej položky inventarizačného hárka podľa identifikátora.

Parameter Typ Povinné Popis
id int Jedinečný identifikátor položky inventarizačného hárka

Príklad požiadavky

GET /api/inventory_item/get?id=88
X-API-KEY: {vas_api_kluc}
GET /api/inventory_item/list

Získanie všetkých položiek inventarizačného hárka.

Parameter Typ Povinné Popis
inventory_sheet_id int Identifikátor inventarizačného hárka

Príklad požiadavky

GET /api/inventory_item/list?inventory_sheet_id=5
X-API-KEY: {vas_api_kluc}
GET /api/inventory_item/list_tax

Súhrn položiek inventarizačného hárka podľa sadzby DPH.

Parameter Typ Povinné Popis
inventory_sheet_id int Identifikátor inventarizačného hárka

Príklad požiadavky

GET /api/inventory_item/list_tax?inventory_sheet_id=5
X-API-KEY: {vas_api_kluc}
GET /api/inventory_item/list_slim

Stránkované a filtrovateľné získanie položiek inventarizačného hárka — možno filtrovať aj podľa skladu a stavu.

Query parametre

Parameter Typ Povinné Popis
list_offset int Posun stránkovania (predvolené: 0)
list_condition[inventory_sheet_id] int Filtrovanie podľa ID inventarizačného hárka
list_condition[store_id] int Filtrovanie podľa ID skladu
list_condition[status_id] int Filtrovanie podľa stavu inventarizačného hárka

Príklad požiadavky

GET /api/inventory_item/list_slim?list_condition[inventory_sheet_id]=5&list_offset=0
X-API-KEY: {vas_api_kluc}

Kontaktuj nás

Zaujíma ťa náš softvér? Pokojne nám napíš!

Potrebuješ pomoc?

Ak nevieš nájsť odpoveď a potrebuješ pomoc

Zaregistruj sa teraz,
zaplať neskôr!

Vyskúšaj 3 dni zadarmo, bez rizika a záväzkov!