Media Folder per API anlegen zeigt keine Wirkung

Irgendwie verzweifel ich eben daran, über die API (SW 6.7.5.1) einen Medien Ordner anzulegen. Im Test sieht das Ganz einfach nur so aus:

$CURLOPT_POSTFIELDS = [
  'id' => '019c0895d97b7255bf6d95f3af4dc777',
  'name' => 'TEST',
  'configurationId' => '019c0540ce347506a37108efd2af9778',
  'useParentConfiguration' => false
  ];

Aus meiner Sicht sind alle nötigen Felder gesetzt. Da fehlt auch nichts. Das bestätigt auch die Konsole, wenn ich im Backend einen Ordner anlegen möchte. Es werden die selben Felder gesetzt und übergeben. Laut Shopware Doku sollte das korrekt sein.

Jedoch über die Admin-API (/api/media-folder) überhaupt keine Reaktion. Kein Hinweis, kein Fehler, nur eine Rückgabe wie diese:

Array ( [total] => 0 [data] => Array ( ) [aggregations] => Array ( ) ) 

Das kann doch nicht so kompliziert sein?

PS: Der API-Zugriff funktioniert, da liegt kein Fehler vor.

Das macht die Administration und darüber legt es einen Ordner an.

POST api/media-folder

{"id":"019c08ed6ddc7759a9a1a54435bda28f","useParentConfiguration":false,"configurationId":"019c08ed6dde70939caa4812e28ffedf","name":"test"}

Der Rückgabe Status ist 204 No content.

Hatte ja erwähnt, dass ich mit das Backend auch angesehen hatte. Ok, das mit dem Rückgabe Status ist mir jetzt nicht aufgefallen. Aber so richtig bringt mich das jetzt nicht weiter.

204 ist eine Erfolgsmeldung.

Wenn du die Kategorie über einen neuen Search Request nicht findest, dann ist es ggf. ein Cache Problem oder ähnliches.

Wie ich oben schon erwähnte, wenn ich das per API mache, komme ich nur das als Rückgabe. Einen Server Status wie 204 ist hier gar nicht zu sehen.

Ähm, es geht um einen Medien Ordner :slight_smile:

Dir ist klar, das der Status in der „Start Line“ ist und du hier den Body postest?

Besser wäre sicherlich, wenn Shopware so etwas machen würde, aber es gibt nunmal 204 zurück:

Das mit Status 204 hilft mir irgendwie nicht weiter. Was soll ich daraus schließen? Ist meine Anfrage an die API falsch? Sind meine Werte falsch?

Noch mal zurück:
Ich möchte per API einen Medien-Ordner anlegen (so wie in der Doku beschrieben)

Der Medien-Ordner wird aber nicht angelegt. Es gibt keine Fehlermeldung von der API. Nur einen normalen Rückgabewert (wie oben beschrieben).

Also, was ist nun falsch? Was muss ich anders machen?

Der 200er Bereich 200 bis 299 ist in HTTP als Erfolgsmeldung definiert.

Dein Request wurde erfolgreich ausgeführt und hat das gemacht, was du ihm aufgetragen hast.

Eventuell hast du eine falsche uuid und der Ordner ist „irgendwo“ angelegt worden oder ein Cache Problem. Die Request ist jedenfalls fehlerfrei ausgeführt worden.

Danke erst einmal. Ich muss mal schauen ob es wirklich ein Cache-Problem ist.

Am besten kannst du das doch gleich wieder über die API prüfen?

GET http://test/api/media-folder/{id}

Dann solltest du sehen ob der Ordner angelegt wurde. Ich habe das gerade mal mit Postman gemacht und sehe ihn auch, während ich ihn im Admin Bereich nicht finde.

Es war (vermutlich) ein verdammtes Cache-Problem. Nach dem API-Request hat es mir minutenlang kein Ordner im Backend oder Eintarg in der DB angezeigt. Auf einmal geht es - ich beiß in die Tischplatte.