# API + Swagger öffnet nicht

**URL:** <https://forum.shopware.com/t/api-swagger-oeffnet-nicht/92150>\
**Category:** Shopware 6 (German)\
**Created:** [31. Dezember 2021 um 09:12 UTC](https://forum.shopware.com/t/api-swagger-oeffnet-nicht/92150 "2021-12-31T09:12:00Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Nico2](https://avatars.discourse-cdn.com/v4/letter/n/838e76/32.png) [@Nico2](https://forum.shopware.com/u/Nico2)\
**Post date:** [31. Dezember 2021 um 09:12 UTC](https://forum.shopware.com/t/api-swagger-oeffnet-nicht/92150/1 "2021-12-31T09:12:00Z")

</div>

Hallo zusammen,

versuche mich grad in die SW6 REST API einzulesen. Dabei möchte ich das Swagger im Bowser öffnen, aber es will einfach nicht funktionieren. Sobald ich [xxx.de/api/\_info/swagger.html?type=jsonapi#/Product/createProduct](http://xxx.de/api/_info/swagger.html?type=jsonapi#/Product/createProduct) aufrufe, lädt es sich tot aber zeigt mir nicht an wie die Produktstruktur aussehen muss um ein neues Produkt anzulegen. Gibt es das Swagger noch wo anders als auf meinem Server?  
APP\_mode ist auf dev

Die ganze API find ich erstmal echt unübersichtlich in SW5 war das wesentlich besser dokumentiert.

---

<div class="post-metadata">

**Author:** ![redkitty](https://avatars.discourse-cdn.com/v4/letter/r/9d8465/32.png) [@redkitty](https://forum.shopware.com/u/redkitty)\
**Post date:** [1. Januar 2022 um 12:07 UTC](https://forum.shopware.com/t/api-swagger-oeffnet-nicht/92150/2 "2022-01-01T12:07:23Z")

</div>

Hier erstmal habe auch grade gemerkt das da was nicht funktionier aber vieleicht kommts hiermit erstmal weiter  
[https://swagger.docs.fos.gg/?urls.primaryName=Management%20API%20(6.2.2)#/Product/updateProduct](https://swagger.docs.fos.gg/?urls.primaryName=Management%20API%20(6.2.2)#/Product/updateProduct)

---

<div class="post-metadata">

**Author:** ![redkitty](https://avatars.discourse-cdn.com/v4/letter/r/9d8465/32.png) [@redkitty](https://forum.shopware.com/u/redkitty)\
**Post date:** [1. Januar 2022 um 14:30 UTC](https://forum.shopware.com/t/api-swagger-oeffnet-nicht/92150/3 "2022-01-01T14:30:32Z")

</div>

Ich bin ja nicht so in der Benutzung von der OpenAPI drin. Habe mir aber jetzt mal auf Swagger ein Konto angelegt und dort dann über [meine.de/api/\_info/openapi3.json?type=json](http://meine.de/api/_info/openapi3.json?type=json) ein Client in PHP exportiert kannst dir den ja mal hier Anschauen [GitHub - rogergerecke/shopware-6-php-swagger-client](https://github.com/rogergerecke/shopware-6-php-swagger-client)

---

<div class="post-metadata">

**Author:** ![redkitty](https://avatars.discourse-cdn.com/v4/letter/r/9d8465/32.png) [@redkitty](https://forum.shopware.com/u/redkitty)\
**Post date:** [3. Januar 2022 um 12:21 UTC](https://forum.shopware.com/t/api-swagger-oeffnet-nicht/92150/4 "2022-01-03T12:21:24Z")

</div>

Da mir Swagger völlig unbekannt war erstmal danke für die Info.  
Also du kannst die ganze Api Struktur abrufen unter /api/\_info/openapi3.json?type=json

Ich habe mir jetzt den OpenAPI Generator Local Installiert und mir für PHP die Model Klassen generieren lassen wie geil ist das den. Nach etwas rumprobieren und in den Klassen lesen haben ich auch verstanden wie das dann laufen soll. Es funktioniert.

Im Initialisierts du die ein BulkOperrationApi object inctance mit der machst du dann alle Operationen zur Api die im grunden den Inhalt betreffen also . z.b. neues Produkt, Produkt löschen oder ändern.  
diese sendet immer an die /api/\_sync macht ja auch sinn und macht es einfacher.

Damit das funktioniert müssen einige Angaben immer dabei sein. Das ist nicht viel und einfach zu verstehen. Ruhig mal in mein Repro auf github schauen und in der EXAMPLES.md lesen.

> **[GitHub - rogergerecke/shopware-6-php-swagger-client](https://github.com/rogergerecke/shopware-6-php-swagger-client)**
>
> Contribute to rogergerecke/shopware-6-php-swagger-client development by creating an account on GitHub.

Dabei sein muss einfach: action,entity,payload fertig dann läuft es.

Das wandeln der daten von einem PHP array zu json so wie es dann gesendet wird erledigt der serrializer  
intern. Wichtig ist eckigeklammern beim payload key das hat mich bestimm nee stunde gekostet.

```auto
  $product_update = [
              "id" => "293566a3312d49c69c05c0d5ca8e90d3",
              "name"=>"Test to set new Name",
              "stock" => 1000,
          ];

        $data = [
            "entity" => "product",
            "action" => "upsert",
            "payload" =>
                [$product_update],
        ];

        $inline_object = array(new InlineObject($data));

```
