# API Artikel IMPORT mit CSV Datei

**URL:** <https://forum.shopware.com/t/api-artikel-import-mit-csv-datei/11643>\
**Category:** Shopware 3.5\
**Tags:** programming\
**Created:** [16. Februar 2013 um 17:08 UTC](https://forum.shopware.com/t/api-artikel-import-mit-csv-datei/11643 "2013-02-16T17:08:32Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![qwerkopf1](https://avatars.discourse-cdn.com/v4/letter/q/ccd318/32.png) [@qwerkopf1](https://forum.shopware.com/u/qwerkopf1)\
**Post date:** [16. Februar 2013 um 17:08 UTC](https://forum.shopware.com/t/api-artikel-import-mit-csv-datei/11643/1 "2013-02-16T17:08:32Z")

</div>

Servus, versuche gerade mittels der API Beschreibung einen Import von Artikel & Katehorien durchzuführen. Habe mehr als 500 Kategorien, und 10.000 Artikel. Das Backend raucht natürlich dementsprechend ab, auch wenn ich meine csv Daten auf max. 100 Einträge beschränke. Jetzt versuche ich`s über die API. Ein Tutorial gibt ja [hier](http://wiki.shopware.de/API-Beispiele%5C_detail%5C_229%5C_437.html) Ich nutze die Shopware Version 4.6 und das Tutorial bezieht sich auf die Version 3. Der Import funktioniert nur leider nicht. Hab den Code mittels Forenbeiträge abgeändert in: [code]\<?php error\_reporting(E\_ALL);  
ini\_set(“display\_errors”,1);  
set\_time\_limit(1000);  
ini\_set(‘memory\_limit’,‘512M’);

$api = Shopware()-\>Api(); $import = $api-\>import-\>shopware; $csv = $api-\>convert-\>csv; $mapping = $api-\>convert-\>mapping; $csv-\>sSettings[‘separator’] = “;”; // Feld-Trennzeichen in der CSV-Datei #$import-\>sDeleteAllArticles(); // Alle Artikel vor dem Import löschen #$import-\>sDeleteAllCategories(); // Alle Kategorien vor dem Import löschen $data\_path = $api-\>load(“[http://www.XXXXXX.de/import/test.csv](http://www.XXXXXX.de/import/test.csv)”); $articles = $api-\>convert-\>csv-\>decode($data\_path); // Zuordnung der Felder zwischen CSV-Datei und Shopware Datenbank $mappingmask = array ( “name”=\>“Artikelname”, “ordernumber”=\>“Bestellnummer”, “price”=\>“Verkaufspreis”, “supplier”=\>“Hersteller”, “baseprice”=\>“Einkaufspreis”, “instock”=\>“Bestand”, “active”=\>“Aktiv”, “description\_long”=\>“Langbeschreibung”, “description”=\>“Kurzbeschreibung”, “Bild1”, “Bild2”, “Kategorien” ); // Maske anwenden $mappingmask = $mapping-\>prepare\_mask ($mappingmask); foreach ($articles as $article) { $article\_data = $mapping-\>convert\_line($mappingmask, $article, true); // Stammdaten $article\_insert = $import-\>sArticle($article\_data); // Einfügen der Artikel-Stammdaten $article\_data = array\_merge($article\_data,$article\_insert); // Bild-Import $import-\>sDeleteArticleImages(array(“articleID”=\>$article\_data[“articleID”])); $images = $api-\>load($article\_data[“Bild1”]); $images = $api-\>load($article\_data[“Bild2”]); foreach ($images as $image){ $import-\>sArticleImage(array(“image”=\>$image,“articleID”=\>$article\_data[“articleID”])); } // Kategorien/Warengruppen $category\_insert = array(); $categories = explode("|",$article\_data[“Kategorien”]); foreach ($categories as $category){ if (empty($cat)) $cat = 3; $cat = $import-\>sCategory(array(“description”=\>$category,“parent”=\>$cat)); $categories\_insert = $cat; $catids = $import-\>sArticleCategory ($article\_data[“articleID”], $cat); } $import-\>sDeleteOtherArticlesCategories($article\_data[“articleID”], $catids); $articles\_insert = $article\_insert[“articledetailsID”]; // Preise $customergroup = “EK”; $tax = $article\_data[“tax”]; $price = array( “price” =\> $article\_data[“price”], “articledetailsID” =\> $article\_data[“articledetailsID”], “pricegroup” =\> $customergroup, “tax” =\> $tax, “baseprice”=\>$article\_data[“baseprice”] ); $import-\>sArticlePrice($price); } // Aufräumen //$import-\>sDeleteOtherCategories (array\_unique($categories\_insert)); //$import-\>sDeleteOtherArticles ($articles\_insert); // Alle nicht im Import vorkommenden Artikel löschen $import-\>sDeleteCache(); // Shopcache leeren ?\> [/code] vielleicht hat einer von euch schon einen Import mittels der API in Schopware 4 gemacht. Wäre sehr dankbar über jede Hilfe. Sebastian
