Inventur-API

Verwaltung von Inventurbögen — Abrufen, Erstellen, Ändern, Abschließen, Dokument herunterladen und positionsbezogene Abfragen

Basis-URLs

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

Jede Anfrage liefert eine JSON-Antwort zurück. Bei Erfolg ist result.code == 1, bei einem Fehler result.code == 0.

GET /api/inventory/get

Abrufen eines einzelnen Inventurbogens anhand der ID, einschließlich der zugehörigen Positionszeilen.

Query-Parameter

Parameter Typ Pflichtfeld Beschreibung
id int Eindeutige Kennung des Inventurbogens

Beispielanfrage

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

Beispielantwort

{
  "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

Paginierbares Abrufen der Liste der Inventurbögen mit Filtermöglichkeiten.

Query-Parameter

Parameter Typ Pflichtfeld Beschreibung
list_offset int Paginierungs-Offset (Standard: 0)
list_condition[identify] string Filterung nach Kennung (LIKE)
list_condition[status_id] int Filterung nach Status (1=offen, 2=abgeschlossen)
list_condition[status_ids] array Filterung nach mehreren Status gleichzeitig
list_condition[company_user_id] int Filterung nach ID des zuständigen Mitarbeiters
list_condition[date_create_from] date Erstellungsdatum — von (YYYY-MM-DD)
list_condition[date_create_to] date Erstellungsdatum — bis (YYYY-MM-DD)
list_condition[date_perform_from] date Erfüllungsdatum — von (YYYY-MM-DD)
list_condition[date_perform_to] date Erfüllungsdatum — bis (YYYY-MM-DD)
list_condition[comment_bottom] string Filterung nach interner Anmerkung (LIKE)

Beispielanfrage

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

Beispielantwort

{
  "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

Erstellen oder Ändern eines Inventurbogens. Für jede Position müssen die im System erfasste (quantity_stock) und die physisch gezählte (quantity_found) Menge angegeben werden. Für einen neuen Inventurbogen data[id] = 0.

POST-Felder — Objekt data

Feld Typ Pflichtfeld Beschreibung
id int 0 = neuer Inventurbogen, >0 = Änderung
company_id int Firmen-ID
company_user_id int ID des zuständigen Mitarbeiters
store_id int ID des zu inventarisierenden Lagers
currency_id int Währungs-ID
currency_exchange decimal Wechselkurs
project_id int Projekt-ID
source_receipt_id int ID des Quellbelegs
source_receipt_type_id int ID des Quellbelegtyps
item array Array der Positionen — mindestens eine Position ist erforderlich (siehe unten)

Positionsfelder — data[item][]

Feld Typ Pflichtfeld Beschreibung
id int 0 = neue Position, >0 = Änderung einer bestehenden Position
product_id int Produkt-ID
quantity_stock decimal Im System erfasste (bestandsgeführte) Menge
quantity_found decimal Physisch gezählte Menge
store_locality_id int Lagerplatz-ID
remove int 1 = Position beim Ändern löschen

POST-Felder — Objekt params (optional)

Feld Typ Pflichtfeld Beschreibung
close int 1 = automatischer Abschluss nach dem Speichern

Beispielanfrage

POST /api/inventory/save
X-API-KEY: {ihr_api_schluessel}
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
  }
}

Beispielantwort

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

Löschen eines Inventurbogens. Nur Belege mit status_id = 1 (offen) oder status_id = 2 (abgeschlossen) können gelöscht werden.

POST-Felder — Objekt data

Feld Typ Pflichtfeld Beschreibung
receipt_id int ID des zu löschenden Inventurbogens

Beispielanfrage

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

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

Beispielantwort

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

Abschließen eines offenen Inventurbogens. Beim Abschluss erfolgt der Bestandsausgleich anhand der Differenz zwischen quantity_stock und quantity_found. Nur Belege mit status_id = 1 (offen) können abgeschlossen werden.

POST-Felder — Objekt data

Feld Typ Pflichtfeld Beschreibung
receipt_id int ID des abzuschließenden Inventurbogens

Beispielanfrage

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

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

Beispielantwort

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

Erstellen des Dokuments eines Inventurbogens in verschiedenen Formaten (PDF, Base64-String, Stream).

Query-Parameter

Parameter Typ Pflichtfeld Beschreibung
receipt_id int ID des Inventurbogens
file_type string Ausgabeformat (siehe unten)
language string Name des Sprachordners der Vorlage (z. B. hungarian)
language_id int Sprach-ID (Standard: 1)
template_id int ID der individuellen Druckvorlage

Mögliche Werte für file_type

Wert Beschreibung
pdf Rückgabe eines Base64-kodierten PDFs mit Metadaten
pdf-string Identisch mit pdf — Base64-String + Metadaten
pdf-string-sample Erstellung einer Vorschau-PDF
stream Direkter Datei-Stream (Browser-Download)

Beispielanfrage

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

Beispielantwort (file_type=pdf)

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

Positionszeilen-Endpunkte

Die Endpunkte unter /api/inventory_item/ dienen der detaillierten Abfrage der Positionen eines bestimmten Inventurbogens. Das Schreiben und Löschen von Positionen erfolgt über das Speichern des Inventurbogens (/api/inventory/save).

GET /api/inventory_item/get

Abrufen einer einzelnen Inventurbogen-Position anhand der ID.

Parameter Typ Pflichtfeld Beschreibung
id int Eindeutige Kennung der Inventurbogen-Position

Beispielanfrage

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

Abrufen aller Positionen eines Inventurbogens.

Parameter Typ Pflichtfeld Beschreibung
inventory_sheet_id int ID des Inventurbogens

Beispielanfrage

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

Zusammenfassung der Positionen eines Inventurbogens nach USt-Satz.

Parameter Typ Pflichtfeld Beschreibung
inventory_sheet_id int ID des Inventurbogens

Beispielanfrage

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

Paginierbares, filterbares Abrufen von Inventurbogen-Positionen — Filterung auch nach Lager und Status möglich.

Query-Parameter

Parameter Typ Pflichtfeld Beschreibung
list_offset int Paginierungs-Offset (Standard: 0)
list_condition[inventory_sheet_id] int Filterung nach Inventurbogen-ID
list_condition[store_id] int Filterung nach Lager-ID
list_condition[status_id] int Filterung nach Status des Inventurbogens

Beispielanfrage

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

Nimm Kontakt mit uns auf

Interessierst du dich für unsere Software? Schreib uns einfach!

Brauchst du Hilfe?

Wenn du keine Antwort findest und Unterstützung brauchst

Jetzt registrieren,
später bezahlen!

Teste es 3 Tage kostenlos, ohne Risiko und Verpflichtungen!