Produktparameter-Schema API

Verwaltung des Schemas der individuellen Parameter, die Produkten zugeordnet werden können - Abfrage, Liste, Speichern und Löschen

Basis-URL

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

Jede Anfrage liefert eine JSON-Antwort zurück. Bei einer erfolgreichen Antwort gilt result.code == 1, bei einem Fehler result.code == 0. Das Schema legt fest, welche individuellen Parameter (z. B. technische Merkmale, Maße) zu den Produkten gehören können: Name, Typ, Maßeinheit, Reihenfolge und Kategoriezuordnung. Die konkreten Werte der Parameter werden von der Produktparameter API verwaltet.

Felder des Schemas

FeldTypBeschreibung
idintEindeutige Kennung des Schemas
param_namestringBezeichnung des Parameters (höchstens 150 Zeichen)
param_type_idintTyp des Parameterwerts (siehe unten)
param_schema_type_idintGeltungsbereich des Schemas (siehe unten)
param_schema_codestringEindeutiger Schema-Code (höchstens 50 Zeichen), optional
param_unit_idintKennung der Maßeinheit, null, wenn es keine Maßeinheit gibt
param_orderintAnzeigereihenfolge
param_schema_round_decimalintAnzahl der Dezimalstellen bei Parametern vom Typ Zahl (0-5)
param_enumstringJSON-Array der auswählbaren Werte als Text (höchstens 1000 Zeichen), nur bei param_type_id = 5 befüllt, sonst null
param_type_usableintKennzeichen der typbezogenen Verwendbarkeit (0 = nein, 1 = ja)
param_fusionintKennzeichen für die Zusammenführung (0 = nein, 1 = ja): Produktgruppen können anhand gleicher Werte solcher Schemas zusammengeführt werden (z. B. bei der Webshop-Synchronisierung)
param_schema_cash_register_showintOb der Parameter in der Kasse angezeigt wird (0 = nein, 1 = ja)
param_schema_column_idintKennung der Produkt-Datenspalte, mit der der Parameterwert verknüpft ist (automatisches Ausfüllen, Import). null, wenn nicht angegeben.
category_idintVeraltetes Feld, bei neueren Schemas nicht befüllt. Die Kategoriezuordnung wird über das Feld category_ids verwaltet.
removeintLöschkennzeichen (0 = aktiv, 1 = gelöscht)

Mögliche Werte für param_type_id

WertBezeichnungBeschreibung
1ZahlNumerischer Wert, optional mit Maßeinheit (param_unit_id) und Anzahl der Dezimalstellen (param_schema_round_decimal)
2TextFreitextwert
3LogischJa-/Nein-Wert
4TextlinkAls Verweis behandelter Textwert
5WertemengeAus vorgegebenen möglichen Werten (param_enum) können mehrere ausgewählt werden

Mögliche Werte für param_schema_type_id

WertBezeichnungBeschreibung
1Nach KategorieDie Kategorie des Produkts (und die übergeordneten Kategorien) bestimmt, ob der Parameter angezeigt wird (Standard)
2DirektNicht an eine Kategorie gebunden, muss ausdrücklich dem jeweiligen Produkt / der jeweiligen Produktgruppe hinzugefügt werden
3GlobalWird unabhängig von der Kategorie automatisch im Datenblatt jedes Produkts angezeigt
GET /api/product_param_schema/get

Abruf eines einzelnen Produktparameter-Schemas anhand der ID. Auch ein gelöschtes Schema (remove = 1) wird zurückgegeben, sein Status wird im Feld remove angezeigt. Existiert das Schema nicht, lautet die Antwort result.code == 0 und die Meldung Not found.

Query-Parameter

ParameterTypErforderlichBeschreibung
idintEindeutige Kennung des Parameterschemas

Beispielanfrage

GET /api/product_param_schema/get?id=7
X-API-KEY: {ihr_api_schluessel}

Beispielantwort

{
  "result": { "code": 1, "message": "success" },
  "data": {
    "id": 7,
    "category_id": null,
    "param_type_id": 1,
    "param_name": "Bruttogewicht",
    "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
  }
}
GET /api/product_param_schema/list

