Categories Endpoint

Endpoint

Categories

Produktkategorien mit Hierarchie-Unterstützung verwalten.


Übersicht

OperationMethodEndpointScope
ExportGET/xpanel/xoport/export/json/categoriescategories:read
ImportPOST/xpanel/xoport/import/json/categoriescategories:write
UpdatePUT/xpanel/xoport/import/json/categoriescategories:write
DeleteDELETE/xpanel/xoport/delete/json/categoriescategories:delete

Export (GET)

Query-Parameter

ParameterTypBeschreibung
categories_idintEinzelne Kategorie exportieren
parent_idintNur Unterkategorien dieser ID
limitintMax. Anzahl (Default: 100)
offsetintStartposition

Response-Felder

  • categories_id - Eindeutige ID
  • parent_id - Eltern-Kategorie (0 = Wurzel)
  • categories_status - Aktiv (1) oder inaktiv (0)
  • sort_order - Sortierreihenfolge
  • languages{} - Pro Sprache: name, heading, short_description, description, title_tag, desc_tag

Import (POST/PUT)

Beispiel-Request

curl -X POST "https://shop.de/xpanel/xoport/import/json/categories" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "categories",
    "data": [{
      "parent_id": 0,
      "status": 1,
      "sort_order": 10,
      "languages": {
        "de": {
          "categories_name": "Neue Kategorie",
          "categories_heading": "Neue Kategorie Überschrift"
        }
      }
    }]
  }'

Delete (DELETE)

curl -X DELETE "https://shop.de/xpanel/xoport/delete/json/categories?categories_id=99" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"

Achtung: Löscht auch alle Unterkategorien und entfernt Produktzuordnungen!


Categories Productlist NEU v2.12.0

Lightweight Endpoint für Kategorie→Produkt Mapping. Ideal für Synchronisations-Tools, die nur wissen müssen, welche Produkte in welchen Kategorien liegen.

EndpointBeschreibungBeispiel
GET /categories/productlistAlle Kategorien mit ProduktenKomplettes Mapping
GET /categories/productlist?categories_id={id}Einzelne Kategorie?categories_id=73
GET /categories/productlist?status=1Nur aktive KategorienStandard-Filter
GET /categories/productlist?include_inactive_products=1Auch inaktive ProdukteDefault: nur aktive
GET /categories/productlist?language=deSprach-FilterKategoriename in Sprache

Response-Format

{
  "type": "categories_productlist",
  "api_version": "2.12.0",
  "pagination": { "total": 42, "limit": 50, "offset": 0 },
  "data": [
    {
      "categories_id": 73,
      "categories_name": "Drucker",
      "products_count": 3,
      "products": [
        { "id": 101, "model": "HP-LJ-4050" },
        { "id": 102, "model": "EP-WF-7840" },
        { "id": 103, "model": "BR-HL-L6400" }
      ]
    }
  ]
}
Tipp: Der Productlist-Endpoint ist memory-effizient — ein einziger SQL-Query ohne Relations-Laden. Perfekt für große Kataloge mit 10.000+ Produkten. Scope: categories:read.