# Encoded SwagQL in JSON

**URL:** <https://forum.shopware.com/t/encoded-swagql-in-json/65960>\
**Category:** Programmierung\
**Created:** [2. April 2020 um 08:23 UTC](https://forum.shopware.com/t/encoded-swagql-in-json/65960 "2020-04-02T08:23:12Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![betsch](https://avatars.discourse-cdn.com/v4/letter/b/c6cbf5/32.png) [@betsch](https://forum.shopware.com/u/betsch)\
**Post date:** [2. April 2020 um 08:23 UTC](https://forum.shopware.com/t/encoded-swagql-in-json/65960/1 "2020-04-02T08:23:12Z")

</div>

Hi,

für viele Endpoints (z.B. product) gibt es einen GET-Parameter “query”, dort steht “Encoded SwagQL in JSON”, ich denke dass man hier angeben kann welche Daten man gerne in der Response hätte, aber ich finde nichts drüber wie das auszusehen hat, hat da jemand ein Beispiel?

/product?query=???

Danke

---

<div class="post-metadata">

**Author:** ![big\_r](https://avatars.discourse-cdn.com/v4/letter/b/9f8e36/32.png) [@big\_r](https://forum.shopware.com/u/big_r)\
**Post date:** [5. Mai 2020 um 19:33 UTC](https://forum.shopware.com/t/encoded-swagql-in-json/65960/2 "2020-05-05T19:33:12Z")

</div>

Das würde mich auch interressieren! [@Moritz Naczenski]([http://forum.shopware.com/profile/14574/Moritz](http://forum.shopware.com/profile/14574/Moritz) Naczenski “Moritz Naczenski”)‍ habt ihr vielleicht ein Beispiel?

---

<div class="post-metadata">

**Author:** ![betsch](https://avatars.discourse-cdn.com/v4/letter/b/c6cbf5/32.png) [@betsch](https://forum.shopware.com/u/betsch)\
**Post date:** [13. Mai 2020 um 06:30 UTC](https://forum.shopware.com/t/encoded-swagql-in-json/65960/3 "2020-05-13T06:30:58Z")

</div>

scheint wohl keiner zu wissen. Irgendwer muss das doch implementiert haben

---

<div class="post-metadata">

**Author:** ![Krispin](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/krispin/32/12849_2.png) [@Krispin](https://forum.shopware.com/u/Krispin)\
**Post date:** [13. Mai 2020 um 07:54 UTC](https://forum.shopware.com/t/encoded-swagql-in-json/65960/4 "2020-05-13T07:54:53Z")

</div>

Hi betsch,

in der Doku gibt es einen Artikel dazu:&nbsp;[https://docs.shopware.com/en/shopware-platform-dev-en/admin-api-guide/reading-entities?category=shopware-platform-dev-en/admin-api-guide](https://docs.shopware.com/en/shopware-platform-dev-en/admin-api-guide/reading-entities?category=shopware-platform-dev-en/admin-api-guide)&nbsp;(unter dem Punkt „query parameter“)

Gruß

Krispin

---

<div class="post-metadata">

**Author:** ![betsch](https://avatars.discourse-cdn.com/v4/letter/b/c6cbf5/32.png) [@betsch](https://forum.shopware.com/u/betsch)\
**Post date:** [13. Mai 2020 um 10:16 UTC](https://forum.shopware.com/t/encoded-swagql-in-json/65960/5 "2020-05-13T10:16:08Z")

</div>

> [@Krispin schrieb:](https://forum.shopware.com/profile/29825/Krispin "Krispin")
> 
> Hi betsch,
> 
> in der Doku gibt es einen Artikel dazu:&nbsp;[https://docs.shopware.com/en/shopware-platform-dev-en/admin-api-guide/reading-entities?category=shopware-platform-dev-en/admin-api-guide](https://docs.shopware.com/en/shopware-platform-dev-en/admin-api-guide/reading-entities?category=shopware-platform-dev-en/admin-api-guide)&nbsp;(unter dem Punkt „query parameter“)
> 
> Gruß
> 
> Krispin

Hallo Krispin,

das worauf du verweist ist ein query-Parameter im POST-Request der Search API, was ich meine ist z.B. der GET-Request beim product-Endpoint:

 ![](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/2X/0/08c38e6f321ae6e6803a474c9962544a022faa4f.png)

Muss also irgendwie so aussehen: GET /product?query=whatever

Gruß,

betsch&nbsp;

---

<div class="post-metadata">

**Author:** ![Krispin](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/krispin/32/12849_2.png) [@Krispin](https://forum.shopware.com/u/Krispin)\
**Post date:** [14. Mai 2020 um 08:10 UTC](https://forum.shopware.com/t/encoded-swagql-in-json/65960/6 "2020-05-14T08:10:10Z")

</div>

Hi betsch,

ich habe nochmal nachgeforscht (bzw. einen Kollegen gefragt). Hier kann wie beim POST das Ergebnis filtern. Zum Beispiel:  
Als ganzer String:&nbsp;?query[0][query][type]=equals&query[0][query][field]=productNumber&query[0][query][value]=SW10216.1

Auseinander gebaut, somit ein EqualsFilter auf productNumber mit dem Value “SW10216.1”.

Ich hoffe das hilft dir soweit weiter.

Gruß

Krispin

---

<div class="post-metadata">

**Author:** ![betsch](https://avatars.discourse-cdn.com/v4/letter/b/c6cbf5/32.png) [@betsch](https://forum.shopware.com/u/betsch)\
**Post date:** [14. Mai 2020 um 20:04 UTC](https://forum.shopware.com/t/encoded-swagql-in-json/65960/7 "2020-05-14T20:04:54Z")

</div>

> [@Krispin schrieb:](https://forum.shopware.com/profile/29825/Krispin "Krispin")
> 
> Hi betsch,
> 
> ich habe nochmal nachgeforscht (bzw. einen Kollegen gefragt). Hier kann wie beim POST das Ergebnis filtern. Zum Beispiel:  
> Als ganzer String:&nbsp;?query[0][query][type]=equals&query[0][query][field]=productNumber&query[0][query][value]=SW10216.1
> 
> Auseinander gebaut, somit ein EqualsFilter auf productNumber mit dem Value „SW10216.1“.
> 
> Ich hoffe das hilft dir soweit weiter.
> 
> Gruß
> 
> Krispin

Hallo Krispin,

ich frage mich dann was das ganze mit „SwagQL“ zutun hat?

Ich bin davon ausgegangen, dass man hier eine Art GraphQL-Query übergeben kann (dass SwagQL eine Anlehnung an GraphQL ist) und dann nur die Infos zurück bekommt die im Query stecken, bei deinem Beispiel würde ich ja alle Attribute für das Produkt „SW10216.1“ zurück bekommen.

In etwa so habe ich mir das vorgestellt:

Request: POST /product?query={ product(productNumber: „SW10216.1“) { [price.net](http://price.net), price.gross } }

Response: { „data“: „product“: { „price“: { „net“: 123.00", „gross“: 150.00 } } }

Dass ich also nicht alles zurück bekomme sondern nur das was ich über das Produkt wissen will, in diesem Fall Brutto- und Nettopreis

Gruß

betsch

&nbsp;

&nbsp;

---

<div class="post-metadata">

**Author:** ![alkapwn](https://avatars.discourse-cdn.com/v4/letter/a/977dab/32.png) [@alkapwn](https://forum.shopware.com/u/alkapwn)\
**Post date:** [19. November 2020 um 12:33 UTC](https://forum.shopware.com/t/encoded-swagql-in-json/65960/8 "2020-11-19T12:33:12Z")

</div>

Hallo zusammen,

ich muss diesen Post leider nochmal ausgraben.

Und zwar versuche ich aktuell via API die Crossseller zu definieren. Bevor er einen neuen anlegt soll quasi geprüft werden ob nicht evtl. schon diese Zuweisung existiert.

Da es hier ja nun 2 Parameter sind nach denen gefiltern werden soll (ProductId und CrossSellerId) bin ich mir nicht sicher ob die Zusammenstellung des Request für den GET-Parameter so stimmt.

```
/api/v3/product-cross-selling-assigned-products?query[0][query][type]=equals&query[0][query][field]=crossSellingId&query[0][query][value]=791dcb12b91545bf849a672d507f37f9&query[1][query][type]=equals&query[1][query][field]=productId&query[1][query][value]=61a813fc5297498aaaacf4fda3c45ce0

```

Hier findet er nun in den Assigned CrossSellings folgende Id: 324f37752ecf4fecab9b94f5a7cbf947

Leider findet er mit folgendem Request und einer anderen ProductId die gleiche Id für die Assigned CrossSellings. Hier müsste er ja keine finden da dieser Eintrag für dieses Produkt nicht existiert.

```
/api/v3/product-cross-selling-assigned-products?query[0][query][type]=equals&query[0][query][field]=crossSellingId&query[0][query][value]=791dcb12b91545bf849a672d507f37f9&query[1][query][type]=equals&query[1][query][field]=productId&query[1][query][value]=6718f2ef9ff94c08a1c7e2494172b62f

```

Die Frage hier ist nun - ist mein Vorgehen mit query[1] für den zweiten Parameter richtig oder wie müsste dies dann aussehen? Habe auch schon andere Schreibweisen getestet inkl. eines Request nach folgendem Schema (dieser ist allerdings falsch, da hier überhaupt keine Id gefunden wird).

```
/api/v3/product-cross-selling-assigned-products?
query[0][type]=multi
&query[0][operator]=AND
&query[0][queries][0][type]=equals
&query[0][queries][0][field]=crossSellingId
&query[0][queries][0][value]=6316f518c5c34a2f98c8cceffff01185
&query[0][queries][1][type]=equals
&query[0][queries][1][field]=productId
&query[0][queries][1][value]=61a813fc5297498aaaacf4fda3c45ce0

```

Schon mal vielen Dank und viele Grüße

Alex

---

<div class="post-metadata">

**Author:** ![shyim](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/shyim/32/7681_2.png) [@shyim](https://forum.shopware.com/u/shyim)\
**Post date:** [23. November 2020 um 23:50 UTC](https://forum.shopware.com/t/encoded-swagql-in-json/65960/9 "2020-11-23T23:50:37Z")

</div>

Benutzt am besten Post und benutzt die JSON Variante. Ist viel übersichtlicher. Beispiele findest du hier [Shopware 6: DAL references](https://docs.shopware.com/en/shopware-platform-dev-en/references-internals/core/dal?category=shopware-platform-dev-en/references-internals/core)
