Непосредственно в Magento Community Edition реализовано 3 сценария, где происходит добавление товаров в базу данных интернет-магазина.
1) сценарий добавления товара в интернет-магазин
вручную администратором:
Mage_Adminhtml_Catalog_ProductController::saveAction()
2) сценарий программного удалённого добавления товара в интернет-магазин администратором по протоколам
SOAP / XML-RPC:
версия 1:
Mage_Catalog_Model_Api2_Product_Rest_Admin_V1::_create()
версия 2 (по стандарту WS-I):
Mage_Catalog_Model_Product_Api_V2::create()
3) сценарий
пакетного импорта товаров в интернет-магазин
из файлов CSV / Excel:
версия 1 (по технологии Magento Dataflow):
Mage_Catalog_Model_Convert_Adapter_Product::saveRow()
версия 2 (появилась в ядре Magento позднее как ускоренная альтернатива Magento Dataflow, работает с БД на низком уровне, для первоначального обучения не рекомендую):
Mage_ImportExport_Model_Import_Entity_Product::_saveProductEntity()
В Российской сборке Magento (платная, но исходный код полностью открыт), в дополнение к сценариям Magento Community Edition, имеется сценарий импорта товаров из учётных систем «
1C: Управление торговлей» и «
МойСклад», полностью подходящий под Ваше описание:
товары будут приходить на сервер в zip архиве, который будет открываться и из него выбираться все нужное - данные и изображения
импорт простых товаров реализован в методе:
Df_1C_Model_Cml2_Import_Processor_Product_Type_Simple::process()
импорт сложных товаров (товаров с настраиваемыми опциями, в разрезе которых ведётся отдельный складской учёт):
Df_1C_Model_Cml2_Import_Processor_Product_Type_Configurable::process()