wecotecwecotec MitgliedKommentare: 34 Danke erhalten: 1 Mitglied seit: November 2016

Hallo,

ich würde gerne über die REST-Api einer Kategorie ein Bild zuweisen. Leider liest sich die Doku an der Stelle etwas blöd (es wird auf eine Link-Resource verwiesen die nirgendwo dokumentiert wurde).

Ich habe folgendes (erfolglos) ausprobiert an die API zu posten....es kommt auch kein Fehler, es sieht sogar so aus, als ob die Kategorie erfolgreich geändert/angelegt wurde:

Versuch1:

Array
(
    [parentId] => 494
    [name] => Testkategorie
    [media] => http://www.test.de/pfad/zum/bild/bild.png
)

Versuch 2, in Anlehung an das Posten von Bildern bei Produkten (wo es auch geht):

Array
(
    [parentId] => 494
    [name] => Testkategorie
    [image] => Array
        (
            [__options_images] => Array
                (
                    [replace] => 1
                )

            [images] => Array
                (
                    [0] => Array
                        (
                            [link] => http://www.test.de/pfad/zum/bild/test.png
                        )

                )

        )

)

Wie müssen die Daten an die API richtig aussehen?

Kommentare

  • PStadtfeldPStadtfeld MitgliedKommentare: 96 Danke erhalten: 22 Mitglied seit: 3. August

    Schau mal hier:

    https://developers.shopware.com/developers-guide/rest-api/api-resource-categories/

    Laut Anleitung müsste das dann für deinen Api/Categories - Put irgendwie so aussehen:

    media {
        name = "Bildname",
        path = "https://bildlink.png",
        type = "IMAGE",
        extension = "png",
        filesize = "100202",
        width = "200",
        height = "200"
    }

    Bei einem PUT brauchst du die Kategorie-ID oder Parent-ID  nicht im Array mitzugeben außer du möchtest die wirklich ändern, das ist sonst höchstens gefährlich.

    Die brauchst du nur beim client-Aufruf im Code wenn du die Adresse der Api angibst, also $client->put("deineShopUrl/api/categories/ID", $update);

Anmelden oder Registrieren, um zu kommentieren.