Zum Hauptinhalt springen
Der Knoten content bildet die zentrale Konfigurationsebene für alle Inhalte des Katalogs.
Hier werden die Strukturen, Felder und Einstellungen definiert, die zur Verwaltung von Produkten, Kategorien und den dazugehörigen Medien- und Attributsdaten dienen.
Zu den wichtigsten Bereichen gehören:
  • Kategorien
    Definition von Kategoriefeldern, Feldgruppen und ergänzenden Informationen zur Darstellung im Frontend.
  • Produkte
    Verwaltung von Produktfeldern, Varianten, Produkttypen und allgemeinen Produkteinstellungen.
  • Medien
    Steuerung von Bild- und Videoformaten, Speicherzielen und automatischen Konvertierungsprozessen.
  • Verknüpfungen & Erweiterungen
    Zuordnung benutzerdefinierter Felder über usedFields, Definition zusätzlicher Attribute oder Feldgruppen.
Die im Knoten content enthaltenen Konfigurationen bilden somit die Grundlage für sämtliche katalogbasierten Funktionen des Shops – von der Produktdarstellung im Frontend bis zur Datenintegration über die API. Die einzelnen Konfigurationsbereiche sind im Admin Interface unter verschiedenen Services zu finden (z. B. Katalog → Produkte, Katalog → Kategorien etc.). Sie können auch über die REST API Konfiguration bearbeitet werden.

content* - Grundstruktur

Nachfolgend der Grundaufbau des Knotens contents
{
    "content": {
      "categoryFieldGroup": {...},
      "categoryField": {...},
      "contentFieldDataTypes": {...},
      "customCategoryField": {...},
      "customProductField": {...},
      "imageFormat": {...},
      "inventory": {...},
      "productAttribute": {...},
      "productFieldGroup": {...},
      "productField": {...},
      "productSettings": {...},
      "productType": {...},
      "usedFields": {...},
      "videoSettings": {...}
    }
}

Parameterbeschreibungen

ParameterBeschreibung
categoryFieldGroupGruppiert Kategoriefelder.
categoryFieldVordefinierte Standardfelder für Kategorien.
contentFieldDataTypesZentrale Typendefinitionen für Felder.
customCategoryFieldEigene (benutzerdefinierte) Kategoriefelder.
customProductFieldEigene Produktfelder für individuelle Datenpunkte.
imageFormatVorgaben für Bildformate / -größen.
inventoryEinstellungen zum Bestands- / Verfügbarkeitsmanagement.
productAttributeVerwaltung von Atrributen zur Katalognavigation und Suche.
productFieldGroupGruppiert Produktfelder.
productFieldVordefinierte Standardfelder für Produkte.
productSettingsGlobale Produktschalter & Defauls.
productTypeDefinition von Produkttypen.
usedFieldsNutzungsübersicht der Felder.
videoSettingsVorgaben für Videoeinbindung.

content.categoryField - Standard-Kategoriefelder

Dieser Knoten beschreibt die vordefinierten Systemfelder einer Kategorie. Erstellen oder Löschen zusätzlicher Felder ist an dieser Stelle nicht möglich. Je nach Feld sind bestimmte Eigenschaften editierbar, andere werden ausschließlich vom System geführt. Bestehende Werte können – sofern das jeweilige Feld editierbar ist – über das Admin Interface (Service „Katalog → Kategorien“) oder über die REST API Konfiguration geändert werden. Systemverwaltete Felder (z. B. Timestamps) sind schreibgeschützt.

Beispielkonfiguration content.categoryField.descr

{
  "label": "",
  "manualEditable": true,
  "name": "descr",
  "required": false,
  "searchable": false,
  "serviceFilter": false,
  "type": {
    "bool": null,
    "dateTime": null,
    "enumeration": null,
    "float": null,
    "image": null,
    "integer": null,
    "list": null,
    "map": null,
    "multiFormatImage": null,
    "price": null,
    "text": {
      "maxLength": 4096,
      "regex": null,
      "searchIndexBehaviour": "notAnalyzed"
    },
    "uinteger": null,
    "video": null
  }
}
In diesem Beispiel wurde das Feld descr als Kategorie-Beschreibungsfeld definiert, das redaktionell gepflegt werden kann. Es ist nicht suchrelevant und kein Pflichtfeld.

Parameterübersicht

ParameterTypBeschreibung
dataIdstringSysteminterne eindeutige ID des Feldes.
Wird automatisch vergeben und ist schreibgeschützt (readonly).
labelstringAnzeigename des Feldes im Admin Interface.
Dient der besseren Lesbarkeit und kann angepasst werden, ohne die Funktion des Feldes zu beeinflussen.
manualEditableboolSteuert, ob der Wert dieses Feldes manuell bearbeitet werden darf.
true = Das Feld kann über das Admin Interface, die REST API oder angebundene Systeme (z. B. WaWi) geändert werden.
false = Das Feld ist schreibgeschützt und wird ausschließlich vom System gesetzt (z. B. Felder wie timestampCreatedAt, die automatisch vom Shop verwaltet werden).
namestringTechnischer Name des Feldes. Muss eindeutig sein.
Übersicht der Standardfelder für Kategorien:
- active - Kategorie wird im Shop verwendet
- descr - Beschreibung der Kategorie
- hidden - Kategorie wird nicht in der Navigation angezeigt
- id - Eindeutiger Index für die Kategorie
- name - Name der Kategorie
- productAssignmentType - Methode, wie der Kategorie Produkte zugewiesen werden, z.B. über den RuleBuilder oder direkte Zuweisung von Produktindexen
- productRules - Regeln für die Produktzuweisung - timestampCreatedAt - Erstellungsdatum Kategorie (Unix-Timestamp)
- timestampUpdatedAt - Letzte Aktualisierung der Kategorie (Unix-Timestamp)
requiredboolMarkiert das Feld als Pflichtfeld.
true = Feld muss ausgefüllt werden.
false = Feld ist optional.
searchableboolGibt an, ob der Inhalt des Feldes in der Suchindizierung der Core-Suche berücksichtigt wird.
true = Feld wird in den Suchindex aufgenommen.
false = Feld bleibt für die Suche unberücksichtigt.
Diese Einstellung hat keine Auswirkung auf das Suchmodul WEBSALE | search.
Hier sind separate Anpassungen im Suchmodul selbst notwendig.
typeoneOfDatentyp des Feldes. Zulässige Werte sind über contentFieldDataTypes definiert.
siehe Datentypen

