Hallo Zusammen,
ich möchte einen Artikel über die Api inklusive Bild anlegen, was mir leider nicht gelingt.
Das Anlegen eines Artikels ohne Bild ist kein Problem. Es gelingt mir auch ein Bild über die Media-Schnittstelle hochzuladen.
Json-Objekt zum Bild anlegen:
{
„album“: -1,
„file“: „hxxps://xxx/public-mime/2Z57JM7.jpg“,
„description“: „d“
}
Result:
{
„success“: true,
„data“: {
„id“: 721,
„location“: „http://localhost:8100/api/media/721“
}
}
Wenn ich nun im nächsten Schritt dem neuen Artikel die Bild-ID mitgebe, erhalte ich folgende Fehlermeldung:
{„success“:false,„message“:„\Shopware\Models\Article\Image by id 721 not found“}
Das Bild mit der id 721 existiert in Shopware… Ich kann es auch über die Media-Schnittstelle wieder abrufen.
Ich verstehe nicht ganz was ich falsch mache.
Hat jemand ein funktionierendes Beispiel in JSON wie der Aufruf aussehen müsste, um einen neuen Artikel ein bestehendes Bild hinzuzufügen?
Eine weitere Frage dazu:
Kann man einen neuen Artikel auch nur den Link zu einem neuen Bild mitgeben, so dass diese zusammen angelegt werden?
Wenn ich das Beispiel unten aus der API-Doku richtig verstehe, ist das Erstellen eines Artikels mit neuen Bildern auch in einem POST-Request möglich? Wobei ich den Pfad merkwürdig finde, da hier auf keine Datei verweist wird.
Beispiel unter „Further Examples“ in der API-Doku :
$testArticle = array(
‚name‘ => ‚NewTestArticle‘,
‚active‘ => true,
‚tax‘ => 19, // alternatively ‚taxId‘ => 1,
‚supplier‘ => ‚Test Supplier‘, // alternatively ‚supplierId‘ => 2,‚categories‘ => array(
array(‚id‘ => 15),
array(‚id‘ => 16),
),‚images‘ => array(
array(‚link‘ => ‚http://lorempixel.com/640/480/food/‘),
array(‚link‘ => ‚http://lorempixel.com/640/480/food/‘),
),‚mainDetail‘ => array(
‚number‘ => ‚swTEST‘ . uniqid(),
‚inStock‘ => 16,
‚prices‘ => array(
array(
‚customerGroupKey‘ => ‚EK‘,
‚price‘ => 99.34,
),
)
),
);
$client->post(‚articles‘, $testArticle);
Weiß jemand Rat?
Ich verwende Shopware Version 5.2.12.
VG,
Philipp