# REST API: Media --&gt; POST -&gt; Komisches verhalten

**URL:** <https://forum.shopware.com/t/rest-api-media-gt-post-gt-komisches-verhalten/58019>\
**Category:** Allgemein\
**Created:** [13. Februar 2019 um 07:52 UTC](https://forum.shopware.com/t/rest-api-media-gt-post-gt-komisches-verhalten/58019 "2019-02-13T07:52:26Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![tsurt](https://avatars.discourse-cdn.com/v4/letter/t/f6c823/32.png) [@tsurt](https://forum.shopware.com/u/tsurt)\
**Post date:** [13. Februar 2019 um 07:52 UTC](https://forum.shopware.com/t/rest-api-media-gt-post-gt-komisches-verhalten/58019/1 "2019-02-13T07:52:26Z")

</div>

Hallo zusammen,&nbsp;

vlt hat ja jemand eine Idee zu unserem Problem .

Wenn wir über&nbsp; die REST-Api einen POST an Media schicken, gibt dieser eine Liste alle Medien zurück, anstatt einen success.&nbsp;

Geändert haben wir nichts an dem System Evenetuell gab es ein Pluginupdate in Zeit, aber ein deaktivieren aller Plugins brachte leider kein Erfolgserlebnis.

Shopware ist aktuell!

Für Hilfe wäre ich Dankbar…

&nbsp;

Mit freundlichen Grüßen

&nbsp;

---

<div class="post-metadata">

**Author:** ![R4M](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/r4m/32/9983_2.png) [@R4M](https://forum.shopware.com/u/R4M)\
**Post date:** [13. Februar 2019 um 14:09 UTC](https://forum.shopware.com/t/rest-api-media-gt-post-gt-komisches-verhalten/58019/2 "2019-02-13T14:09:16Z")

</div>

> Für Hilfe wäre ich Dankbar…

Und nun sollen wir alle Rätselraten? Wie sieht denn aktuell dein API POST aus?

---

<div class="post-metadata">

**Author:** ![tsurt](https://avatars.discourse-cdn.com/v4/letter/t/f6c823/32.png) [@tsurt](https://forum.shopware.com/u/tsurt)\
**Post date:** [13. Februar 2019 um 14:46 UTC](https://forum.shopware.com/t/rest-api-media-gt-post-gt-komisches-verhalten/58019/3 "2019-02-13T14:46:52Z")

</div>

Ok, ich habe mich wohl nicht genau genug ausgedrückt, danke der Nachfrage…

Uns hat eine Firma eine Schnittstelle zu unsere Buchhaltung programmiert und diese erwartet eine “success”-Meldung und das generierte Medielement&nbsp;zurück, bekommt aber auf den POST eine Liste alle Medienlemente zurück. Nun funktioniert dies natürlich nicht mehr: Kunde sagt: Wir hätten etwas am Shop verändert, welches das verhalten beeinflusst und deswegen stelle ich mir die Frage was denn zurückommen muss bei einem POST über die API.

Ich habe vorhin mal versucht das ganze mit eine Plugin “Postman” das ganze mal versucht nachzuvollziehen:

GET [xxx.de/api/media](http://xxx.de/api/media)

POST [xxx.de/api/media](http://xxx.de/api/media)

```
"data": [
        {
            "id": 1,
            "albumId": -2,
            "name": "xx",
            "description": "",
            "path": "xx",
            "type": "IMAGE",
            "extension": "png",
            "userId": 50,
            "created": "2016-02-17T00:00:00+0100",
            "fileSize": 363399,
            "width": 6651,
            "height": 1029
        }, [...] ,
        {
            "id": 3575,
            "albumId": -10,
            "name": "xx",
            "description": "xx",
            "path": "xx",
            "type": "PDF",
            "extension": "pdf",
            "userId": 0,
            "created": "2019-02-09T00:00:00+0100",
            "fileSize": 41634,
            "width": null,
            "height": null
        }
    ],
    "total": 2544,
    "success": true
}

```

&nbsp;

Wenn man nun die ID mit gibt, gibt:

POST&nbsp;[xx.de/api/media/1](http://xx.de/api/media/1)

GET&nbsp;[xx.de/api/media/1](http://xx.de/api/media/1)

```
{
    "data": {
        "id": 1,
        "albumId": -2,
        "name": "xx",
        "description": "",
        "path": "xxx",
        "type": "IMAGE",
        "extension": "png",
        "userId": 50,
        "created": "2016-02-17T00:00:00+0100",
        "fileSize": 363399,
        "width": 6651,
        "height": 1029
    },
    "success": true
}

```

Ich habe es nun leider nicht geschafft, einen&nbsp;wirklichen POST zu generieren, der einen artkel anlegt, aber egal was ich als parameter mitgebe, es kommt immer eine Liste zurück!

&nbsp;

Bei der recherche habe ich gelesen, dass die Rest API garnicht veränderbar ist über irgendwelche Plugins u. o, Erweiterungen… das würde ja Bedeuten es liegt an Shopware selber, und dort wurde das verhalten geändert…

&nbsp;

Gruß

&nbsp;

---

<div class="post-metadata">

**Author:** ![R4M](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/r4m/32/9983_2.png) [@R4M](https://forum.shopware.com/u/R4M)\
**Post date:** [13. Februar 2019 um 14:56 UTC](https://forum.shopware.com/t/rest-api-media-gt-post-gt-komisches-verhalten/58019/4 "2019-02-13T14:56:27Z")

</div>

Eventuell hilft diese Seite weiter:

[https://developers.shopware.com/developers-guide/rest-api/api-resource-media/](https://developers.shopware.com/developers-guide/rest-api/api-resource-media/)

&nbsp;

---

<div class="post-metadata">

**Author:** ![tsurt](https://avatars.discourse-cdn.com/v4/letter/t/f6c823/32.png) [@tsurt](https://forum.shopware.com/u/tsurt)\
**Post date:** [13. Februar 2019 um 15:01 UTC](https://forum.shopware.com/t/rest-api-media-gt-post-gt-komisches-verhalten/58019/5 "2019-02-13T15:01:22Z")

</div>

> [@R4M schrieb:](https://forum.shopware.com/profile/17170/R4M "R4M")
> 
> Eventuell hilft diese Seite weiter:
> 
> [https://developers.shopware.com/developers-guide/rest-api/api-resource-media/](https://developers.shopware.com/developers-guide/rest-api/api-resource-media/?_ga=2.245582724.1283301847.1549966292-933217653.1546951429)&nbsp;

&nbsp;

Da war ich natürlich auch schon, musste mich ja auch einlesen, wie das überhaupt funktioniert, aber dort steht nicht, was zurück kommt von der API…

&nbsp;

---

<div class="post-metadata">

**Author:** ![R4M](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/r4m/32/9983_2.png) [@R4M](https://forum.shopware.com/u/R4M)\
**Post date:** [13. Februar 2019 um 15:19 UTC](https://forum.shopware.com/t/rest-api-media-gt-post-gt-komisches-verhalten/58019/6 "2019-02-13T15:19:12Z")

</div>

Ich habe jetzt mal ein Schnelltest gemacht. In etwa so müsste es aussehen:

```
Array
(
    [success] => 1
    [data] => Array
        (
            [id] => 750
            [location] => https://xxx.de/api/media/750
        )

)

```

&nbsp;

---

<div class="post-metadata">

**Author:** ![tsurt](https://avatars.discourse-cdn.com/v4/letter/t/f6c823/32.png) [@tsurt](https://forum.shopware.com/u/tsurt)\
**Post date:** [14. Februar 2019 um 06:42 UTC](https://forum.shopware.com/t/rest-api-media-gt-post-gt-komisches-verhalten/58019/7 "2019-02-14T06:42:32Z")

</div>

Danke R4M, genau das sagen die Programmierer der Schnittstelle auch. Kannst du mir sagen, wie dein POST ausgesehen hat, damit ich den bei mir auch nochmal testen kann?

Und wie ist das verhalten wenn du du nur einen POST auf api/medie ausführst, kommt da bei dir auch nur eine Liste zurück?

&nbsp;

&nbsp;

Weil egal, was ich dem Query mitgeben, es kommt die Liste aller Medienelemente zurück

&nbsp;

---

<div class="post-metadata">

**Author:** ![R4M](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/r4m/32/9983_2.png) [@R4M](https://forum.shopware.com/u/R4M)\
**Post date:** [14. Februar 2019 um 07:27 UTC](https://forum.shopware.com/t/rest-api-media-gt-post-gt-komisches-verhalten/58019/8 "2019-02-14T07:27:49Z")

</div>

Ich muss jedoch dazu erwähnen, dass ich die ApiClient Class von Shopware mit benutze. Wenn ich POST ohne Angaben mache, kommt eine Fehlermeldung zurück. Eine Liste kommt bei GET zurück.

Also bei sieht sieht das im Test aslo so aus:

```
include 'SW_ApiClient.php';

$SW = new ApiClient( 'https://xxx.de/api', 'Benutzer', 'Passwort' );

$new = Array(
  'album' => -2,
  'file' => 'test.png',
  'description' => 'test'
);

$out = $SW->post('media', $new );

```

&nbsp;

---

<div class="post-metadata">

**Author:** ![tsurt](https://avatars.discourse-cdn.com/v4/letter/t/f6c823/32.png) [@tsurt](https://forum.shopware.com/u/tsurt)\
**Post date:** [14. Februar 2019 um 07:54 UTC](https://forum.shopware.com/t/rest-api-media-gt-post-gt-komisches-verhalten/58019/9 "2019-02-14T07:54:04Z")

</div>

So würde ich es ja auch erwarten… Weil wenn post = create, sollte er nicht einfach eine Liste zurückgeben. Also irgendwie ist meine GET und POST gleichgeschaltet… Wie kann ich noch weiter debuggen?

---

<div class="post-metadata">

**Author:** ![R4M](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/r4m/32/9983_2.png) [@R4M](https://forum.shopware.com/u/R4M)\
**Post date:** [14. Februar 2019 um 08:01 UTC](https://forum.shopware.com/t/rest-api-media-gt-post-gt-komisches-verhalten/58019/10 "2019-02-14T08:01:33Z")

</div>

Da stimmt vielleicht etwas an deinem Script oder Aufbau nicht - ist jetzt nur eine Vermutung.

---

<div class="post-metadata">

**Author:** ![tsurt](https://avatars.discourse-cdn.com/v4/letter/t/f6c823/32.png) [@tsurt](https://forum.shopware.com/u/tsurt)\
**Post date:** [14. Februar 2019 um 08:07 UTC](https://forum.shopware.com/t/rest-api-media-gt-post-gt-komisches-verhalten/58019/11 "2019-02-14T08:07:25Z")

</div>

Ja, wenn es ja mein Script wäre. Das ganze ist glaub ich in Python geschrieben, darauf habe ich keinen Zugriff.&nbsp;

&nbsp;

Aber ich habe das ja das gleiche Problem wenn ich ich über dieses POSTMAN programm versuche einen Post zu machen… also vlt wird die POST-Action als solche nicht erkannt und Shopware kann nicht erkennen, ob es einen POST oder eine GET gegeben hat

---

<div class="post-metadata">

**Author:** ![R4M](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/r4m/32/9983_2.png) [@R4M](https://forum.shopware.com/u/R4M)\
**Post date:** [14. Februar 2019 um 08:13 UTC](https://forum.shopware.com/t/rest-api-media-gt-post-gt-komisches-verhalten/58019/12 "2019-02-14T08:13:28Z")

</div>

Ohje, für Python bin ich der falsche Ansprechpartner.

---

<div class="post-metadata">

**Author:** ![tsurt](https://avatars.discourse-cdn.com/v4/letter/t/f6c823/32.png) [@tsurt](https://forum.shopware.com/u/tsurt)\
**Post date:** [14. Februar 2019 um 08:20 UTC](https://forum.shopware.com/t/rest-api-media-gt-post-gt-komisches-verhalten/58019/13 "2019-02-14T08:20:29Z")

</div>

Kann es sein, dass es was mit einer SSL verschlüsselung zu tun hat?

---

<div class="post-metadata">

**Author:** ![tsurt](https://avatars.discourse-cdn.com/v4/letter/t/f6c823/32.png) [@tsurt](https://forum.shopware.com/u/tsurt)\
**Post date:** [14. Februar 2019 um 08:40 UTC](https://forum.shopware.com/t/rest-api-media-gt-post-gt-komisches-verhalten/58019/14 "2019-02-14T08:40:55Z")

</div>

Ich denke, ich habe die Lösung… Unser Shop ist natürlich SSL - Verschlüsselt, aber ich habe die ganze Zeit ohne https einen Aufruf gemacht. Der Aufruf geht, aber das verhalten von POST UND GET unterscheidet sich nicht. Mache ich den Aufruff mit https gibt er bei POST auch einen Fehlermeldung zurück… Danke schön!