content.categoryFieldGroup - Kategoriefeldgruppen

Der Knoten content.categoryFieldGroup dient zur logischen Gruppierung von Kategoriefeldern innerhalb des Katalogs. Da in umfangreichen Shops eine große Anzahl individueller Kategorie-Felder existieren kann, lassen sich diese hier in thematische Gruppen zusammenfassen – etwa für SEO-Daten, Bilder, Marketinginhalte oder Stammdaten. Die Gruppierung erleichtert die Übersichtlichkeit im Admin Interface und sorgt dafür, dass Felder strukturiert dargestellt werden. Eine Feldgruppe kann mehrere bestehende Felder referenzieren. Neue Gruppen können aktuell nur über die REST API Konfiguration erstellt werden.

Beispielkonfiguration content.categoryFieldGroup.robots

{
  "fields": [
    "customCategoryField.robotsNoIndex",
    "customCategoryField.robotsNoFollow"
  ],
  "name": "Robots"
}

Parameterübersicht

ParameterTypBeschreibung
namestringAnzeigename der Feldgruppe.
Dient zur eindeutigen Identifikation und zur Anzeige im Admin Interface.
fieldsmultiAssocEnthält eine Liste der zugehörigen Felder.
Hier können Felder vom Typ content.categoryField oder content.customCategoryField referenziert werden.

content.contentFieldDataTypes - Datentypen (oneOf)

Der Typ contentFieldDataTypes definiert, welcher Datentyp type einem Produkt- und/oder Kategoriedatenfeld zugewiesen wird. Dadurch stellt WEBSALE einheitliche, validierbare Felddefinitionen für Kategorien und Produkte (z. B. „Text mit max. Länge“, „Ganzzahl mit Min/Max“, „Auswahlliste“) zur Verfügung Es gilt das oneOf-Prinzip: Genau ein Datentyp ist aktiv; alle anderen Typobjekte sind nicht gesetzt (z. B. null oder fehlen).

Beispielkonfiguration für die Zuweisung von Datentypen type bei einem Datenfeld

{
  ...
  "type": {
    "bool": null,
    "dateTime": null,
    "enumeration": null,
    "float": null,
    "image": null,
    "integer": null,
    "list": null,
    "map": null,
    "multiFormatImage": null,
    "price": null,
    "text": {
      "maxLength": 4096,
      "regex": null,
      "searchIndexBehaviour": "notAnalyzed"
    },
    "uinteger": null,
    "video": null
  }
  ...
}Überblick der verfügbaren Datentypen
int?, uint?, float?, string? bedeuten optional. Wird die Eigenschaft nicht gesetzt, gilt „keine zusätzliche Einschränkung“.
TypnameEigenschaft (Auszug)Beschreibung
bool-Wahr/Falsch. In Beschreibungen stets die Wirkung für true / false benennen.
dateTime-Zeitstempel/Datum-Uhrzeit (ISO-8601). Oft systemgeführt.
enumerationoptions (list<string>)Auswahlliste fester Werte (Whitelist).
floatmin (float?), max (float?)Gleitkommazahl (z. B. Maße, Gewichte).
image-Einzelnes Bild (Format/Storage außerhalb festgelegt).
integermin (int?), max (int?)Signierte Ganzzahl (inkl. negative Werte).
listmaxEntries (int)Geordnete Liste homogener Werte (Typ aus Feldkontext).
mapmaxEntries (int)Schlüssel-Wert-Sammlung (Strings → Werte; Größe begrenzen).
multiFormatImageimageFormats (multiAssoc → content.imageFormat)Bildreferenz in mehreren Zielformaten / Breakpoints.
pricemin (float?), max (float?)Preise / Beträge (fachlich wie float, ggf. Währungskontext separat).
textsearchIndexBehaviour (notAnalyzed | analyzed), maxLength (int?), regex (string?)Freitextfeld. searchIndexBehaviour steuert, ob der Feldinhalt für Suchanfragen ausgewertet wird (analyzed/notAnalyzed). maxLength begrenzt optional die Zeichenanzahl, regex ermöglicht eine optionale Musterprüfung.
uintegermin (uint?), max (uint?)Unsignierte Ganzzahl (≥ 0).
video-Einzelnes Video (Referenz/Storage außerhalb).

Details & Parametertabellen je Typ

bool

Beispiel

"type": { "bool": {} }

Parameterübersicht

ParameterTypBeschreibung
--Keine zusätzlichen Eigenschaften.
Wirkung im Feldkontext klar dokumentieren:
true = Funktion/Eigenschaft ist aktiv (z. B. „sichtbar“, „verfügbar“).
false = inaktiv.

dateTime

Beispiel

"type": { "dateTime": {} }

Parameterübersicht

ParameterTypBeschreibung
--Keine zusätzlichen Eigenschaften.
Erwartetes Format: ISO-8601 (z. B. 2025-10-28T12:34:56Z).
Wird häufig systemgeführt (z. B. timestampCreatedAt).

enumeration

Beispiel - Produktzuordnungstyp

"type": { "enumeration": { "options": ["manual", "rules"] } }

Parameterübersicht

ParameterTypBeschreibung
optionslist<string>Liste der zulässigen Werte (Whitelist).
Eingaben müssen einem der Einträge entsprechen.

float

Beispiel – Gewicht in kg

"type": { "float": { "min": 0.0, "max": 200.0 } }

Parameterübersicht

ParameterTypBeschreibung
minfloat?Untere Schranke (inklusive).
maxfloat?Obere Schranke (inklusive).

image

Beispiel

"type": { "image": {} }

Parameterübersicht

ParameterTypBeschreibung
--Bildreferenz; Validierung, Größenbeschränkung und Speicherort werden außerhalb definiert (z. B. in content.imageFormat).

integer

Beispiel – Bereich −100 … 100

"type": { "integer": { "min": -100, "max": 100 } }

Parameterübersicht

ParameterTypBeschreibung
minint?Untere Schranke (inklusive).
maxint?Obere Schranke (inklusive).

list

Beispiel – max. 20 Einträge

"type": { "list": { "maxEntries": 20 } }

Parameterübersicht

ParameterTypBeschreibung
maxEntriesintMaximale Anzahl der Listeneinträge.

map

Beispiel – Key-Value-Struktur für Eigenschaften:

"type": { "map": { "maxEntries": 50 } }

Parameterübersicht

ParameterTypBeschreibung
maxEntriesintMaximale Anzahl der Schlüssel-Wert-Paare.

