Тип импорта

Путь

Загружает файл импорта по внешней или внутренней ссылке

Настройки пути
  • URL или путь на сервере - url адрес к файлу (например внешний сайт https://site.ru/file.csv или файл на вашем же сервере /upload/file.csv)

Почта

Загружает файл импорта из почты по IMAP

Настройки почты
  • Адрес сервера - адрес серера почты (например для Яндекс imap.yandex.ru)

  • IMAP порт - порт соединения (например для Яндекс 993)

  • Имя пользователя - имя пользователя почты (например для Яндекс [email protected])

  • Пароль - пароль пользвателя почты (например пароль от почты или пароль приложения)

  • Email отправителя - почта отправителя, по которой будет отбор писем

  • Имя папки в почте - название папки почты откуда брать письма (по умолчанию это корень), для скорости загрузки, прайсы лучше складывать каждый в свою папку поставщика

FTP

Загружает файл импорта по FTP

Настройки FTP
  • Имя хоста - адрес хоста (IP или домен без протокола)

  • Порт - порт соединения (например 21)

  • Имя пользователя - логин для авторизации

  • Пароль - пароль для авторизации

  • Имя папки - название папки соединения (по умолчанию это корень)

  • Имя файла - название файла для скачивания

API

Пользовательская загрузка файла импорта через Ваш обработчик (для API не используются настройки типа файла)

Настройки API
<?php

class ASMP_MegaImport_Handler7 extends ASMP_MegaImport_Controller
{
	public function getItems()
	{
	    // указываем какие поля обновляем
	    $this->updateFields = array(
		0 => array(
			'name' => 'name',
			'image' => 'image',
			'props' => 'props',
		)
	    );
	
	    // тут ваша логика получения данных из сервиса
	    $oCore_Http = Core_Http::instance()
		->url($this->path)
		->method('GET')
		->timeout(10)
		->execute();
		
	    $data = json_decode($oCore_Http->getDecompressedBody());
	
	    if(is_object($data) && isset($data->products))
	    {
		 foreach ($data->products as $product)
		 {
		      $this->total++;
		
		      $oObject = new StdClass();
		      $oObject->marking = $product->code;
		      $oObject->name = $product->name;
		      $oObject->producer = 'Samsung';
		      
		      // добавление доп. свойства
		      $oParam = new StdClass();
		      $oParam->id = 123; // или $oParam->name = "Цвет";
		      $oParam->value = $product->color;
		
		      $oObject->props[] = $oParam;
	              
		      // добавление изображения
		      $oObject->image[] = $product->image;
		      
		      // import
		      $oShop_Item = $this->_importItem($oObject, $product);

		      if($oShop_Item === FALSE)
			   return $this;
		 }
	    }
	
	    $message = sprintf('%s: total %d', __FUNCTION__, $this->total);

	    ASMP_MegaImport_Log_Controller::instance()
		->status(ASMP_MegaImport_Log_Controller::$MESSAGE)
		->entity($this->ASMP_MegaImport_Log)
		->write($message);

	    return FALSE;
	}
}

Last updated