Liste der Produktparameter-Schemas (ohne gelöschte Schemas), sortiert nach Anzeigereihenfolge und ID. Die Antwort enthält neben den Feldern des Schemas auch Angaben zum Parametertyp, zur Maßeinheit und zu den zugeordneten Kategorien. Wenn es keine Treffer gibt, lautet die Antwort result.code == 0 und die Meldung Not found.

Query-Parameter

ParameterTypErforderlichBeschreibung
list_offsetintAnzahl der übersprungenen Treffer (Standard: 0). Die Anzahl der Treffer kann nicht begrenzt werden.
list_condition[name]stringFilterung nach dem Namen des Schemas (Teilübereinstimmung)
list_condition[parent_category_id]intFilterung nach einer Produktkategorie und allen ihren Unterkategorien: Zurückgegeben werden die Schemas, die dieser Kategorie oder einem ihrer Nachfolger zugeordnet sind
list_condition[category_ids]arrayFilterung nach Schemas, die den angegebenen Produktkategorien zugeordnet sind
list_condition[category_id]intVeralteter Filter auf das alte Feld category_id des Schemas (bei neueren Schemas nicht befüllt, liefert daher in der Regel keine Treffer). Verwenden Sie für die Filterung nach Kategorie den Filter category_ids oder parent_category_id.
list_condition[param_schema_cash_register_show]int1 = nur Schemas, die in der Kasse angezeigt werden, 2 = nur Schemas, die in der Kasse nicht angezeigt werden
list_condition[param_schema_type_id_fixer_product_group_id]intSchemas einer Produktgruppe: die globalen Schemas (param_schema_type_id = 3) sowie die Schemas nach Kategorie und die direkten Schemas, die bei der jeweiligen Produktgruppe einen nicht leeren Wert haben
list_condition[param_schema_type_id_fixer_product_id]intWie der vorherige, jedoch für ein konkretes Produkt. Sind beide angegeben, gilt die Variante product_group_id.
Der Filter category_ids und die beiden *_fixer_*-Filter sind untereinander ODER-verknüpft, die übrigen Filter wirken UND-verknüpft.

Zusätzliche Antwortfelder

Die Listenelemente enthalten alle Felder der obigen Tabelle Felder des Schemas und zusätzlich:

FeldTypBeschreibung
param_type_namestringBezeichnung des Parametertyps
unit_name_shortstringKurzname der Maßeinheit, null, wenn es keine Maßeinheit gibt
category_idsstringKennungen der zugeordneten Produktkategorien, durch Komma getrennt (z. B. "3,8,12")
category_namestringPfade der zugeordneten Produktkategorien, durch das Zeichen | getrennt

Das Feld params der Antwort enthält die Werte list_count, list_offset und list_all (Anzahl der Treffer).

Beispielanfrage

GET /api/product_param_schema/list?list_condition[parent_category_id]=3
X-API-KEY: {ihr_api_schluessel}

Beispielantwort

{
  "result": { "code": 1, "message": "success" },
  "data": [
    {
      "id": 7,
      "category_id": null,
      "param_type_id": 1,
      "param_name": "Bruttogewicht",
      "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": "Zahl",
      "unit_name_short": "kg",
      "category_ids": "3,8",
      "category_name": "Lebensmittel | Lebensmittel/Backwaren"
    },
    {
      "id": 9,
      "category_id": null,
      "param_type_id": 5,
      "param_name": "Allergene",
      "param_type_usable": 0,
      "param_fusion": 0,
      "param_enum": "[\"Gluten\",\"Milch\",\"Ei\"]",
      "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": "Wertemenge",
      "unit_name_short": null,
      "category_ids": "3",
      "category_name": "Lebensmittel"
    }
  ],
  "params": { "list_count": 999999, "list_offset": 0, "list_all": 2 }
}
POST /api/product_param_schema/save