multiFormatImage

Beispiel – Zwei Ausgabeformate

"type": {
  "multiFormatImage": {
    "imageFormats": ["thumb_1x1", "hero_16x9"]
  }
}

Parameterübersicht

ParameterTypBeschreibung
imageFormatsmultiAssoc → content.imageFormatVerknüpfung zu mehreren definierten Bildformaten (Breakpoints, Varianten).

price

Beispiel

"type": { "price": { "min": 0.0, "max": 999999.99 } }

Parameterübersicht

ParameterTypBeschreibung
minfloat?Untere Schranke (inklusive).
maxfloat?Obere Schranke (inklusive).
Hinweis: Währung, Steuerkontext und Rundungslogik werden außerhalb dieses Typs konfiguriert. Siehe → general - Allgemeine Shopeinstellungen

text

Beispiel – SEO-Text mit Volltextsuche

"type": {
  "text": {
    "searchIndexBehaviour": "analyzed",
    "maxLength": 512,
    "regex": null
  }
}

Parameterübersicht

ParameterTypBeschreibung
searchIndexBehaviourenum
(notAnalyzed, analyzed)
Steuert, ob und in welcher Form der Inhalt des Feldes im Suchindex ausgewertet wird.
Alle Inhalte des Feldes werden an Elasticsearch übertragen; über searchIndexBehaviour wird lediglich festgelegt, ob das Feld bei Suchanfragen (z. B. Volltextsuche oder Filter) berücksichtigt wird oder nur als Datenspeicher dient.
- analyzed = Volltext (tokenisiert, linguistisch analysiert)
- notAnalyzed = exakte Indexierung ohne Aufsplittung.
Diese Einstellung greift nicht für das Suchmodul WEBSALE | search.
Das technische Mapping des Feldes in Elasticsearch wird durch diese Einstellung nicht verändert.
maxLengthint?Maximale Zeichenzahl. Ohne Wert: keine Begrenzung.
regexstring?Optionaler regulärer Ausdruck zur Eingabevalidierung.

uinteger

Beispiel – nur nichtnegative Werte

"type": { "uinteger": { "min": 0, "max": 10000 } }

Parameterübersicht

ParameterTypBeschreibung
minuint?Untere Schranke (≥ 0, inklusive).
maxuint?Obere Schranke (inklusive).

video

Beispiel – nur nicht-negative Werte

"type": { "video": {} }

Parameterübersicht

ParameterTypBeschreibung
--Videoreferenz; Format, Codec und Speicherort werden außerhalb definiert.

content.customCategoryField - Benutzerdefinierte Kategoriefelder

Über den Knoten content.customCategoryField werden zusätzliche, frei definierbare Felder angelegt, die zur Beschreibung von Kategorien im Katalog genutzt werden können. Damit lassen sich individuelle Informationen – etwa Texte, Bilder, SEO-Metadaten oder technische Eigenschaften – an Kategorien hinterlegen, die im Frontend oder in externen Systemen (z. B. Warenwirtschaft, Suchindex, PIM) angezeigt oder weiterverarbeitet werden können. Diese Felder ergänzen die festen Standardfelder aus content.categoryField und ermöglichen eine flexible Erweiterung der Kategoriestruktur. Neue Felder können entweder über das Admin Interface im Service „Katalog → Kategorien“ angelegt oder über die REST API Konfiguration erstellt werden.

Beispielkonfiguration content.customCategoryField.image

{
  "label": "Kategorie",
  "manualEditable": true,
  "name": "image",
  "required": false,
  "searchable": false,
  "serviceFilter": false,
  "type": {
    "bool": null,
    "dateTime": null,
    "enumeration": null,
    "float": null,
    "image": null,
    "integer": null,
    "list": null,
    "map": null,
    "multiFormatImage": {
      "imageFormats": [
        "content.imageFormat.category",
        "content.imageFormat.categoryWebp"
      ]
    },
    "price": null,
    "text": null,
    "uinteger": null,
    "video": null
  }
}

Parameterübersicht

ParameterTypBeschreibung
dataIdstringSysteminterne eindeutige ID des Feldes. Wird automatisch generiert und ist read-only.
labelstringAnzeigename des Feldes im Admin Interface. Dient der besseren Lesbarkeit und kann frei vergeben werden.
manualEditableboolGibt an, ob der Feldwert manuell geändert werden darf.
true = Feld kann über das Admin Interface, die REST API oder WaWi gepflegt werden.
false = Feld ist schreibgeschützt (z. B. Systemfelder).
Typische Verwendung: Schreibgeschützte Felder wie automatisch berechnete Werte oder systemseitig gesetzte Status.
namestringTechnischer Name des Feldes. Muss eindeutig sein. Frei wählbar für eigene Felder (z. B. image, seoText, bannerVideo).
requiredboolMarkiert das Feld als Pflichtfeld.
true = Feld muss befüllt werden, sonst keine Speicherung möglich.
false = Feld ist optional.
searchableboolSteuert, ob der Feldinhalt in die Suchindizierung aufgenommen wird.
true = Feld wird in den Suchindex integriert.
false = Feld bleibt für die Suche unberücksichtigt.
Diese Einstellung greift nicht für das Suchmodul WEBSALE | search.
typeoneOfDatentyp des Feldes.
Die verfügbaren Typen sind in contentFieldDataTypes definiert (z. B. text, image, multiFormatImage, enumeration, price).
siehe Datentypen

content.customProductField - Benutzerdefinierte Produktfelder

Über den Knoten content.customProductField werden zusätzliche, frei definierbare Felder für Produkte angelegt. Diese Felder ermöglichen es, individuelle Produktinformationen zu erfassen, die über die Standardfelder hinausgehen – etwa Materialien, technische Eigenschaften, zusätzliche Texte, Medieninhalte oder Marketingattribute. So können produktrelevante Zusatzdaten gepflegt werden, die im Frontend, im Suchindex oder in externen Systemen (z. B. PIM, ERP, WaWi) verwendet werden. Neue Felder können entweder über das Admin Interface im Service „Katalog → Produkte“ angelegt oder über die REST API Konfiguration erstellt werden.

Beispielkonfiguration content.customProductField.material

