Artikel programmatisch hinzufügen

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?

 

Grüße, Paddelboot

Okay, ich denke, es wird mit der REST API funktionieren: REST API - Basics.

Korrekt, über die Article Resource: 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/ThemePoint/Shopware-Client

Super, danke.

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

 

Grüße, Paddelboot

 

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

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

Schau mal hier -> https://forum.shopware.com/discussion/33412/artikel-erst-nah-nochmaligen-speichern-sichtbar

oder hier -> https://forum.shopware.com/discussion/29687/artikel-sichtbarkeit-nach-api-import

oder hier -> 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

1 „Gefällt mir“

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

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