rest api: обновление статьи с помощью csv

Я хочу использовать остальные api для обновления моих статей с помощью файла csv.

ручное перекодирование apdate по этой ссылке здесь работает: https://developers.shopware.com/developers-guide/rest-api/examples/batch/.

но как я могу загрузить свой файл csv?

Я использую только ссылки ниже, которые немного старше: https://forum.shopware.com/discussion/11727/api-artikel-import-mit-csv-datei https://forum.shopware.com/discussion/15796/lagerbestand-abgleich-csv-mit-hilfe-von-api

$api = Shopware()->Api(); 
...
$data_path = $api->load("http://www.XXXXXX.de/import/test.csv";

это не работает в магазине 5


person Markus Dübbert    schedule 07.09.2017    source источник


Ответы (1)


Прежде всего Rest API - это API, который должен вызываться по URL с параметрами. Вы не можете напрямую создать его в своем PHP-коде. Он используется, если вы хотите, чтобы другое программное обеспечение подключалось к магазину.

В твоем случае есть другой способ. Вы можете использовать ресурсы, которые API также использует для внутренних целей.

$manger = new \Shopware\Components\Api\Manager();   
$resource = $manger->getResource('Article');
foreach ($csvRows as $row){
   // create an array for the csv > article mapping
   $data = [];
   $data['name'] = $row['csv_row_name'];
   // do all mappings into the data array
   // ....
   // create the article from that array    
   $article = $resource->create($data);
} 

В этой документации вы можете увидеть, какие поля необходимы в массиве $ data для успешного создания статьи https://developers.shopware.com/developers-guide/rest-api/api-resource-article/

person wheeler    schedule 09.09.2017