{
  "label": "Material",
  "manualEditable": true,
  "name": "material",
  "protectedField": false,
  "required": false,
  "searchBoost": 1,
  "searchable": false,
  "serviceFilter": false,
  "type": {
    "bool": null,
    "dateTime": null,
    "enumeration": null,
    "float": null,
    "image": null,
    "integer": null,
    "list": null,
    "map": null,
    "multiFormatImage": null,
    "price": null,
    "text": {
      "maxLength": 100,
      "regex": null,
      "searchIndexBehaviour": "notAnalyzed"
    },
    "uinteger": null,
    "video": null
  },
  "variant": false
}

Parameterübersicht

ParameterTypBeschreibung
dataIdstringSysteminterne eindeutige ID des Feldes. Wird automatisch generiert und ist read-only.
labelstringAnzeigename des Feldes im Admin Interface. Dient der besseren Lesbarkeit und kann frei vergeben werden.
manualEditableboolGibt an, ob das Feld manuell bearbeitet werden darf.
- true = Feld kann über das Admin Interface, die REST API oder WaWi gepflegt werden.
- false = Feld ist schreibgeschützt (z. B. Systemfelder oder automatisch gesetzte Werte).
namestringTechnischer Name des Feldes. Muss eindeutig sein. Wird z. B. in Templates oder API-Abfragen referenziert.
protectedFieldboolSteuert, ob das Feld vor ungewollten Änderungen geschützt ist.
- true = Feld kann nicht gelöscht oder überschrieben werden.
- false = Feld kann jederzeit angepasst oder gelöscht werden.
Typische Verwendung: Schutz von systemkritischen Feldern.
requiredboolMarkiert das Feld als Pflichtfeld.
- true = Feld muss befüllt werden.
- false = Feld ist optional.
searchableboolSteuert, ob der Feldinhalt in den Suchindex aufgenommen wird.
- true = Feld wird bei der Suche berücksichtigt.
- false = Feld wird nicht indexiert.
Diese Einstellung greift nicht für das Suchmodul WEBSALE | search.
searchBoostintGewichtungsfaktor für die Suche.
Höhere Werte verstärken den Einfluss des Feldes auf das Suchranking.
Standardwert: 1.
Diese Einstellung greift nicht für das Suchmodul WEBSALE | search.
serviceFilterboolKennzeichnet, ob das Feld in servicebasierten Filtern (z. B. API-Abfragen, dynamische Produktauswahlen) verwendet werden kann.
- true = Feld kann als Filterkriterium genutzt werden.
- false = Feld steht für Filter nicht zur Verfügung.
typeoneOfDatentyp des Feldes.
Die verfügbaren Typen sind in contentFieldDataTypessiehe Datentypen
variantboolGibt an, ob das Feld als variantenrelevantes Attribut gilt.
- true = Feld kann bei Produktvarianten unterschiedliche Werte haben (z. B. Farbe, Größe).
- false = Feld gilt für alle Varianten gleich.

content.imageFormat - Bildformate & Konvertierungseinstellungen

Über den Knoten content.imageFormat werden Bildformate und zugehörige Konvertierungsregeln definiert, die vom System beim Import, bei der automatischen Umwandlung oder bei der Ausgabe von Produkt-, Kategorie- oder CMS-Bildern verwendet werden. Ein Bildformat beschreibt, wie ein Bild verarbeitet, geprüft, gespeichert und benannt wird.
Dazu gehören Einstellungen für Skalierung, Zuschnitt, Dateigröße, DPI-Grenzen, Ausgabeordner und Kompressionsqualität.
Neue Bildformate können entweder über das Admin Interface im Service „Templates und Content → Bildkonverter“ angelegt oder über die REST API Konfiguration erstellt werden.

Beispielkonfiguration content.imageFormat.normal

{
  "autoConvert": {
    "active": false,
    "allowExternalTrigger": false,
    "hour": null,
    "sourceDirectory": "products",
    "weekday": null
  },
  "check": {
    "dpi": {
      "active": false,
      "max": 0,
      "min": 0
    },
    "fileSize": {
      "active": false,
      "max": 0,
      "maxUnit": "byte",
      "min": 0,
      "minUnit": "byte"
    },
    "inputTypeRestriction": {
      "active": false,
      "allowedTypes": null
    }
  },
  "convert": {
    "additionalArguments": "",
    "changeType": {
      "active": false,
      "type": "jpg"
    },
    "quality": {
      "active": true,
      "value": 75
    },
    "removeMetadata": true,
    "resize": {
      "active": true,
      "background": "#FFFFFF",
      "height": 660,
      "orientation": "center",
      "type": "scale",
      "width": 600
    },
    "sharpen": {
      "active": false,
      "sigma": 1
    }
  },
  "description": "normal - bild",
  "name": "Normal Produkt",
  "output": {
    "handleIfExists": "overwrite",
    "nameSuffix": "",
    "targetDirectory": "products/normal"
  },
  "type": "product"
}
Dieses Beispiel definiert ein Standard-Bildformat für Produktbilder mit 600 × 660 px, Weiß als Hintergrund, JPG-Ausgabequalität 75 %, und automatischem Speichern unter products/normal.

Parameterübersicht

