# REST Api: Kategorie für Artikel setzen

**URL:** <https://forum.shopware.com/t/rest-api-kategorie-fur-artikel-setzen/10648>\
**Category:** Shopware 3.5\
**Tags:** programming\
**Created:** [27. Dezember 2012 um 13:15 UTC](https://forum.shopware.com/t/rest-api-kategorie-fur-artikel-setzen/10648 "2012-12-27T13:15:29Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![roecki](https://avatars.discourse-cdn.com/v4/letter/r/7cd45c/32.png) [@roecki](https://forum.shopware.com/u/roecki)\
**Post date:** [27. Dezember 2012 um 13:15 UTC](https://forum.shopware.com/t/rest-api-kategorie-fur-artikel-setzen/10648/1 "2012-12-27T13:15:29Z")

</div>

Hallo, wenn ich einen Artikel über die REST API anlege oder aktualisiere, wird die Kategorie ignoriert. Ich verwende diesen Code: `{ "name": "Ghostbusters Poster)", "descriptionLong": "Poster gerollt", "mainDetail": { "number": "1435", "inStock": "0" }, "active": "1", "tax": "19", "categories": { "id": "1258" }, }` Woran kann das liegen? Die Kategorie existiert im Shop (es ist eine Unterkategorie) Gruß, Anton

---

<div class="post-metadata">

**Author:** ![roecki](https://avatars.discourse-cdn.com/v4/letter/r/7cd45c/32.png) [@roecki](https://forum.shopware.com/u/roecki)\
**Post date:** [8. Januar 2013 um 20:56 UTC](https://forum.shopware.com/t/rest-api-kategorie-fur-artikel-setzen/10648/2 "2013-01-08T20:56:52Z")

</div>

Hallo, gibt es eine Lösung dafür? Gruß, Anton

---

<div class="post-metadata">

**Author:** ![spconsult](https://avatars.discourse-cdn.com/v4/letter/s/9dc877/32.png) [@spconsult](https://forum.shopware.com/u/spconsult)\
**Post date:** [9. Januar 2013 um 07:26 UTC](https://forum.shopware.com/t/rest-api-kategorie-fur-artikel-setzen/10648/3 "2013-01-09T07:26:46Z")

</div>

Hallo, hab zwar noch keine Artikel über die RestAPI angelegt - erst demnächst. Aber probier doch mal folgendes: ` ... "categories":[1258], ... ` Du kannst ja einen Artikel mehreren Kategorien zuweisen und shopware erwartet da so wie ich das sehe ein Array mit einer oder mehrere Kategorien.

---

<div class="post-metadata">

**Author:** ![ecomai](https://avatars.discourse-cdn.com/v4/letter/e/8e8cbc/32.png) [@ecomai](https://forum.shopware.com/u/ecomai)\
**Post date:** [9. Januar 2013 um 14:05 UTC](https://forum.shopware.com/t/rest-api-kategorie-fur-artikel-setzen/10648/4 "2013-01-09T14:05:55Z")

</div>

Dein Code sieht mir nach einem JSON-String aus. Kann man den auch direkt übergeben? Categories muss ein verschachteltes Array sein, jede ID kriegt ein Array: ` $client-\>call('articles', ApiClient::METHODE\_POST, array( 'name' =\> 'Ghostbusters Poster', 'taxId' =\> 1, 'categories' =\> array( array('id' =\> 1258) ), 'mainDetail' =\> array( 'number' =\> '1435' ) )); `

---

<div class="post-metadata">

**Author:** ![roecki](https://avatars.discourse-cdn.com/v4/letter/r/7cd45c/32.png) [@roecki](https://forum.shopware.com/u/roecki)\
**Post date:** [11. Januar 2013 um 15:03 UTC](https://forum.shopware.com/t/rest-api-kategorie-fur-artikel-setzen/10648/5 "2013-01-11T15:03:43Z")

</div>

Danke, genau das war’s. Die eckigen Klammern, die ein Array definieren, fehlten. `{ "name": "Speed 7 Jacke Kansas - grau", "descriptionLong": "Winddichte Windjacke", "mainDetail": { "number": "VAR1000", "inStock": "9", "prices": [{ "customerGroupKey": "EK", "price": "149", "from": "1" }] }, "active": "1", "tax": "19", "supplier": "Speed 7", "categories": [{ "id": "206" }], ... ` Ja, wir übergeben den JSON String direkt von .NET / C# aus. Gruß, Anton

---

<div class="post-metadata">

**Author:** ![schwindt\_mg](https://avatars.discourse-cdn.com/v4/letter/s/ecccb3/32.png) [@schwindt\_mg](https://forum.shopware.com/u/schwindt_mg)\
**Post date:** [22. Februar 2013 um 09:05 UTC](https://forum.shopware.com/t/rest-api-kategorie-fur-artikel-setzen/10648/6 "2013-02-22T09:05:23Z")

</div>

Hallo roecki, ich habe gerade genau die gleiche Anforderung. Ich will einen Artikel aus .Net über die REST-API anlegen. Jedoch kriege ich es nicht hin den JSON String so zu übergeben, dass die REST-API diesen annimmt. Wie hast du das denn gemacht?☹ Kannst du mir hier eventuell einen Tipp geben? Vielen Dank vorab.

---

<div class="post-metadata">

**Author:** ![roecki](https://avatars.discourse-cdn.com/v4/letter/r/7cd45c/32.png) [@roecki](https://forum.shopware.com/u/roecki)\
**Post date:** [25. Februar 2013 um 17:19 UTC](https://forum.shopware.com/t/rest-api-kategorie-fur-artikel-setzen/10648/7 "2013-02-25T17:19:34Z")

</div>

Hallo, mit der .NET HttpWebRequest Klasse kann das Json übertragen werden. Die Method-Eigenschaft muss entsprechend gesetzt werden (POST, PUT, DELETE). In der Credentials Eigenschaft müssen die Zugangsdaten übergeben werden. Evtl. muss auch ContentType gesetzt werden (application/json). Gruß, Anton

---

<div class="post-metadata">

**Author:** ![pschmolz](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/pschmolz/32/73_2.png) [@pschmolz](https://forum.shopware.com/u/pschmolz)\
**Post date:** [22. April 2013 um 16:42 UTC](https://forum.shopware.com/t/rest-api-kategorie-fur-artikel-setzen/10648/8 "2013-04-22T16:42:52Z")

</div>

Hallo roecki (oder wer auch immer eine Antwort liefern kann) ich versuche genau das selbe und bekomme es einfach nicht hin. Also Artikel per HttpWebRequest ([vb.net](http://vb.net)) an shopware übertragen. Ich bin mir jedoch nicht sicher wo es klemmt. Folgendes gibt mein Response zurück: Hallo roecki (oder wer auch immer eine Antwort liefern kann) ich versuche genau das selbe und bekomme es einfach nicht hin. Also Artikel per HttpWebRequest ([vb.net](http://vb.net)) an shopware übertragen. Ich bin mir jedoch nicht sicher wo es klemmt. Folgendes gibt mein Response zurück: sServerResponse = "  
**Fatal error** : Call to a member function getNumber() on a non-object in **/bd1f98e8198c1c609e34ab73a16373d4/www/engine/Shopware/Components/Api/Resource/Article.php** on line **618**  
" Bin leider überfragt, mach ich was falsch? ist irgendwas falsch eingerichtet. Benutze für meinen Test einen Demoshop