Erstellung oder Änderung eines Produktparameter-Schemas. Für ein neues Schema data[id] = 0, für eine Änderung die bestehende ID angeben.

POST-Felder - data-Objekt

FeldTypErforderlichBeschreibung
idint0 = neues Schema, >0 = Änderung
param_namestringBezeichnung des Parameters (höchstens 150 Zeichen)
param_type_idintTyp des Parameters (1 = Zahl, 2 = Text, 3 = logisch, 4 = Textlink, 5 = Wertemenge)
param_schema_type_idintGeltungsbereich des Schemas (1 = nach Kategorie, 2 = direkt, 3 = global). Standard: 1
param_schema_codestringSchema-Code (höchstens 50 Zeichen)
param_unit_idintKennung der Maßeinheit. Bei 0 oder leerem Wert gibt es keine Maßeinheit.
param_orderintAnzeigereihenfolge (Standard: 0)
param_schema_round_decimalintAnzahl der Dezimalstellen bei Parametern vom Typ Zahl (param_type_id = 1), zwischen 0 und 5 (Standard: 0)
param_enumarrayArray der auswählbaren Werte. Wird nur bei param_type_id = 5 gespeichert (als JSON abgelegt, höchstens 1000 Zeichen), bei anderen Typen löscht das System es.
param_type_usableintKennzeichen der typbezogenen Verwendbarkeit: 0 = nein, 1 = ja (Standard: 0)
param_fusionintKennzeichen für die Zusammenführung: 0 = nein, 1 = ja (Standard: 0)
param_schema_cash_register_showintOb der Parameter in der Kasse angezeigt werden soll: 0 = nein, 1 = ja (Standard: 0)
param_schema_column_idintKennung der Produkt-Datenspalte. Bei einer Änderung überschreibt nur ein Wert größer als 0 den bisherigen, die Verknüpfung kann durch eine Änderung nicht gelöscht werden.
category_idsarrayArray der Kennungen der Produktkategorien, zu denen das Schema gehört. Wenn angegeben, werden die bisherigen Kategoriezuordnungen des Schemas vollständig ersetzt (ein leeres Array löscht alle). Wird das Feld weggelassen, bleiben die Zuordnungen unverändert.
Eine Änderung überschreibt die gesamten Daten des Schemas: Weggelassene optionale Felder werden auf ihren Standardwert zurückgesetzt (z. B. param_order = 0, param_schema_type_id = 1, param_schema_code = null). Senden Sie bei einer Änderung daher immer alle Felder des Schemas.

Beispielanfrage - Parameter vom Typ Zahl

POST /api/product_param_schema/save
X-API-KEY: {ihr_api_schluessel}
Content-Type: application/json

{
  "data": {
    "id": 0,
    "param_name": "Bruttogewicht",
    "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]
  }
}

Beispielanfrage - Parameter vom Typ Wertemenge

POST /api/product_param_schema/save
X-API-KEY: {ihr_api_schluessel}
Content-Type: application/json

{
  "data": {
    "id": 0,
    "param_name": "Allergene",
    "param_type_id": 5,
    "param_enum": ["Gluten", "Milch", "Ei"],
    "param_schema_type_id": 3,
    "param_schema_cash_register_show": 1,
    "param_order": 2
  }
}

Beispielantwort

{
  "result": { "code": 1, "message": "success" },
  "data": {
    "id": 9
  }
}
POST /api/product_param_schema/delete

Löschung eines Produktparameter-Schemas anhand der ID. Die Löschung erfolgt logisch: Das Schema wird mit remove = 1 markiert und danach von der Liste nicht mehr zurückgegeben. Die Kategoriezuordnungen des Schemas und die zugehörigen Parameterwerte bleiben erhalten, die Werte des gelöschten Schemas erscheinen jedoch auch in der Liste der Produktparameter API nicht mehr.

POST-Felder

FeldTypErforderlichBeschreibung
idintKennung des zu löschenden Parameterschemas

Beispielanfrage

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

{
  "id": 9
}

Beispielantwort

{
  "result": { "code": 1, "message": "success" },
  "data": {}
}

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!