Kategorien verwalten im TYRIOS PIM

Beschreibung:

Ein zentrales Element zur Verwaltung von Produkten in TYRIOS pim ist das Kategoriesystem. Es ist eine hierarchische Baumstruktur mit einem Wurzelknoten. Ein Produkt kann so vielen Kategorien zugewiesen werden, wie du möchtest.

Authentifizierung

Die API-Endpunkte von TYRIOS sind nur für autorisierte Benutzer verfügbar. Daher muss der Benutzer authentifiziert werden. Es gibt zwei verschiedene Arten der Authentifizierung:

  • Authentifizierung durch BASIC-Authentifizierung. Das Benutzerkonto muss über ein aktiviertes REST API-Token verfügen. Du musst einen entsprechenden BASIC-Authentifizierungs-Header senden.
  • Authentifizierung durch die Registrierung einer mobilen App. Du musst ein entsprechendes App-Registrierungs-Token senden.

Erforderliche Rechte

Um diese API nutzen zu können, brauchst du Benutzeranmeldedaten mit Rechten zur Kategorieverwaltung. Wenn du diese Rechte nicht hast, erhältst du einen 403-Fehlercode. Die API ist für externe Nutzer ohne Anmeldedaten nicht verfügbar.

Datenstruktur

Shop-Kategorien werden mit ShopCategoryData-Strukturen verwaltet. Die ShopCategoryData ist eine verschachtelte Datenstruktur, um schnelles Lesen der Baumstruktur zu ermöglichen. Das heißt, jedes ShopCategoryData hat drei Felder:

  • nodeLeft
  • nodeRight
  • nodeLevel

Mit diesen Feldern ist es möglich, jeden Teilbaum mit nur einer SQL-Anweisung abzufragen.

Zusätzlich zu den ShopCategoryData kannst du einer Kategorie auch Vorschaubilder zuordnen. Dies geschieht durch Zuweisung eines MediahelperFile-Objekts.

Kategorien auflisten

Um ein Produkt anzufordern, musst du den GET-Endpunkt aufrufen

https://[instance]/service/ProductManagement/products

Die Anfrage unterstützt mehrere GET-Parameter:

  • offset: Offset der Produktliste, Standardwert 0
  • length: Anzahl der angebotenen Produkte, Standardwert 20,
  • filter: JSON-Objekt, um nach einem bestimmten Feld zu filtern. Es werden alle Produktdatenfelder unterstützt.
  • sortieren: JSON-Objekt mit Feld: ASC/DESC-Sortierdefinition

Eine Anfrage, um nach der Materialnummer zu filtern, sieht wie folgt aus:

https://[instance]/service/ProductManagement/products/?offset=0&length=5&filter={%22materialNumber%22:%221%22}&sorting={%22name_de%22:%22ASC%22}

Du wirst die folgende Datenstruktur zurückerhalten

{
  "Produkte": [
    {
      "id": 90,
      "name_de": "Neuer Name De",
      "shortDescription_de": "Kurzbeschreibung",
      "description_de": "Beschreibung",
      "price": 1.33,
      "ShopCategoryData": [
        { "id": 1, "name": "Kategorie 1" },
        { "id": 14, "name": "Kategorie 14" }
      ],
      "mainMediaFile": {
        "id": 136,
        "url": "/media/produkte/136.jpg",
        "alt": "Produktbild Haupt"
      },
      "MediahelperFile": [
        {
          "id": 136,
          "url": "/media/produkte/136.jpg",
          "alt": "Galerie 1"
        },
        {
          "id": 129,
          "url": "/media/produkte/129.jpg",
          "alt": "Galerie 2"
        }
      ]
    }
  ],
  "count": 1
}

Die Produkte stehen in den Produktfeldern, das Feld "count" gibt dir Auskunft darüber, wie viele Artikel gefunden wurden.

Bitte beachte, dass die konkrete Datenstruktur von der Instanz abhängt, da TYRIOS ein aspektorientiertes System ist.

eine bestimmte Kategorie abrufen

Du kannst ein bestimmtes Produkt abfragen, indem du den GET-Endpunkt

https://[instance]/service/ProductManagement/product/[productID]

Wenn das Produkt existiert, erhältst du ein vollständiges Datenobjekt für die Produktdaten

{
  "id": 90,
  "name_de": "Neuer Name De",
  "shortDescription_de": "Kurzbeschreibung",
  "description_de": "Beschreibung",
  "price": 1.33,
  "ShopCategoryData": [1, 14],
  "mainMediaFile": 129,
  "MediahelperFile": [136, 129]
}

 

Erstellen / Aktualisieren einer Kategorie

Du kannst Produkte über denselben Endpunkt erstellen und aktualisieren. Dazu musst du eine POST-Anfrage senden.

https://[instance]/service/ProductManagement/product

Wenn die ID nicht null ist, geht das System davon aus, dass es ein bestehendes Produkt aktualisieren muss. Andernfalls erstellt es ein neues Produkt.

Als Payload musst du nur ein vollständiges Produktobjekt senden. Wenn du ein bestehendes Produkt aktualisierst, wird davon ausgegangen, dass die nicht angegebenen Felder leer sind.

{
  "id": 90,
  "name_de": "Neuer Name De",
  "shortDescription_de": "Kurzbeschreibung",
  "description_de": "Beschreibung",
  "price": 1.33,
  "ShopCategoryData": [1, 14],
  "mainMediaFile": 129,
  "MediahelperFile": [136, 129]
}

Referenzobjekte können als Objekt oder als Id angegeben werden.

Bitte beachte, dass die verfügbaren Felder von der Instanz abhängen. Daher ist es nicht möglich, in dieser Dokumentation die vollständige Struktur zu beschreiben.

Eine Kategorie löschen

Wenn du eine Kategorie und alle Unterkategorien löschen willst, musst du eine DELETE-Anfrage an den Endpunkt senden

https://[instance]/service/ShopCategoryManagement/category/[categoryD]

Vorgehen:

Tips und Tricks:

Abonnieren Sie unseren Newsletter

Bleiben Sie stets informiert. Wir informieren Sie gerne über Produktneuheiten und Angebote.