# Korrekte erweiterte Preise via API auslesen?

**URL:** <https://forum.shopware.com/t/korrekte-erweiterte-preise-via-api-auslesen/106767>\
**Category:** Shopware 6 (German)\
**Created:** [19. März 2025 um 08:04 UTC](https://forum.shopware.com/t/korrekte-erweiterte-preise-via-api-auslesen/106767 "2025-03-19T08:04:22Z")\
**Posts on this page:** 12\
**Page:** 1

<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:** [19. März 2025 um 08:04 UTC](https://forum.shopware.com/t/korrekte-erweiterte-preise-via-api-auslesen/106767/1 "2025-03-19T08:04:22Z")

</div>

Aktuell neue Baustelle - mittels API bestimmte Produkte von Shop A nach Shop B zu übertragen. So weit, so gut - bis ich auf die erweiterten Preise gestolpert bin. Denn die werden wohl nicht korrekt ausgelesen.

Also ein Testprodukt ausgesucht, welches erweiterte Preise hat. Hier wurden 2 Felder angelegt mit 2 Kundengruppen bzw. Regeln. Zudem haben die Preise Staffelpreise. Das Ganze sieht dann etwa so aus:

 ![2025.03.19-08_43_06](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/3X/2/5/25d6c8ce0fa258de31593b8436ee7252377a3e2e.png)

**Versuch Nummer 1**

Der erste Versuch um alle Produktdaten auszulesen erfolgte über die Store API. Laut Doku also

> /store-api/product/{productId}

Fast alle Informationen werden ausgelesen. Jedoch die erweiterte Preise werden nur zum Teil angezeigt. Hier kommen zwar unter „calculatedPrices“ Daten, aber unvollständig. Ok, so wird das nix.

**Versuch Nummer 2**

Jetzt versuche die Daten über Admin API auszulesen. Also mein Testscript umgebaut und versuch gestartet. Laut Doku also

> /api/product/{productId}

Jedoch hier kommt leider gar nichts. Da wo die Preise stehen sollten (laut Doku) kommt das zurück:

```auto
[prices] => Array
                (
                )

```

Vielleicht habe ich etwas übersehen, aber wie bekomme ich die kompletten erweiterten Preise mit Angabe der Regeln (ruleId) und die Staffeln? Über die normalen Produktinformationen jedenfalls nicht.

---

<div class="post-metadata">

**Author:** ![Max\_Shop](https://avatars.discourse-cdn.com/v4/letter/m/58f4c7/32.png) [@Max\_Shop](https://forum.shopware.com/u/Max_Shop)\
**Post date:** [19. März 2025 um 08:54 UTC](https://forum.shopware.com/t/korrekte-erweiterte-preise-via-api-auslesen/106767/2 "2025-03-19T08:54:32Z")

</div>

Kann ja auch nicht. Sonst könnte jeder deine Preise ansehen.

Du musst mit den entsprechenden Rechten „eingeloggt“ sein / Token mitsenden, um die Werte zu erhalten.

An alle Werte kommst du mit der Admin-API oder eben per Store-API an die freigegebenen.

---

<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:** [19. März 2025 um 08:58 UTC](https://forum.shopware.com/t/korrekte-erweiterte-preise-via-api-auslesen/106767/3 "2025-03-19T08:58:30Z")

</div>

> [@Max\_Shop](#):
>
> Sonst könnte jeder deine Preise ansehen.

Nun ja, aber die Stammpreise werden auch angezeigt.

> [@Max\_Shop](#):
>
> entsprechenden Rechten „eingeloggt“ sein

Ähm, verstehe ich jetzt was was du meinst. Ich baue aktuell an einer Schnittstelle die bereits mit Token etc. läuft. Daran kann es nicht liegen 🙂

---

<div class="post-metadata">

**Author:** ![Max\_Shop](https://avatars.discourse-cdn.com/v4/letter/m/58f4c7/32.png) [@Max\_Shop](https://forum.shopware.com/u/Max_Shop)\
**Post date:** [19. März 2025 um 09:03 UTC](https://forum.shopware.com/t/korrekte-erweiterte-preise-via-api-auslesen/106767/4 "2025-03-19T09:03:34Z")

</div>

Kundengruppe Shopkunden hört sich für mich nach einer geschlossenen Gruppe an und nicht nach Gästen.

Mehr Denkanstöße kann ich dir nicht geben, ohne selbst alles nachzubauen.

---

<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:** [19. März 2025 um 09:06 UTC](https://forum.shopware.com/t/korrekte-erweiterte-preise-via-api-auslesen/106767/5 "2025-03-19T09:06:38Z")

</div>

> [@Max\_Shop](#):
>
> Mehr Denkanstöße kann ich dir nicht geben, ohne selbst alles nachzubauen.

Ja verständlich.

Nun, mein 2. Versuch basiert hierauf:

> **[Detailed information about a Product resource. | Admin API](https://shopware.stoplight.io/docs/admin-api/5909a3d00ce8f-detailed-information-about-a-product-resource)**
>
> Available since: 6.0.0.0 Powered by Stoplight.

Aber wie im Eingangspost schon erwähnt, hier ist das Objekt „prices“ komplett lerr - sollte laut Doku aber gar nicht sein.

Wenn alle Stricke reißen, muss ich direkt in die DB um an die Werte zu kommen. Mich hat es nur gewundert, dass diese Infos hier komplett fehlen.

---

<div class="post-metadata">

**Author:** ![Max\_Shop](https://avatars.discourse-cdn.com/v4/letter/m/58f4c7/32.png) [@Max\_Shop](https://forum.shopware.com/u/Max_Shop)\
**Post date:** [19. März 2025 um 09:09 UTC](https://forum.shopware.com/t/korrekte-erweiterte-preise-via-api-auslesen/106767/6 "2025-03-19T09:09:35Z")

</div>

> **[Detailed information about a Product Price resource. | Admin API](https://shopware.stoplight.io/docs/admin-api/61d6332f0dc40-detailed-information-about-a-product-price-resource)**
>
> Available since: 6.0.0.0 Powered by Stoplight.

Die haben eine eigene UUID. Du musst entsprechend diese nutzen oder über die Suche in dem Endpoint.

Einfach im Admin die XHR Requests ansehen, dann siehst du wie die Erweiterten Preise abgefragt werden.

---

<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:** [19. März 2025 um 09:14 UTC](https://forum.shopware.com/t/korrekte-erweiterte-preise-via-api-auslesen/106767/7 "2025-03-19T09:14:27Z")

</div>

Ich baue mal um und teste 🙂

---

<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:** [19. März 2025 um 09:49 UTC](https://forum.shopware.com/t/korrekte-erweiterte-preise-via-api-auslesen/106767/8 "2025-03-19T09:49:19Z")

</div>

Oh Gott, dass ist wirklich sehr umständlich.

Mit „/api/product-price/“ oder auch „/api/search/product-price/“ kann ich nur auslesen, wenn ich auch die UUIDs zu den Preisen kenne. Diese Info kommt aber bei den Stammdaten mit rüber.

Bei „/api/search/product-price/“ müsste man die „product\_id“ übergeben können, damit dann alle Preise angezeigt werden.

---

<div class="post-metadata">

**Author:** ![fohn](https://avatars.discourse-cdn.com/v4/letter/f/c5a1d2/32.png) [@fohn](https://forum.shopware.com/u/fohn)\
**Post date:** [19. März 2025 um 09:54 UTC](https://forum.shopware.com/t/korrekte-erweiterte-preise-via-api-auslesen/106767/9 "2025-03-19T09:54:52Z")

</div>

import requests

def get\_product\_prices(base\_url, product\_id, api\_key):  
url = f"{base\_url}/api/search/product-price/"  
headers = {„Authorization“: f"Bearer {api\_key}", „Content-Type“: „application/json“}  
payload = {„product\_id“: product\_id}

```
response = requests.post(url, json=payload, headers=headers)

```

if response.status\_code == 200:  
return response.json()  
else:  
return {„error“: f"Request failed with status code {response.status\_code}", „details“: response.text}

# Beispielaufruf

base\_url = „[https://www.dein-shop.de](https://www.dein-shop.de)“ # Ersetze mit der tatsächlichen Basis-URL  
test\_product\_id = „123456“ # Ersetze mit einer echten Produkt-ID  
api\_key = „your\_api\_key\_here“ # Ersetze mit deinem echten API-Schlüssel

prices = get\_product\_prices(base\_url, test\_product\_id, api\_key)  
print(prices)

sieht es bei Dir so aus ?

---

<div class="post-metadata">

**Author:** ![Max\_Shop](https://avatars.discourse-cdn.com/v4/letter/m/58f4c7/32.png) [@Max\_Shop](https://forum.shopware.com/u/Max_Shop)\
**Post date:** [19. März 2025 um 10:08 UTC](https://forum.shopware.com/t/korrekte-erweiterte-preise-via-api-auslesen/106767/10 "2025-03-19T10:08:57Z")

</div>

Es bringt keinem etwas, wenn wir alle anfangen ChatGPT oder andere Antworten hier im Forum zu posten.

Dennoch danke, für deine Mühe.

---

<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:** [19. März 2025 um 11:20 UTC](https://forum.shopware.com/t/korrekte-erweiterte-preise-via-api-auslesen/106767/11 "2025-03-19T11:20:58Z")

</div>

Ich hab es heraus gefunden. Man muss die jeweilige productId als Filter übergeben:

```auto
      "filter": [
        {
          "type": "multi",
          "operator": "and",
          "queries": [
            {
            "type": "equals",
            "field": "productId",
            "value": "01927060cd5470c08653ef2fc233c540"
            }
          ]
        }
      ]

```

Dann werden alle erweiterten Preise inkl. der ruleId angezeigt 🙂

---

<div class="post-metadata">

**Author:** ![system](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/3X/2/9/29c7587ba660f00e4995d1743162782e5d6d8653.svg) [@system](https://forum.shopware.com/u/system)\
**Post date:** [18. April 2025 um 11:21 UTC](https://forum.shopware.com/t/korrekte-erweiterte-preise-via-api-auslesen/106767/12 "2025-04-18T11:21:52Z")

</div>

Dieses Thema wurde automatisch 30 Tage nach der letzten Antwort geschlossen. Es sind keine neuen Antworten mehr erlaubt.
