# Product\_Number statt Product ID für Stock Update Payload / Single Product Stock Update

**URL:** <https://forum.shopware.com/t/product-number-statt-product-id-fuer-stock-update-payload-single-product-stock-update/96190>\
**Category:** Programmierung\
**Created:** [12. September 2022 um 16:26 UTC](https://forum.shopware.com/t/product-number-statt-product-id-fuer-stock-update-payload-single-product-stock-update/96190 "2022-09-12T16:26:27Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![bettenundwohnen](https://avatars.discourse-cdn.com/v4/letter/b/ea666f/32.png) [@bettenundwohnen](https://forum.shopware.com/u/bettenundwohnen)\
**Post date:** [12. September 2022 um 16:26 UTC](https://forum.shopware.com/t/product-number-statt-product-id-fuer-stock-update-payload-single-product-stock-update/96190/1 "2022-09-12T16:26:27Z")

</div>

Hi liebe Community, da ich nun den zweiten Tag verbrannt habe mit suchen, ausprobieren und scheitern… ☹  
Vielleicht kann mir einer helfen.

Ich habe die API soweit einigermaßen verstanden. Ich habe aus einem täglich generiertem Feed folgende Daten:

product\_number & stock

diese möchte ich über die API täglich einspeisen. Mir liegen nicht die ID’s in dem Feed vor, ich meine aber gelesen zu haben (fragt mich bitte nicht wo) dass es gehen würde auch mit der product\_number als Identifier die Produkte updaten zu können.

Es geht nur um den Lagerbestand. Weiß jemand wie ich den Request aufbauen müsste?

Ich wäre euch zu massivem Dank verpflichtet und bin bereit das zu würdigen in Form eines digitalen KAffees 😁

---

<div class="post-metadata">

**Author:** ![olli.k](https://avatars.discourse-cdn.com/v4/letter/o/e99b99/32.png) [@olli.k](https://forum.shopware.com/u/olli.k)\
**Post date:** [12. September 2022 um 17:05 UTC](https://forum.shopware.com/t/product-number-statt-product-id-fuer-stock-update-payload-single-product-stock-update/96190/2 "2022-09-12T17:05:09Z")

</div>

@bettenundwohnen ich glaube, so geht es nicht, für ein Udpate eines Produktes wirst du wohl nicht drumherum kommen, erst die ID aus der API zu lesen, um diese dann für das Update zu verwenden.

Falls ich falsch liege, bin ich sehr gespannt wie die Lösung aussieht 🙂

---

<div class="post-metadata">

**Author:** ![bettenundwohnen](https://avatars.discourse-cdn.com/v4/letter/b/ea666f/32.png) [@bettenundwohnen](https://forum.shopware.com/u/bettenundwohnen)\
**Post date:** [12. September 2022 um 17:36 UTC](https://forum.shopware.com/t/product-number-statt-product-id-fuer-stock-update-payload-single-product-stock-update/96190/4 "2022-09-12T17:36:04Z")

</div>

Es gibt bereits Ideen in Richtung ID Mapping auf die Produkt Nummer und die UUID’s mit einem aus den Artikeldaten stammenden wert zu ergänzen über einen UUID Version-3 Generator… nur ist mir der genaue Werdegang noch nicht ganz klar und vllt gibt es ja auch einen anderen Weg. :-/ Fest steht, dass sich der Quellfeed jedenfalls nicht anpassen lässt und das Problem im Hause bleibt. Wie machen das denn die anderen so?

---

<div class="post-metadata">

**Author:** ![olli.k](https://avatars.discourse-cdn.com/v4/letter/o/e99b99/32.png) [@olli.k](https://forum.shopware.com/u/olli.k)\
**Post date:** [12. September 2022 um 17:59 UTC](https://forum.shopware.com/t/product-number-statt-product-id-fuer-stock-update-payload-single-product-stock-update/96190/5 "2022-09-12T17:59:00Z")

</div>

Wenn ihr eine CSV habt, durchlauft ihr dies mit einem php Script und mit dem sendet ihr die Daten aus der CSV an Shopware über die API?

Wir haben sowas Ähnliches mit Produkt und Eigenschaften. Die CSV wird von unserem Pim erzeugt, per SFTP auf einen Server geladen, da ist ein php Script, welches im Cronjob die Daten ausliest und jede Zeile verarbeitet. Wir holen uns dann mit der productNumber die id und aktualisieren damit das Produkt. Das ist vielleicht nicht die schnellste Methode und es gibt sicherlich eine elegantere Art und Weise. Aber das klappt seit vielen Monaten ohne Probleme, sehr stabil.

Wir nutzen das SDK welches von SW empfohlen wird:

> **[PHP SDK | Admin API](https://shopware.stoplight.io/docs/admin-api/ZG9jOjE0MzU1MDc1-php-sdk)**
>
> The SDKs listed below are third party libraries. We're listing them for your convenience, but their usage comes without any warranty. Shopware is planning to internalize more development of integration kits in the future, but for now we don't want......

und zum Abrufen der Id bzw. des Produktes (wir machen da noch mehr mit, deswegen das ganze Produkt) haben wir folgende Methode:

```auto
    private function getProductBySku(string $productNumber): ?ProductEntity
    {
        $productRepo = RepositoryFactory::create(ProductDefinition::ENTITY_NAME);
        $criteria = new Criteria();
        $criteria->addFilter(new EqualsFilter('productNumber', $productNumber));
        return $productRepo->search($criteria, $this->getContext())->first();
    }

```

Man könnte vielleicht auch sowas in der Art machen, wenn man nur die Id haben will. (Nicht getestet)

```auto
    private function getProductIdBySku(string $productNumber): ?string
    {
        $productRepo = RepositoryFactory::create(ProductDefinition::ENTITY_NAME);
        $criteria = new Criteria();
        $criteria->addFilter(new EqualsFilter('productNumber', $productNumber));
        return $productRepo->searchIds($criteria, $this->getContext())->firstId();
    }

```

---

<div class="post-metadata">

**Author:** ![bettenundwohnen](https://avatars.discourse-cdn.com/v4/letter/b/ea666f/32.png) [@bettenundwohnen](https://forum.shopware.com/u/bettenundwohnen)\
**Post date:** [13. September 2022 um 12:19 UTC](https://forum.shopware.com/t/product-number-statt-product-id-fuer-stock-update-payload-single-product-stock-update/96190/6 "2022-09-13T12:19:06Z")

</div>

Olli kannst du mir bei der Implementierung helfen? Ich frag jetzt einfach mal direkt. (muss nicht umsonst sein) Aber ich fürchte bei der Methode verbrate ich noch mehr Stunden / Tage 🙂 Letztlich will ich doch nur die Stocks updaten… und so langsam verliere ich mich in den Optionen.

---

<div class="post-metadata">

**Author:** ![bettenundwohnen](https://avatars.discourse-cdn.com/v4/letter/b/ea666f/32.png) [@bettenundwohnen](https://forum.shopware.com/u/bettenundwohnen)\
**Post date:** [14. September 2022 um 10:00 UTC](https://forum.shopware.com/t/product-number-statt-product-id-fuer-stock-update-payload-single-product-stock-update/96190/7 "2022-09-14T10:00:56Z")

</div>

Für alle die Interessiert sind - ich habe einen Workaround der gut funktioniert. Gerne per PN da es hier zu kompliziert wäre.