ParameterTypBeschreibung
autoConvertobjectZeit- oder triggerbasierte automatische Konvertierung.
activeboolAktiviert automatische Umwandlung.
- true = Regelmäßige Ausführung gemäß Zeitplan.
- false = Nur manuell ausgelöst.
hourlist<uint>Stundenangaben (0–23) für geplante Ausführung.
sourceDirectorystringQuellordner der zu konvertierenden Bilder.
weekdaylist<uint>Liste der Wochentage (0–6 = Sonntag–Samstag), an denen konvertiert wird.
checkobjectRegeln zur Eingabeprüfung (Dateityp, Auflösung, Größe).
inputTypeRestriction
activeboolAktiviert die Typprüfung.
- true = Nur definierte Dateitypen sind erlaubt.
- false = Keine Einschränkung.
allowedTypeslist<string>Liste zulässiger Dateitypen (z. B. ["jpg", "png", "webp"]).
dpiDPI-Prüfung
activeboolAktiviert die DPI-Prüfung.
- true = Dateien müssen innerhalb des DPI-Bereichs liegen.
- false = Keine Prüfung.
minunitMindest-DPI.
maxunitMaximal-DPI.
fileSizeGrößenprüfung
activeboolAktiviert die Größenprüfung.
- true = Prüft Dateigröße
- false = Keine Prüfung
minfloatUntere Grenze für Dateigröße.
maxfloatObere Grenze für Dateigröße.
minUnitenumEinheit: byte, kiloByte, megaByte.
maxUnitenumEinheit: byte, kiloByte, megaByte.
convertobjectDefinition der Bildkonvertierung (Format, Qualität, Skalierung etc.).
changeTypeDateityp-Konvertierung
activeboolAktiviert die Dateityp-Konvertierung.
- true = Zieldatei wird in den angegebenen Typ umgewandelt
- false = Originalformat bleibt erhalten
typeenumZiel-Dateiformat: jpg, jpeg, png, gif, webp, avif. Standard: jpg.
qualityQualitätssteuerung
activeboolAktiviert die Qualitätssteuerung. - true = aktiviert - false = deaktiviert
valueuintQualitätswert 0–100 (100 = beste Qualität, größte Datei).
resizeGrößenänderung
activeboolAktiviert Größenänderung. - true = aktiviert - false = deaktiviert
typeenumMethode: scale (Proportional), crop (Zuschnitt), stretch (Streckung).
widthuintZielbreite in px.
heightuintZielhöhe in px.
backgroundstringHintergrundfarbe im Hex-Format (z. B. #FFFFFF).
orientationenumPositionierung beim Zuschneiden/Platzieren:
center, north, south, east, west, northEast, southEast, northWest, southWest.
sharpenSchärfefilter
activeboolAktiviert Schärfung.
- true = Schärfefilter wird angewendet.
- false = Keine Schärfung.
sigmafloatStärke des Schärfefilters (Standard 1.0).
removeMetadataboolEntfernt Metadaten (EXIF u. a.).
- true = Metadaten werden gelöscht.
- false = Metadaten bleiben erhalten.
additionalArgumentsstringErweiterte Kommando- oder Toolparameter (für interne Konverter).
descriptionstringBeschreibung oder Zweck des Formats (frei wählbar).
namestringEindeutiger Name des Bildformats. Wird intern und im Admin Interface angezeigt.
outputobjectZielpfad und Schreibregeln für die erzeugten Dateien. Details siehe Abschnitt output.
targetDirectorystringZielverzeichnis für konvertierte Bilder (relativ zum Medien-Root).
nameSuffixstringOptionaler Namenszusatz (z. B. _thumb, _webp).
handleIfExistsenumVerhalten bei existierender Datei:
- overwrite – überschreiben
- skip – überspringen
- counter – neuen Namen mit Zähler erzeugen.
typeenumKlassifizierung des Formats. Zulässige Werte:
- product – Produktbilder
- category – Kategoriebilder
- cms – CMS- oder Content-Bilder
- app – App-Assets
- other – Sonstige Bilder
Standardwert: product.

content.inventory - Lagerverwaltung & Bestandsmeldungen

Der Knoten content.inventory steuert die Lagerbestandsverwaltung des Shops sowie die Kommunikation bei geringen oder ausverkauften Beständen. Er definiert, ab welchen Grenzwerten Produkte als verfügbar, niedrig oder nicht lieferbar gelten, und welche Texte oder E-Mail-Benachrichtigungen in diesen Fällen verwendet werden. Darüber hinaus können automatische E-Mails an Verantwortliche oder Kundinnen und Kunden konfiguriert werden, z. B. bei niedrigen Lagerbeständen oder wenn ein Artikel wieder verfügbar ist. Neue Grenzen und Bestandsmeldungen können über die REST API Konfiguration erstellt werden.

Beispielkonfiguration content.inventory

{
  "active": true,
  "backInStock": {
    "allow": true,
    "mailSubject": "Produkt wieder verfügbar",
    "senderAddress": "noreply@websale.de",
    "senderName": "Mustershop",
    "template": "backInStock.htm"
  },
  "greenYellowBorder": 50,
  "message": {
    "active": true,
    "fromAddress": "lagerbestand@websale.de",
    "fromName": "Lagerbestandswächter",
    "limit": 5,
    "mail": "dev-test@websale.de",
    "subject": "Lagerbestandsmitteilung",
    "template": "inventory.htm"
  },
  "reservationTime": 10,
  "reservationTimeCheckout": 30,
  "reserveRedOrdable": true,
  "splitDeliveryText": true,
  "textGreen": "Auf Lager",
  "textRed": "Ausverkauft",
  "textRedOrder": "Wird nachbestellt",
  "textYellow": "Nur noch wenige Stück auf Lager",
  "yellowRedBorder": 0
}
In diesem Beispiel ist die Lagerbestandsüberwachung aktiv. Sobald der Bestand unter 50 Stück fällt, wird die gelbe Warnstufe angezeigt, und ab 0 Stück gilt der Artikel als ausverkauft. Zudem werden automatische Benachrichtigungen an den Lagerverantwortlichen und an Kundinnen/Kunden beim Wiedereintreffen aktiviert.

Parameterübersicht

ParameterTypBeschreibung
activeboolAktiviert die Lagerbestandsverwaltung.
- true = Lagerbestand wird überwacht und im Frontend angezeigt.
- false = Keine Lagerprüfung, alle Artikel gelten als verfügbar.
backInStockobjectKonfiguration der Benachrichtigung bei Wiederverfügbarkeit für Kundinnen/Kunden.
Steuert, ob Kundinnen/Kunden automatisch informiert werden, sobald ein Produkt wieder verfügbar ist.
allowboolAktiviert die Funktion „Benachrichtigen, wenn wieder verfügbar“. - true = Kundinnen/Kunden können sich für eine E-Mail-Benachrichtigung anmelden. - false = Keine Benachrichtigung möglich.
mailSubjectstringBetreff der E-Mail (z. B. „Produkt wieder verfügbar“).
senderAddressstringAbsenderadresse (z. B. noreply@shop.de).
senderNamestringAbsendername (z. B. Shopname).
templatestringE-Mail-Template für die Nachricht (z. B. backInStock.htm).
greenYellowBorderuintGrenzwert (Menge), ab dem die Anzeige von grün auf gelb wechselt. Beispiel: 50.
messageobjectKonfiguration automatischer internen Lagerbestandsmeldungen (an Händler/Admin).
activeboolAktiviert die interne Benachrichtigung.
- true = Warnmails werden versendet.
- false = Keine Benachrichtigung möglich.
fromAddressstringAbsenderadresse für Warnmails.
fromNamestringAbsendername (z. B. „Lagerbestandswächter“).
limituintSchwellwert für Bestandsmeldung.
Wenn der Bestand ≤ Wert ist, wird eine Warnmail versendet.
mailstringEmpfängeradresse für Warnmails.
templatestringE-Mail-Template für die Benachrichtigung (z. B. inventory.htm).
subjectstringBetreffzeile der E-Mail.
reserveRedOrdableboolSteuert, ob auch ausverkaufte, aber nachbestellbare Artikel reserviert werden dürfen.
- true = Reservierung erlaubt.
- false = Reservierung nur für verfügbare Produkte.
reservationTimeuintZeitspanne (in Minuten), für die ein Produkt bei Hinzufügen in den Warenkorb reserviert wird.
Standard: 15
reservationTimeCheckoutuintZeitspanne (in Minuten), für die Produkte während des Bestellvorgangs reserviert bleiben.
Standard: 30
splitDeliveryTextboolAktiviert getrennte Textanzeigen für Teillieferungen.
- true = Getrennte Texte für verfügbare und nachgelieferte Produkte.
- false = Einheitliche Anzeige.
textGreenstringText für die grüne Statusanzeige (z. B. „Auf Lager“).
textRedstringText für die rote Statusanzeige (z. B. „Ausverkauft“).
textRedOrderstringText, wenn ein Artikel zwar ausverkauft, aber nachbestellbar ist (z. B. „Wird nachbestellt“).
textYellowstringText für die gelbe Statusanzeige (z. B. „Nur noch wenige Stück auf Lager“).
yellowRedBorderuintGrenzwert (Menge), ab dem ein Artikel als rot (nicht verfügbar) gilt.
Beispiel: 0

content.productField - Standard-Produktdatenfelder

Über den Knoten content.productField werden die vordefinierten Standardfelder der Produktdaten beschrieben. Diese Felder bilden die feste technische Basis für alle Produkte und können nicht gelöscht oder neu angelegt werden. Sie definieren, welche Eigenschaften jedes Produkt im System besitzt – etwa Name, Preis, Beschreibung oder Steuerinformationen. Je nach Feld kann festgelegt werden, ob es manuell editierbar, suchrelevant oder variantenspezifisch ist. Neue, zusätzliche Felder können nicht über diesen Knoten erstellt werden. Hierfür steht der separate Knoten content.customProductField zur Verfügung. Bestehende Werte können – sofern das jeweilige Feld editierbar ist – über das Admin Interface (Service „Katalog → Produkte“) oder über die REST API Konfiguration geändert werden. Systemverwaltete Felder (z. B. Timestamps) sind schreibgeschützt.

Beispielkonfiguration content.productField.name

{
  "label": "",
  "manualEditable": true,
  "name": "name",
  "protectedField": false,
  "required": true,
  "searchBoost": 6,
  "searchable": true,
  "serviceFilter": true,
  "type": {
    "bool": null,
    "dateTime": null,
    "enumeration": null,
    "float": null,
    "image": null,
    "integer": null,
    "list": null,
    "map": null,
    "multiFormatImage": null,
    "price": null,
    "text": {
      "maxLength": 255,
      "regex": null,
      "searchIndexBehaviour": "analyzed"
    },
    "uinteger": null,
    "video": null
  },
  "variant": true
}
Dieses Beispiel zeigt das Standardfeld name, das für alle Produkte vorhanden ist. Es ist suchrelevant, Pflichtfeld und variantenspezifisch. Die maximale Länge beträgt 255 Zeichen.

Parameterübersicht

ParameterTypBeschreibung
dataIdstringSysteminterne eindeutige ID des Feldes.
Wird automatisch vergeben und ist read-only.
labelstringAnzeigename des Feldes im Admin Interface.
Kann frei angepasst werden und dient nur der Lesbarkeit.
manualEditableboolGibt an, ob der Wert manuell bearbeitet werden darf.
- true = Feld kann über das Admin Interface, die REST API oder WaWi geändert werden.
- false = Feld ist schreibgeschützt und wird ausschließlich vom System gepflegt (z. B. timestampCreatedAt).
namestringTechnischer Name des Feldes. Muss eindeutig sein.
Folgende Standardfelder stehen zur Verfügung:
- active
- descr
- id
- itemNumber
- name
- price
- setPrice
- taxRateId
- timestampCreatedAt
- timestampUpdatedAt
Diese Felder sind fest vorgegeben und nicht veränderbar.
Für eigene Felder siehe content.customProductField.
protectedFieldboolSteuert, ob das Feld gegen Änderungen oder Löschung geschützt ist.
- true = Feld kann nicht entfernt oder überschrieben werden.
- false = Feld kann (innerhalb der erlaubten Grenzen) angepasst werden.
requiredboolGibt an, ob das Feld verpflichtend befüllt werden muss.
- true = Pflichtfeld (z. B. Produktname, Artikelnummer).
- false = Optionales Feld.
searchableboolBestimmt, ob der Feldinhalt in den Suchindex aufgenommen wird.
- true = Feld wird in der Suche berücksichtigt.
- false = Feld bleibt für die Suche unberücksichtigt.
searchBoostintGewichtungsfaktor für die Suche.
Höhere Werte erhöhen die Relevanz des Feldes im Suchranking.
Standard: 1
serviceFilterboolSteuert, ob das Feld als Filterkriterium in servicebasierten Abfragen genutzt werden kann.
- true = Feld kann in Filtern und API-Requests verwendet werden.
- false = Feld steht für Filter nicht zur Verfügung.
typeoneOfDatentyp des Feldes. Nur ein Typ darf aktiv sein.
Die verfügbaren Typen sind in contentFieldDataTypes beschrieben.
siehe Datentypen
text
maxLengthintegerMaximale Anzahl an Zeichen, die im Textfeld erlaubt sind.
regexstringOptionaler regulärer Ausdruck zur Validierung.
- null = keine Prüfung.
- "<pattern>" = Eingabe muss Muster entsprechen.
searchIndexBehaviourstringSteuert, wie der Text in der Suche indiziert wird.
- "analyzed" = Tokenisierung/Volltextsuche
- "notAnalyzed" = exakte Übereinstimmung (Keyword).
variantboolLegt fest, ob das Feld variantenabhängig ist.
- true = Feldwert kann sich je Variante unterscheiden (z. B. Farbe, Größe, Preis).
- false = Feld gilt für alle Varianten eines Produkts gleich.

content.productSettings - Allgemeine Produkteinstellungen

Der Knoten content.productSettings enthält allgemeine Einstellungen, die das Verhalten der Produktdarstellung und -kennzeichnung im Shop beeinflussen. Aktuell umfasst dieser Abschnitt insbesondere die Definition, wie lange ein Produkt als „neu“ markiert werden soll. Die Settings können über die REST API Konfiguration erstellt werden.

Beispielkonfiguration content.productSettings

{
  "daysNewTagged": 14
}
In diesem Beispiel werden Produkte für 14 Tage nach ihrer Erstellung als neu gekennzeichnet.
Nach Ablauf dieser Frist entfällt die Kennzeichnung automatisch.

Parameterübersicht

ParameterTypBeschreibung
daysNewTaggedintGibt an, wie viele Tage nach der Erstellung ein Produkt als „neu“ gilt.
Standardwert: 14.
Typischer Einsatz für Badges oder Hervorhebungen im Frontend („Neu“, „Just arrived“, „Neu im Sortiment“).

content.productType - Produkttypen

Der Knoten content.productType dient zur Definition von Produkttypen, über die sich unterschiedliche Produktarten im System klassifizieren lassen. Produkttypen können verwendet werden, um Funktionen, Prozesse oder Darstellungslogiken abhängig vom Typ zu steuern – z. B. zur Unterscheidung zwischen physischen Produkten, digitalen Gütern oder Dienstleistungen. Jeder Produkttyp besitzt eine eindeutige ID und einen Namen, der im Admin Interface angezeigt wird. Neue Produkttypen können über die REST API Konfiguration erstellt werden.

Beispielkonfiguration content.productType.digital

{
  "id": "digital",
  "name": "Digital"
}
In diesem Beispiel wird der Produkttyp „Digital“ mit der technischen ID digital definiert.
Er kann anschließend bei Produkten verwendet werden, um z. B. digitale Inhalte von physischen Waren zu unterscheiden.

Parameterübersicht

ParameterTypBeschreibung
idstringTechnische, eindeutige Kennung des Produkttyps (z. B. "physical", "digital", "service").
Wird als Referenz in Produktobjekten verwendet.
namestringAnzeigename des Produkttyps im Admin Interface.
Dient der besseren Lesbarkeit und kann frei gewählt werden.

content.usedFields - Zuordnung benutzerdefinierter Felder

Der Knoten content.usedFields legt fest, welche benutzerdefinierten Felder (customCategoryField / customProductField) im Shopsystem aktiv für bestimmte Funktionsbereiche genutzt werden. Damit wird definiert, welche Custom-Felder im Frontend oder im Backend für SEO, Metadaten, Cross-Selling, Rabatte, Gutscheine usw. herangezogen werden. Das bedeutet:
Ein hier hinterlegter Verweis wie "metaTitle": "content.customProductField.metaTitle"
definiert, welches benutzerdefinierte Feld tatsächlich das SEO-Titel-Feld für Produkte ist.
Dadurch können Administratoren und Entwickler individuelle Felder flexibel in die Systemlogik einbinden, ohne dass feste Systemfelder nötig sind. Die Zuordnung kann über die REST API Konfiguration erstellt und bearbeitet werden.

Beispielkonfiguration content.usedFields

{
  "categories": {
    "alternativeTemplate": "content.customCategoryField.alternativeTemplate",
    "defaultSort": null,
    "metaDescription": "content.customCategoryField.metaDescription",
    "metaDescriptionSetManually": "content.customCategoryField.metaDescriptionSetManually",
    "metaTitle": "content.customCategoryField.metaTitle",
    "metaTitleSetManually": "content.customCategoryField.metaTitleSetManually",
    "robotsNoFollow": "content.customCategoryField.robotsNoFollow",
    "robotsNoIndex": "content.customCategoryField.robotsNoIndex"
  },
  "products": {
    "bestPrice": null,
    "commission": "content.customProductField.commission",
    "commissionTaxRate": "content.customProductField.commissionTaxRate",
    "crossSelling": "content.customProductField.crossSelling",
    "customNumber": "content.customProductField.customNumber",
    "mainCategory": "content.customProductField.mainCategory",
    "maxQuantity": null,
    "metaDescription": "content.customProductField.metaDescription",
    "metaDescriptionSetManually": "content.customProductField.metaDescriptionSetManually",
    "metaTitle": "content.customProductField.metaTitle",
    "metaTitleSetManually": "content.customProductField.metaTitleSetManually",
    "oneTimeFee": "content.customProductField.oneTimeFee",
    "oneTimeFeeTaxRate": "content.customProductField.oneTimeFeeTaxRate",
    "orderExportFields": null,
    "productDiscount": "content.customProductField.productDiscount",
    "productDiscountAbsolute": "content.customProductField.productDiscountAbsolute",
    "productType": "content.customProductField.productType",
    "ratingPoints": null,
    "robotsNoFollow": "content.customProductField.robotsNoFollow",
    "robotsNoIndex": "content.customProductField.robotsNoIndex",
    "setOrgPrice": "content.customProductField.setOrgPrice",
    "validForDiscount": "content.customProductField.validForDiscount",
    "voucherProductActive": "content.customProductField.voucherProductActive",
    "voucherProductCharge": "content.customProductField.voucherProductCharge",
    "voucherProductHtmlTemplate": "content.customProductField.voucherProductHtmlTemplate",
    "voucherProductPrice": "content.customProductField.voucherProductPrice",
    "weight": "content.customProductField.weight"
    "freeShipping: "content.customProductField.freeShipping"
  }
}
In diesem Beispiel sind bestimmte Custom-Felder für SEO, Preise, Gewicht, Gutscheine und Cross-Selling explizit zugeordnet. Andere Felder (z. B. bestPrice, defaultSort) bleiben ungenutzt (null).

Parameterübersicht

ParameterTypBeschreibung
categoriesobjectEnthält alle Zuordnungen, die für Kategoriefelder gelten (z. B. SEO-Texte, Templates, Robots-Angaben).
alternativeTemplatesingleAssoc
→ content.customCategoryField
Referenz auf ein Feld, das alternative Template-Pfade oder Layouts definiert.
defaultSortsingleAssoc
→ content.customCategoryField
Legt die Standard-Sortierung innerhalb einer Kategorie für die interne Suche fest.
Der Wert muss den Namen einer konfigurierten Sortieroption aus search.productSortOption enthalten.
metaDescriptionsingleAssoc
→ content.customCategoryField
Feld für SEO-Beschreibung der Kategorie.
metaDescriptionSetManuallysingleAssoc
→ content.customCategoryField
Kennzeichnet für die SEO-Felder, ob ihr Inhalt manuell gepflegt oder automatisch erzeugt wird.
Standardmäßig befüllt der SEO-Dienst diese Werte automatisch; in der Konfiguration wird einmalig zugewiesen, aus welchen Feldern die Generierung erfolgt.
metaTitlesingleAssoc
→ content.customCategoryField
Feld für SEO-Titel der Kategorie.
metaTitleSetManuallysingleAssoc
→ content.customCategoryField
SEO-Titel Steuerfeld, ob die Werte manuell gesetzt oder automatisch generiert wurden.
robotsNoFollowsingleAssoc
→ content.customCategoryField
Verweis auf ein Custom-Field (Boolean), das steuert, ob Suchmaschinen Links auf dieser Seite folgen dürfen.
true - “nofollow” für diese Seite aktiviert false - Links werden von Suchmaschinen indexiert
robotsNoIndexsingleAssoc
→ content.customCategoryField
Verweis auf ein Custom-Feld (Boolean), das steuert, ob die Seite indexiert werden darf.
true - noindex(Seite nicht indexieren)
false- Seite darf indexiert werden.
productsobjectEnthält alle Zuordnungen, die für Produktfeldeigenschaften gelten (z. B. Preise, Gutscheininformationen, Cross-Selling, SEO).
Ordnet Custom-Felder zu, die für Produkte verwendet werden.
bestPricesingleAssoc
→ content.customProductField
Optionales Feld für die günstigste Preisoption oder Vergleichspreise.
commissionsingleAssoc
→ content.customProductField
Provisionsfelder für den Verkauf (z. B. Partnerprogramme).
commissionTaxRatesingleAssoc
→ content.customProductField
Provisionsfelder für den Verkauf (z. B. Partnerprogramme).
crossSellingsingleAssoc
→ content.customProductField
Feld für Cross-Selling- oder Zubehörverknüpfungen.
customNumbersingleAssoc
→ content.customProductField
Alternative Artikelnummer.
mainCategorysingleAssoc
→ content.customProductField
Verweist auf ein Custom-Feld, das die Hauptkatgeorie eines Produkts enthält.
Diese wird u.a. genutzt für SEO-URL-Pfad (übergeordnete Kategorie im Link) oder Breadcrumbs beim Direkteinstieg auf die Produktseite.
metaDescriptionsingleAssoc
→ content.customProductField
SEO-Feld für Produktbeschreibung.
metaDescriptionSetManuallysingleAssoc
→ content.customProductField
Steuerfeld für manuell gesetzte SEO-Werte.
metaTitlesingleAssoc
→ content.customProductField
SEO-Feld für Produkttitel.
metaTitleSetManuallysingleAssoc
→ content.customProductField
Steuerfeld für manuell gesetzte SEO-Werte.
oneTimeFeesingleAssoc
→ content.customProductField
Zusatzgebühren (z. B. Servicepauschale) und deren Steuerinformationen.
oneTimeFeeTaxRatesingleAssoc
→ content.customProductField
Zusatzgebühren (z. B. Servicepauschale) und deren Steuerinformationen.
orderExportFieldsmultiAssoc
→ content.customProductField
Liste zusätzlicher Felder, die beim Bestellexport mitgegeben werden.
productDiscountsingleAssoc
→ content.customProductField
Felder zur Steuerung von Rabattinformationen (prozentual / absolut).
Dieser Rabatt gilt nur für Set-Produkte.
productDiscountAbsolutesingleAssoc
→ content.customProductField
Felder zur Steuerung von Rabattinformationen (prozentual / absolut).
Dieser Rabatt gilt nur für Set-Produkte.
productTypesingleAssoc
→ content.customProductField
Zuweisung eines Custom-Felds für Produkttyp-Informationen.
ratingPointssingleAssoc
→ content.customProductField
Feld für Bewertungs- oder Punktesysteme.
robotsNoFollowsingleAssoc
→ content.customProductField
Suchmaschinensteuerung (Indexierung / Follow).
robotsNoIndexsingleAssoc
→ content.customProductField
Suchmaschinensteuerung (Indexierung / Follow).
validForDiscountsingleAssoc
→ content.customProductField
Steuerung, ob ein Produkt für Rabattaktionen berücksichtigt wird.
voucherProductActivesingleAssoc
→ content.customProductField
Steuert, ob beim Kauf automatisch ein Gutschein (PDF) erzeugt wird.
voucherProductChargesingleAssoc
→ content.customProductField
Referenz auf die Charge/Charge-ID, aus der ein Gutschein neu erstellt oder aus einem importierten Pool entnommen wird.
voucherProductHtmlTemplatesingleAssoc
→ content.customProductField
Name/Pfad des HTML-Templates, das zur Erzeugung des Gutschein-PDFs verwendet wird.
voucherProductPricesingleAssoc
→ content.customProductField
Wenn aktiv, entspricht der Gutscheinwert dem Produktpreis.
weightsingleAssoc
→ content.customProductField
Feld für das Produktgewicht.
freeShippingsingleAssoc
→ content.customProductField
Wenn sich nur Produkte im Warenkorb befinden, bei denen dieses Feld auf true steht, werden keine Versandkosten berechnet.

content.videoSettings - Videoeinstellungen für Produkte und Kategorien

Der Knoten content.videoSettings definiert die allgemeinen Parameter für den Upload und die Ablage von Videodateien, die in Produkt- oder Kategorieinhalten verwendet werden.
Hierüber wird festgelegt, welche Formate zulässig sind, wie groß eine Videodatei maximal sein darf, und in welchen Zielverzeichnissen Videos gespeichert werden.
Diese Einstellungen greifen sowohl bei manuellen Uploads im Admin Interface als auch bei automatisierten Datenimporten. Neue und bestehende Einstellungen können über das Admin Interface (Service „Sonstige Module → Videos“) oder über die REST API Konfiguration bearbeitet werden.

Beispielkonfiguration content.videoSettings

{
  "allowedFormats": [],
  "categoryTargetDirectory": "categories/video",
  "maxFileSize": 250,
  "productTargetDirectory": "products/video"
}

Parameterübersicht

ParameterTypBeschreibung
allowedFormatslist<string>Liste der zugelassenen Dateiformate (z. B. ["mp4", "mov", "webm"]).
Ist die Liste leer, werden alle unterstützten Standardformate akzeptiert.
categoryTargetDirectorystringZielverzeichnis für Kategorievideos.
Standardwert: categories/video.
maxFileSizeintMaximale Dateigröße in Megabyte (MB), die beim Hochladen von Videodateien erlaubt ist.
Standardwert: 250.
productTargetDirectorystringZielverzeichnis für Produktvideos.
Standardwert: products/video.