# Artikel programmatisch hinzufügen

**URL:** <https://forum.shopware.com/t/artikel-programmatisch-hinzufugen/59033>\
**Category:** Programmierung\
**Created:** [10. April 2019 um 15:29 UTC](https://forum.shopware.com/t/artikel-programmatisch-hinzufugen/59033 "2019-04-10T15:29:33Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![paddelboot](https://avatars.discourse-cdn.com/v4/letter/p/e95f7d/32.png) [@paddelboot](https://forum.shopware.com/u/paddelboot)\
**Post date:** [10. April 2019 um 15:29 UTC](https://forum.shopware.com/t/artikel-programmatisch-hinzufugen/59033/1 "2019-04-10T15:29:33Z")

</div>

Hallo,

Wir fragen über eine REST API Produktdaten für Ersatzteile ab, und falls diese noch nicht in unserer eigenen Produktdatenbank vorhanden sind, soll ein entsprechender Artikel angelegt werden. Geht das programmatisch?

&nbsp;

Grüße, Paddelboot

---

<div class="post-metadata">

**Author:** ![paddelboot](https://avatars.discourse-cdn.com/v4/letter/p/e95f7d/32.png) [@paddelboot](https://forum.shopware.com/u/paddelboot)\
**Post date:** [10. April 2019 um 15:33 UTC](https://forum.shopware.com/t/artikel-programmatisch-hinzufugen/59033/2 "2019-04-10T15:33:38Z")

</div>

Okay, ich denke, es wird mit der REST API funktionieren: [REST API - Basics](https://developers.shopware.com/developers-guide/rest-api/#list-of-api-resources).

---

<div class="post-metadata">

**Author:** ![Shopwareianer](https://avatars.discourse-cdn.com/v4/letter/s/b4bc9f/32.png) [@Shopwareianer](https://forum.shopware.com/u/Shopwareianer)\
**Post date:** [10. April 2019 um 19:22 UTC](https://forum.shopware.com/t/artikel-programmatisch-hinzufugen/59033/3 "2019-04-10T19:22:58Z")

</div>

Korrekt, über die Article Resource:&nbsp;[https://developers.shopware.com/developers-guide/rest-api/examples/article/#step-1-create-a-new-product](https://developers.shopware.com/developers-guide/rest-api/examples/article/#step-1-create-a-new-product)

Für PHP gibt es auch zwei SDK’s, dann musst du dir nicht alles selber zusammen bauen und kannst direkt starten:

[https://github.com/LeadCommerceDE/shopware-sdk](https://github.com/LeadCommerceDE/shopware-sdk)

[https://github.com/ThemePoint/Shopware-Client](https://github.com/ThemePoint/Shopware-Client)

---

<div class="post-metadata">

**Author:** ![paddelboot](https://avatars.discourse-cdn.com/v4/letter/p/e95f7d/32.png) [@paddelboot](https://forum.shopware.com/u/paddelboot)\
**Post date:** [11. April 2019 um 07:08 UTC](https://forum.shopware.com/t/artikel-programmatisch-hinzufugen/59033/4 "2019-04-11T07:08:50Z")

</div>

Super, danke.

---

<div class="post-metadata">

**Author:** ![paddelboot](https://avatars.discourse-cdn.com/v4/letter/p/e95f7d/32.png) [@paddelboot](https://forum.shopware.com/u/paddelboot)\
**Post date:** [3. Mai 2019 um 19:12 UTC](https://forum.shopware.com/t/artikel-programmatisch-hinzufugen/59033/5 "2019-05-03T19:12:25Z")

</div>

Ich schaffe es irgendwie nicht, den Einkaufspreis via API bei einem neuen Artikel zu setzen:

```
'mainDetail' => [
                    'number' => $Ressource['Product']->partNumber,
                    'prices' => [
                        [
                            'customerGroupKey' => 'EK',
                            'from' => 1,
                            'to' => 'beliebig',
                            'price' => floatval( $Ressource['Product']->listPrice ),
                            'basePrice' => floatval( $Ressource['Product']->price ),
                            'pseudoPrice' => 0
                        ]
                    ],
                    'inStock' => 1
                ],

```

Das führt zu einem EK von 0, und das Produkt kann nicht angezeigt werden. Was läuft falsch? Die Doku hilft mir an der Stelle auch nicht wirklich weiter: [REST API - Models](https://developers.shopware.com/developers-guide/rest-api/models/#price)

&nbsp;

Grüße, Paddelboot

&nbsp;

PS: Ich sehe auch gerade, dass _Shopware\Models\Article\Price_ überhaupt keine Eigenschaft **basePrice** hat, wodurch die Verwirrung weiter steigt…

PS2: Wenn ich einen Artikel via API anlege und dann auf die Detailseite gehe, bekomme ich die Meldung “Dieser Artikel ist nicht mehr verfügbar”. Erst nachdem ich den Artikel im Backend manuell erneut gespeichert habe, wird er im Frontend angezeigt. ![Crying](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/1X/3d74433e0d4d6cb84e92906c2faceb6b50db91bf.png "Crying")

---

<div class="post-metadata">

**Author:** ![Shopwareianer](https://avatars.discourse-cdn.com/v4/letter/s/b4bc9f/32.png) [@Shopwareianer](https://forum.shopware.com/u/Shopwareianer)\
**Post date:** [4. Mai 2019 um 00:59 UTC](https://forum.shopware.com/t/artikel-programmatisch-hinzufugen/59033/6 "2019-05-04T00:59:43Z")

</div>

Kann es sein, dass der Artikel nicht auf aktiv gesetzt wird, wenn du ihn über die API rein haust?

Schau mal hier -\>&nbsp;[https://forum.shopware.com/discussion/33412/artikel-erst-nah-nochmaligen-speichern-sichtbar](https://forum.shopware.com/discussion/33412/artikel-erst-nah-nochmaligen-speichern-sichtbar)

oder hier -\>&nbsp;[https://forum.shopware.com/discussion/29687/artikel-sichtbarkeit-nach-api-import](https://forum.shopware.com/discussion/29687/artikel-sichtbarkeit-nach-api-import)

oder hier -\>&nbsp;[https://www.google.com/search?q=shopware+artikel+api+erst+nach+speichern+aktiv&oq=shopware+artikel+api+erst+nach+speichern+aktiv&aqs=chrome…69i57.6847j0j7&sourceid=chrome&ie=UTF-8](https://www.google.com/search?q=shopware+artikel+api+erst+nach+speichern+aktiv&oq=shopware+artikel+api+erst+nach+speichern+aktiv&aqs=chrome..69i57.6847j0j7&sourceid=chrome&ie=UTF-8)

---

<div class="post-metadata">

**Author:** ![paddelboot](https://avatars.discourse-cdn.com/v4/letter/p/e95f7d/32.png) [@paddelboot](https://forum.shopware.com/u/paddelboot)\
**Post date:** [4. Mai 2019 um 10:59 UTC](https://forum.shopware.com/t/artikel-programmatisch-hinzufugen/59033/7 "2019-05-04T10:59:25Z")

</div>

Ja, der _active_ - Parameter in den Artikeldetails war nicht gesetzt. Warum auch immer man einen Artikel 2x auf aktiv setzen muss,&nbsp; nun geht es. Danke!

---

<div class="post-metadata">

**Author:** ![drakon](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/drakon/32/7724_2.png) [@drakon](https://forum.shopware.com/u/drakon)\
**Post date:** [4. Mai 2019 um 12:58 UTC](https://forum.shopware.com/t/artikel-programmatisch-hinzufugen/59033/8 "2019-05-04T12:58:01Z")

</div>

Einmal den Hauptartikel&nbsp;und einmal die Varianten. Da **jeder** Artikel im Prinzip ein Variantenartikel mit dann eben nur genau einer Variante ist, ist dieser Schritt leider notwendig.
