Merkmale über API auslesen und schreiben? API-Endpoint für Merkmale (Characteristics) - 404 Error beim Abruf aller System-Merkmale

Hallo Community,

ich entwickle gerade ein Tool zum Extrahieren von Merkmalen aus Artikeltexten und möchte dafür zunächst alle verfügbaren Merkmale (Characteristics) aus unserem PlentyMarkets-System laden.

Problem: Beim Versuch, die Merkmale über die REST-API abzurufen, erhalte ich durchgehend 404-Fehler.

Was ich bereits versucht habe:

javascript

// Versuch 1
GET /rest/setup/characteristics
// Ergebnis: 404 Not Found

// Versuch 2  
GET /rest/item/characteristics
// Ergebnis: 404 Not Found

// Versuch 3
GET /rest/items/characteristics
// Ergebnis: 404 Not Found

// Alternative: Merkmale über Items laden
GET /rest/items?with=itemCharacteristics
// Ergebnis: 500 Internal Server Error

Meine Fragen:

  1. Wie lautet der korrekte API-Endpoint, um ALLE System-Merkmale (nicht Eigenschaften/Properties!) abzurufen?
  2. Gibt es eine Möglichkeit, eine Liste aller verfügbaren Merkmale mit ihren IDs und Namen zu bekommen?
  3. Falls es keinen direkten Endpoint gibt: Wie ruft ihr Merkmale programmatisch ab?

Zusatzinfo:

  • Es geht explizit um Merkmale (Characteristics), NICHT um Eigenschaften (Properties)
  • Ziel: Alle ~5000 Merkmale aus dem System laden, um sie für eine GPT-basierte Extraktion zu nutzen
  • Die Login-Authentifizierung funktioniert einwandfrei
  • Andere API-Calls (Items, Variations etc.) funktionieren problemlos

Bin für jeden Tipp dankbar! Hat jemand erfolgreich Merkmale über die API abgerufen?

Viele Grüße

GET /rest/items/properties ist was du suchst. Das sind die Artikelmerkmale.

Sind das nicht die Eigenschaften? Ich suche alles für die Merkmale

Nein, das sind die Merkmale. Die Eigenschaften sind GET /v2/properties Das Naming ist ein wenig ungeschickt, aber vermutlich hatte man auch nicht damit gerechnet, dass die Merkmale noch so lange bestehen bleiben.

Also dann so?

  • /rest/items/properties = Merkmale (Characteristics)
  • /v2/properties = Eigenschaften (Properties)

Ja, wobei die Eigenschaften global sind und nicht nur für Produktdaten ( „type“: „item“,).

nachdem @philemon-modeherz mir den Tipp gegeben hat, dass /rest/items/properties die Merkmale (Characteristics) sind, bekomme ich leider einen 500 Error.

Meine Situation:

  • Entwickle ein Tool zum Extrahieren von Merkmalen aus Artikeltexten
  • Möchte alle verfügbaren System-Merkmale laden
  • Login funktioniert einwandfrei :white_check_mark:
  • Andere API-Calls funktionieren auch :white_check_mark:

Das Problem:

javascript

GET /rest/items/properties
// Ergebnis: 500 Internal Server Error

// Mit Parametern:
GET /rest/items/properties?page=1&itemsPerPage=200&with=names,values,groups
// Ergebnis: Immer noch 500

Console Output:

❌ API-Fehler auf Seite 1: Request failed with status code 500
⚠️ Keine Merkmale über API gefunden. Verwende Test-Merkmale...

Meine Fragen:

  1. Braucht der Endpoint spezielle Parameter oder Permissions?
  2. Gibt es eine andere Schreibweise für den Endpoint?
  3. Muss ich vorher etwas anderes aufrufen?

Was ich schon versucht habe:

  • Mit und ohne Parameter
  • Mit verschiedenen with Parametern
  • Verschiedene itemsPerPage Werte

System-Info:

  • REST API Login funktioniert
  • Kann erfolgreich Items mit Tag 120 suchen (17468 Artikel)
  • Andere Endpoints wie /rest/items/variations funktionieren problemlos

Hat jemand eine Idee, warum der Endpoint einen 500er wirft? Oder gibt es einen alternativen Weg, alle Merkmale zu laden?

Vielen Dank im Voraus!

Moin,

habe da noch ein zwei frage zu.

Du Schreibst zum Extrahieren von Merkmalen aus Artikeltexten.

Über welche Artikeltext meinst du genau?

Diese?

Oder über diese:

so wird man dir vielleicht besser helfen können.

Vg, Kef

es geht um die Merkmale (siehe Umkreisung!)

ok danke das hilft :slight_smile:

willst du zu jeden Artikel die angewählten Merkmale ziehen?
Oder einfach alle Merkmal?

Alle Merkmale und dann natürlich auch zu den Artikeln, weil ich diese alle bearbeiten muss

das ist eine meldung das dieser endpunkt nicht gibt / nicht zu erreichen ist.
hier musst du mal deinen REST-API nutzer mal prüfen ob er auf diese daten zugreifen darf.

Dann einen Vorschlag von mir ziehe dir erst mal die Daten „Merkmale mit Namen und IDs“ aus den Einstellung per REST-API und lass sie von deinen tool in eine json datei ablegen / Auflisten
Pfad dafür wäre: GET /rest/items/properties?lang=de