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
| Feld | Typ | Beschreibung |
|---|---|---|
id | int | Eindeutige Kennung des Schemas |
param_name | string | Bezeichnung des Parameters (höchstens 150 Zeichen) |
param_type_id | int | Typ des Parameterwerts (siehe unten) |
param_schema_type_id | int | Geltungsbereich des Schemas (siehe unten) |
param_schema_code | string | Eindeutiger Schema-Code (höchstens 50 Zeichen), optional |
param_unit_id | int | Kennung der Maßeinheit, null, wenn es keine Maßeinheit gibt |
param_order | int | Anzeigereihenfolge |
param_schema_round_decimal | int | Anzahl der Dezimalstellen bei Parametern vom Typ Zahl (0-5) |
param_enum | string | JSON-Array der auswählbaren Werte als Text (höchstens 1000 Zeichen), nur bei param_type_id = 5 befüllt, sonst null |
param_type_usable | int | Kennzeichen der typbezogenen Verwendbarkeit (0 = nein, 1 = ja) |
param_fusion | int | Kennzeichen 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_show | int | Ob der Parameter in der Kasse angezeigt wird (0 = nein, 1 = ja) |
param_schema_column_id | int | Kennung der Produkt-Datenspalte, mit der der Parameterwert verknüpft ist (automatisches Ausfüllen, Import). null, wenn nicht angegeben. |
category_id | int | Veraltetes Feld, bei neueren Schemas nicht befüllt. Die Kategoriezuordnung wird über das Feld category_ids verwaltet. |
remove | int | Löschkennzeichen (0 = aktiv, 1 = gelöscht) |
Mögliche Werte für param_type_id
| Wert | Bezeichnung | Beschreibung |
|---|---|---|
1 | Zahl | Numerischer Wert, optional mit Maßeinheit (param_unit_id) und Anzahl der Dezimalstellen (param_schema_round_decimal) |
2 | Text | Freitextwert |
3 | Logisch | Ja-/Nein-Wert |
4 | Textlink | Als Verweis behandelter Textwert |
5 | Wertemenge | Aus vorgegebenen möglichen Werten (param_enum) können mehrere ausgewählt werden |
Mögliche Werte für param_schema_type_id
| Wert | Bezeichnung | Beschreibung |
|---|---|---|
1 | Nach Kategorie | Die Kategorie des Produkts (und die übergeordneten Kategorien) bestimmt, ob der Parameter angezeigt wird (Standard) |
2 | Direkt | Nicht an eine Kategorie gebunden, muss ausdrücklich dem jeweiligen Produkt / der jeweiligen Produktgruppe hinzugefügt werden |
3 | Global | Wird unabhängig von der Kategorie automatisch im Datenblatt jedes Produkts angezeigt |
/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
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
id | int | Eindeutige 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
}
}
/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
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
list_offset | int | Anzahl der übersprungenen Treffer (Standard: 0). Die Anzahl der Treffer kann nicht begrenzt werden. | |
list_condition[name] | string | Filterung nach dem Namen des Schemas (Teilübereinstimmung) | |
list_condition[parent_category_id] | int | Filterung 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] | array | Filterung nach Schemas, die den angegebenen Produktkategorien zugeordnet sind | |
list_condition[category_id] | int | Veralteter 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] | int | 1 = 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] | int | Schemas 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] | int | Wie der vorherige, jedoch für ein konkretes Produkt. Sind beide angegeben, gilt die Variante product_group_id. |
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:
| Feld | Typ | Beschreibung |
|---|---|---|
param_type_name | string | Bezeichnung des Parametertyps |
unit_name_short | string | Kurzname der Maßeinheit, null, wenn es keine Maßeinheit gibt |
category_ids | string | Kennungen der zugeordneten Produktkategorien, durch Komma getrennt (z. B. "3,8,12") |
category_name | string | Pfade 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 }
}
/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
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
id | int | 0 = neues Schema, >0 = Änderung | |
param_name | string | Bezeichnung des Parameters (höchstens 150 Zeichen) | |
param_type_id | int | Typ des Parameters (1 = Zahl, 2 = Text, 3 = logisch, 4 = Textlink, 5 = Wertemenge) | |
param_schema_type_id | int | Geltungsbereich des Schemas (1 = nach Kategorie, 2 = direkt, 3 = global). Standard: 1 | |
param_schema_code | string | Schema-Code (höchstens 50 Zeichen) | |
param_unit_id | int | Kennung der Maßeinheit. Bei 0 oder leerem Wert gibt es keine Maßeinheit. | |
param_order | int | Anzeigereihenfolge (Standard: 0) | |
param_schema_round_decimal | int | Anzahl der Dezimalstellen bei Parametern vom Typ Zahl (param_type_id = 1), zwischen 0 und 5 (Standard: 0) | |
param_enum | array | Array 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_usable | int | Kennzeichen der typbezogenen Verwendbarkeit: 0 = nein, 1 = ja (Standard: 0) | |
param_fusion | int | Kennzeichen für die Zusammenführung: 0 = nein, 1 = ja (Standard: 0) | |
param_schema_cash_register_show | int | Ob der Parameter in der Kasse angezeigt werden soll: 0 = nein, 1 = ja (Standard: 0) | |
param_schema_column_id | int | Kennung 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_ids | array | Array 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. |
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
}
}
/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
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
id | int | Kennung 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": {}
}
Interessierst du dich für unsere Software? Schreib uns einfach!
Jetzt registrieren,
später bezahlen!